The Universal Library API for Linux is an MCC developed and tested library that supports our most popular devices.
No, the DT9834 is not supported in UL for Linux. The only Data Translation products supported are the DT9837A/B/C.
At this time, there are currently no plans to add Linux support for the USB-2404-UI.
The a_in_scan.py example demonstrates 4 channels sampled into a circular buffer that holds 10 seconds of data. This circular buffer will “roll over” (begin to be overwritten) every 10 seconds. The UL for Linux will fill this buffer forever, and if it (or the DAQ hardware) falls behind, it will throw an error. The example program demonstrates checking the status about every 100 mS, though each time copying out just the 4 newest samples (one per channel). Your responsibility is to copy the data out of the buffer before it gets overwritten. Our driver cannot detect if you have copied the data out, or not, or twice. A good strategy is to copy out a fixed percentage of the buffer (say exactly half). Once you are done with your data analysis on that half, immediately check the status of the scan to see if the index has advanced by more than the amount you copy each time. If it did, then you have fallen too far behind.
The UL for Linux offers a higher-level API similar to our Windows UL, includes both Python and C support, with current and planned support for our most popular hardware models. Dr. Jasper’s C drivers are closer to register level, and support a wider breadth of MCC hardware.