uldaqrs 0.3.0

Safe Rust bindings for the uldaq library (Measurement Computing / Data Translation DAQ devices)
Documentation
  • Coverage
  • 100%
    50 out of 50 items documented2 out of 2 items with examples
  • Size
  • Source code size: 58.23 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.98 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 31s Average build duration of successful builds.
  • all releases: 1m 8s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • asceenl

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 f64 data 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:

sudo apt install libusb-1.0-0-dev

Building

cargo build

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:

./vendor-uldaq.sh /path/to/uldaq-checkout

Author information