C++ support for PCSU1000

I have written a small C++ class wrapper which simplifies access to the PCSU1000D and DSOLINK DLLs. A testbed project, written in Borland BDS2006 C++ is included, although the implementation is intended to be compiler-agnostic. It can be downloaded from:

http://www.innovative-dsp.com/ftp/Work/Pcsu1000.zip

The beta version below supports the new features of the DLL described in this thread.

http://www.innovative-dsp.com/ftp/Work/Pcsu1000_beta.zip

Cheers.

[size=84]<edit: corrected ZIP contents, added minimal docs in PCSU1000.cpp, 12:16pm 1/8/07>[/size]
[size=84]<edit: uploaded new version with support for latest DLL features, 08:16pm 1/13/07>[/size]

Thank you for this nice piece of software!
I’ll check it out soon.

In my use of the PCSU1000, adding a delay of approximately 100 mS following use of a most of the DLL calls seems necessary. For instance, when changing volts/division or time/division, the instrument appears to program some switches in order to enter the new measurement mode which is a fairly time-consuming task. I understand this requirement and I it is perfectly reasonable that these sorts of operations may take appreciable time to execute.

However, I submit that waiting for the instrument to complete each requested function should be the responsibility of the DLL, not the application code. Within the DLL, you have greater visibility into the low-level machine state. In some cases, it may be possible to poll the actual machine state to determine when an operation has completed. When that is not feasible, the DLL could code a worst-case delay to insure that the operation has completed. The duration of these delays could be be tailored for each operation to optimized performance.

Agreed, the provided api should block the current thread for as long as needed until another operation can be executed.

I neglected to add the Borland example source to the earlier upload. This is now corrected.

Thanks for sharing this code. Might be a starting point for me to set up my own view.

Best rgds,

–Geert