I am building a MATLAB GUI to do data collection from a Tektronix DPO4104 oscilloscope (MATLAB driver here).
I am playing around with tmtool
and with my GUI code and have found that the driver can only collect 10,000 data points, regardless of if the oscilloscope is set to show more than 10k points. I found this post on in CCSM but it hasn't been terribly helpful. (I'm the last post on there if you care to read it.) I am using the DPO4104 driver, whereas this post discusses use of the DPO4100 driver, I believe.
As far as I can tell, the steps are:
- Edit driver's
readwaveform
function to account for the currentrecordLength
- in my case, 100,000 points, say. - Manually edit the driver's
MaxNumberPoint
from 10,000 to 100,000. (In my case, the default number was 0.. I changed this to 100,000). - Manually edit
EndingPoint
. I set this to 100,000 also. - Before creating a device object,
set(interfaceObj, 'InputBufferLength', 2.5*recordLength)
, that is, make sure the input buffer can fit more than 100,000 points. It's recommended to use at least double the expected buffer. I used 2.5 just because. - Build device object and waveform object,
connect()
to it, andreadwaveform
. Profit.
I am still unable to collect more than 10,000 points, either through tmtool
or through my GUI. Any help would be appreciated.