We have an application here for the Analog Discovery where we repeatedly want to stream out a large dataset of the 16 digital channels, e.g. >= 10 s @ min. 1 MS/s (>= 5 MS/s would be best). That somewhat works now using the Record mode in the Windows SDK by polling the driver with the FDwfDigitalInStatus/FDwfDigitalInStatusData calls for flushing the device sample buffer over USB.
The issue here is that setting the device configuration to the 16 ksamples option for the logic, we have less than approx. 16 ms between driver calls @ 1 MS/s if we want to avoid overflowing the device sample buffer. That’s right down there where interruption from the Windows scheduler, and not USB bandwidth (assuming USB 2.0 Hi-Speed mode), begins to determine if the buffer overflows or not. We would welcome some option to have the driver keep stuffing USB packets down the line so the device has plenty of “slots” available to insert data, and then have the device notify back when it has transmitted all the data in the record, or timeout etc.
Apologies if this is already available and we’re just not using the SDK right. If not, it seems to us that it would greatly increase the value of the part if it wasn’t limited by the driver like this.
Question
christian
Hi,
We have an application here for the Analog Discovery where we repeatedly want to stream out a large dataset of the 16 digital channels, e.g. >= 10 s @ min. 1 MS/s (>= 5 MS/s would be best). That somewhat works now using the Record mode in the Windows SDK by polling the driver with the FDwfDigitalInStatus/FDwfDigitalInStatusData calls for flushing the device sample buffer over USB.
The issue here is that setting the device configuration to the 16 ksamples option for the logic, we have less than approx. 16 ms between driver calls @ 1 MS/s if we want to avoid overflowing the device sample buffer. That’s right down there where interruption from the Windows scheduler, and not USB bandwidth (assuming USB 2.0 Hi-Speed mode), begins to determine if the buffer overflows or not. We would welcome some option to have the driver keep stuffing USB packets down the line so the device has plenty of “slots” available to insert data, and then have the device notify back when it has transmitted all the data in the record, or timeout etc.
Apologies if this is already available and we’re just not using the SDK right. If not, it seems to us that it would greatly increase the value of the part if it wasn’t limited by the driver like this.
Thank you and best regards
Christian
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.