Test and Measurement Forum

Programming problems with a 3206

Post general discussions on using our drivers to write your own software here

Programming problems with a 3206

Postby rranwez » Fri Feb 09, 2007 6:13 pm


I would like to discuss a few problems I had with the programming in C++ for the Picoscope 3206.

1. In the user guide (PS3000044-1.5) page 5, about the general procedure for reading and displaying data in ETS mode, it is said to repeat steps 5 (ps3000_run_block) to 8 (display the data) to use the ETS mode. Nevertheless, it seems mandatory to include step 4 (ps3000_set_ets) in the loop otherwise the Picoscope hangs after a few seconds. Am i correct here ?

2. The same procedure does not mention the call to ps3000_get_timebase. Is it an omission ?

3. I have a problem with the calculation of the Time Units. It seems that at high speed, the time_units value returned by ps3000_get_timebase is fsec instead of psec, or psec instead of usec. Did you experience this too ? Also, what is the procedure to calculate the full duration of the recording since the time interval is rounded to integer values ?

4. The data received with ETS does not seem to be sorted with the time channel (sometimes, not always). Should it be sorted ? Here is an exemple of what I get:
Time Ch A data
-46 20804
-44 21844
-44 21844
-36 26785
-44 21844
-36 27045
-34 27305
-34 27825
-26 25225
-34 27305
-26 26265
-24 25225
-24 25225
-16 17943
-24 25225
-16 17683
-14 16123
-14 16123
-6 4420
-14 16123
-6 4420
-4 1820
-4 2080
3 -10142

Thanks for your help,
Posts: 3
Joined: Mon Jan 15, 2007 9:33 pm
Location: Belgium

Postby ziko » Thu Mar 15, 2007 9:18 am

Hi and thank you for your post. I forwarded your query to one of our software developers, to answer your questions:

1. You are correct it does hand. There is a documentation error here: you should repeat step 6-8 as necessary. There is no need to call run to get new ets data.

2. ps3000_get_timebase is not required for ets mode.

3. Another documentation error: time_interval is always in ns. time_units are the smallest time units that can be used without the values overflowing.

ps3000_set_ets returns the sample interval in ps. You can multiply this number by the number of samples to get the total collection time. Bear in mind that this is an effective sample rate and so the effective interval is approximate.

4. I cannot repeat this.

Hope this helps.

Kind regards

Technical Specialist
Zen Master
Zen Master
Posts: 1705
Joined: Fri Dec 01, 2006 10:03 am
Location: St Neots

Return to General Software Discussions

Who is online

Users browsing this forum: No registered users and 1 guest