Programming problems with a 3206

Post general discussions on using our drivers to write your own software here
Post Reply
rranwez
User
User
Posts: 3
Joined: Mon Jan 15, 2007 9:33 pm
Location: Belgium

Programming problems with a 3206

Post by rranwez »

Hi,

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,
Ray

ziko
Advanced User
Advanced User
Posts: 1705
Joined: Fri Dec 01, 2006 10:03 am
Location: St Neots

Post by ziko »

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
Ziko

Technical Specialist

Post Reply