uldaqrs
Safe Rust bindings for the uldaq library, used for interacting with Measurement Computing / Data Translation DAQ devices (e.g. the DT9837 series) on Linux.
This crate provides a safe, ergonomic API on top of the raw FFI bindings in
uldaq-sys:
- Device enumeration:
get_device_inventory() - RAII device handle:
DaqDevice(auto disconnect/release on drop) - Continuous input/output scans with
f64data and transfer status polling
It is not supposed to be used directly, but instead it is an optional dependency of LaspRS.
For documentation of the underlying library, please have a look at the upstream code.
Repository layout
This repository is a Cargo workspace with two crates:
| Crate | Description |
|---|---|
uldaq-sys |
Raw, unsafe FFI bindings (compiles and links the vendored uldaq C++ library). |
uldaqrs |
Safe wrapper around uldaq-sys. |
Prerequisites
This crate requires libusb-1.0 to be installed on your computer and is
currently only working on Linux systems. Only tested on Linux Mint 22.1 xia.
Install the libusb library and header files with:
Building
Updating the vendored uldaq source
uldaq-sys compiles the uldaq library from the source vendored in
uldaq-sys/uldaq (MIT licensed). To refresh it from a checkout of the
ASCEE uldaq fork (or the upstream
repository), run: