Test and Measurement Forum

Continuous Streaming mode with PicoScope 4424

Post your C and C++ discussions here

Continuous Streaming mode with PicoScope 4424

Postby MkUrbs » Tue May 08, 2018 3:26 pm

I'm writing to get some advice on the use of PicoScope 4424 in streaming mode.

What I need in the ideal case would be:
- continuous streaming (no dead time) for a long time ~30 min.
- maximum sampling rate as possible (at least 5MS/s, no shared) for 4 channels.
- no aggregation.

..and seems to be possible obtain those performances according to:
https://www.picotech.com/library/oscill ... aming-mode

What I already obtained modifying the provided examples in C is:
- A Loop of multi-buffers writing in streaming mode (max buffer's length: 4.0 s at 5MS/s -> 20MS/ch ) dead time (~1.2 s) without aggregation.

But it is not very satisfying because I lose more or less the 20-25% of the data due to the rearm delay (dead time).
If I ask more, setting the parameters (set higher sampling rate or longer buffer) it starts and then freezes.

My questions are:
1) Is it possible to get a continuous streaming (no dead time) with a high sampling rate ( >=5MS/s)?
How can I do that?
2) Is it possible obtain larger buffers in streaming mode? [My current max buffer size (working) is 4x 20MS= 80MS at 5MS/s (4 sec).]
3) Is it common to have a rearm time of ~1.2 s? How can I reduce it?

Thank you!
Posts: 0
Joined: Mon May 07, 2018 6:11 pm

Re: Continuous Streaming mode with PicoScope 4424

Postby Hitesh » Fri May 11, 2018 11:15 am

Hi MkUrbs,

What parameters are you setting for the call to ps4000RunStreaming()?

The driver will allow a maximum sampling rate of 5 MS/s with all 4 channels enabled in streaming mode. If you are setting the number of pre- and post-trigger samples to total the amount of samples in 30 minutes, try setting a smaller number of samples but set the autoStop parameter to false. You can then the total number of samples in your code and stop when you reach 30 minutes worth of data.

Lost data can occur if your application is not retrieving data quickly enough from the driver. Your overview buffer size should be large enough to accommodate the number of samples collected per channel in one iteration of your data collection loop.

When you refer to re-arm time, are you stopping and restarting data capture?


Technical Support Engineer
Site Admin
Site Admin
Posts: 2715
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Return to C and C++

Who is online

Users browsing this forum: No registered users and 0 guests