I wanna measure 10 seconds and in this 10 seconds there is a unknown amount of trigger events. Each trigger event i have to sample with 8ns, and the duration of the measurement is 20µs. So I have around 2500 Samples per Trigger event. What i wanna make is for example 1000 segments with each 2500 samples. Is this possible? because i tried the GetValuesBuffer() command and there i can not read more than 128 segments at once. So how can i get the rest of the segments?
Is it also possible to read the saved values when the 10 seconds are over but i did´t get 1000 trigger events?
If you are using rapid block mode, you can only access the data once collection is complete and you need to specify the number of captures in advance. Any calls to GetValues or GetValuesBulk will read the data from the device, which is available until you call Run again.
You will only be able to access as many segments as trigger events have occurred.
Do you need to use rapid block mode or can you use normal block mode?
Yes, I think that I have to use the rapid block mode (minimum time between two measurements is 2.5 µs in block mode, isn´t it?) that I can measure one pulse after another and save every pulse in a single segment.
Can I read with GetValuesBulk all segments which saved data at once or just a certain amount? Or do I have to use GetValues in a loop to read the data?
You will only be able to access as many segments as trigger events have occurred.
So its possible to stop capture and read the segments even when the set amount of captures is not reached?
You can't get the data until all of your captures are complete. If you stop the capture early, you won't be able to get the data.
If it's a feature that you require (to be able to abort the collection and access however many captures have been acquired), we may be able to add it to the driver.
Can I read with GetValuesBulk all segments which saved data at once or just a certain amount? Or do I have to use GetValues in a loop to read the data?
You can do either. GetValuesBulk can be used to get all or a subset of the captures. GetValues can be used to retrieve one capture at a time.
Yes, thats a feature which i would need.
To capture so long until I have all my set captures or to stop the capture after a certain time (or another reason) and read then all the captures, even when the amount is not the same as the set amount.
So if it´s not a big deal do add this to the driver, it would be very nice.
Is it possible in rapid block modus to count the trigger events and then transfer the counter value + a reference time while I´m capturing to the PC so that I know while I´m measuring how many events occur?
We have looked in to this and unfortunately it cannot be easily done. This is because device only tells the driver when all segments have been captured. Therefore, it is not possible to do this without changing the way the scope works.
when I set, for example, 500 captures and the autoTrigger_ms time to 120 (120ms) and I make sure that I don´t have any triggers on my Hardware (I checked this, I set the autoTrigger_ms to NULL and nothing was captured) I was expecting a capture time of 60s (120ms*500=60s) but all captures were complete after under 40 seconds.
Did I make something wrong? Or has it maybe something to do that I use the 4227 PicoScope?