uldaq-sys
Raw FFI bindings to the uldaq C++ library, used for interfacing with Measurement Computing / Data Translation DAQ devices (e.g. the DT9837 series) on Linux.
This crate is the low-level companion of the safe uldaqrs
crate. It is not intended to be used directly. For a safe, ergonomic API,
see uldaqrs.
Important notes
The code is copied from the uldaq repository, with all net devices code removed. Secondly, it is capable of compiling under MinGW, although we still have to implement support for MSVC. This is considered (near) future work.
The vendor-uldaq.sh script now requires more manual adjustments, however, the
last change to the original repository is from 4 years ago at the time of this
commit (d.d. 2026 Aug 24th).
Building
This crate compiles and statically links the uldaq library from the vendored
source in uldaq/ (MIT licensed, Copyright (c) 2018 Measurement Computing).
The vendored copy can be refreshed with the vendor-uldaq.sh script in the
repository root.
Prerequisites:
libusb-1.0(headers and library). On Debian/Ubuntu:sudo apt install libusb-1.0-0-dev- A C++14 compiler.
Regenerating the bindings
The bindings in src/lib.rs are generated at build time by bindgen from
uldaq/src/uldaq.h; no manual editing is required.