MatrixCow,
First off which issues are you having with the get_values function? I am assuming you are having issues with the scaling. The driver normalizes all readings to 16 bits, regardless of the vertical resolution of the oscilloscope. The values returned from the get_values function will vary between -32768 and 32767. -32768 will be outputed if you are overrunning the buffer, for example if you are on the 2V scale but are inputting a 5V signal. -32767 is the negative full scale, 0 is zero volts, and 32767 is the positive full scale. So for example if you are on the 2V scale, -2V is -32767 and +2V would be outputed as 32767. To change this to mV you take the raw value, times it by the voltage scale you are using (so 2V scale you would times it by 2, 500mV scale by .5 and so on) and then divide this value by 32767.
At which call is the error occuring with the ps2000_get_times_and_values function?
Measurements such as pusle width, frequency etc are all derived by applying math in the program to the raw mV and time values returned from the PicoScope. All these calcuations are done by the computer and not the scope itself. To obtain these values you will have to write code for them. Is there a specific reason why PicoScope 5 or 6 will not work for what you are doing? These measurements are avaliable with a click of the button in this software.
Regards,
Richard Boyd
Crag Technologies, Inc
http://www.pc-oscilloscopes.com