Determine if Acquisition Complete on Pico 9000

Post general discussions on using our drivers to write your own software here
Post Reply
tim_hochberg
Newbie
Posts: 0
Joined: Thu Jan 15, 2015 5:06 pm

Determine if Acquisition Complete on Pico 9000

Post by tim_hochberg »

Hi,

I'm controlling a Pico 9201 using COM and I'm wondering if there is any way to query the scope to determine if it has finished acquiring data. Specifically, when I use averaging on the scope, if I acquire new data without waiting for a sufficient time, I get incorrect results. I'm controlling the source of the waveform I'm measuring from the same program, so I update the source, clear the scope, wait for a while, then grab the data from the scope. Essentially:

# change the source
comobj.ExecCommand("*ClrDispl")
sleep(delta_t)
waveform_data = comobj.ExecCommand(":wf:data?")
# do something with the waveform data

If I choose delta_t correctly, then this works fine. However if delta_t is chosen to be too small, `waveform_data` will be incorrect. I suspect that I need to wait till the scope has finished acquiring it's first full set of averaged data. However, I haven't been able to find a query in the Picoscope 9000 programmers guide that will let me find this information. Does anyone know of any way to determine it?

Thanks in advance.

Karunen
Advanced User
Advanced User
Posts: 194
Joined: Thu Nov 21, 2013 9:22 am

Re: Determine if Acquisition Complete on Pico 9000

Post by Karunen »

Hi Tim,

You can do this by calling

Code: Select all

comobj.ExecCommand("*STOPSINGLE SINGLE") 
This will only call a single acquisition.

Then you can call

Code: Select all

comobj.ExecCommand("*STOPSINGLE?") 
Which will return "STOP" if the acquisition is finished.
Otherwise it will return "SINGLE"

Kind Regards,
Karunen

Technical Specialist
Pico Technology

tim_hochberg
Newbie
Posts: 0
Joined: Thu Jan 15, 2015 5:06 pm

Re: Determine if Acquisition Complete on Pico 9000

Post by tim_hochberg »

Thanks Karunen, that seems to work perfectly.

Post Reply