Everything works nicely at up to around 8M samples but it doesn’t seem to work above that. It will work in streaming mode but not block mode.
I have tried setting the memory segments to 1 it returns that there are 16777010 samples available in the segment.
Then when I call RunBlock in the wrapper DLL and set pre triggered to 0 and post triggered to 8388506 (half the available points +1) it returns error code 14 PICO_INVALID_TIMEBASE. It works with a value of 8388505(half the available points).
I have also tried setting channel B to disable that didn't change it. I have not set up any triggering if that would make a difference.
I was using is PS4000sdk_r10_4_3_1, I have just tried PS4000sdk_r10_5_0_11 the same happens
I couldn't see a change log for the new SDK though, apologies if I just missed it.
Is this a limit/ bug or have I just missed something?
A related question
When using streaming mode dose the scope buffer it though the internal memory at all?
If so as I am within the memory limits of the scope? I could use that and not worry about PC performance.
If it helps I have included the section of code in question.
Any help would be greatly appreciated.
Code: Select all
Call ps4000SetChannel(Unit.handle, 0, 1, 1, 4)
Unit.STATUS = ps4000MemorySegments(Unit.handle, 1, retval)
Call ps4000SetDataBuffer(Unit.handle, 0, Values_a(0), no_of_samples)
Unit.STATUS = RunBlock(Unit.handle, 0, no_of_samples, 9, 0, 0)
If Not Unit.STATUS = PICO_OK Then
MsgBox "error: " & GetErrMsg(Unit)
While IsReady4000(Unit.handle) = 0