The ps3000_get_timebase call to a 3206 returns time_units of 3 and a time_interval of 20480. The only reference in the documentation to the coding of time_units seems to be in the ps3000_get_times_and_values where it is stated to be micro seconds. The collected data indicates that it is nanoseconds, as a sampling interval of 20 micro seconds matches the input signal. Is the manual wrong?
One of our software engineers has tried to recreate your problem but without success, he assumed you are using time base 12 and no oversampling. Could you let me know what parameters you passed into the function.
Here are the values passed. and the values in memory after the call.
ps3000_get_timebase values (1,12,5000000,0,0,0,0) after the call the values are (1,12,500000,20480,3,0,1048511)
Thank you for your post. One of our software engineers has indeed spotted this as a mistake in the documentation.
The documentation should read:
time_interval, a pointer to the time interval, in nano seconds, between readings at the selected timebase. If a null pointer is passed, nothing will be written here.
time_units, a pointer to the most suitable time units that the results should be measured in. This is the smallest units that will not overflow a long given the no_of_samples. This value should also be passed when calling ps3000_get_times_and_values(). If a null pointer is passed, nothing will be written here.