Thanks.
Looking at the capture.py i see the code for getting a frame
while(1):
print "sfHardwareCaptureFrame - header(1024)"
ret,transfered = scopefunapi.sfHardwareCapture(ctx,frame,1024,1)
print "sfHardwareCaptureFrame - data(multiple of 1024)"
ret,transfered = scopefunapi.sfHardwareCapture(ctx,frame,40960,2)
if transfered == 40960:
It appears as we first get the header at 1024 bytes. then the frame at 40960bytes...
But only use the data when 40960 bytes were actually transferred.
What happens to the partial frames? Why discard them?
I assume getting a single frame means a complete capture from when the scope was triggered to however many samples it can store. (ignoring the offset due to pre-trigger)
That being said. why is it not always the maximum size? So that it contains the maximum number of samples?
The data also does not appear to be framed in any way. so while i get the header followed by the frame. If for some reason the data is offset I have no way of re-synchronizing to the find the next header/frame.
What am i missing here?