#c-strings #wrapper #lab-jack #idiomatic #added #complete #submit

ljm

An idiomatic Rust wrapper for the LabJack LJM library

5 unstable releases

0.3.0 Apr 15, 2024
0.2.1 Mar 6, 2024
0.2.0 Mar 6, 2024
0.1.1 Mar 5, 2024
0.1.0 Feb 8, 2024

#6 in #submit

MIT/Apache

34KB
628 lines

ljm

An idiomatic Rust wrapper for the LabJack LJM library.

This library is far from complete and functionality is added as needed. Please feel free to submit PRs expanding support for the LJM library.

Usage Requirements

Example

use std::ffi::CString;

fn main() -> Result<(), ljm::Error> {

  let handle = ljm::Handle::open(
    ljm::DeviceType::Any,
    ljm::ConnectionType::Any,
    ljm::Identifier::DemoMode
  )?;

  let name = CString::new("TEST_FLOAT32").unwrap();

  handle.write_name(&name, 3.14)?;

  let value = handle.read_name(&name)?;

  handle.close()
}

Alternative Crates

  • ljmrs offers an API through libloading that more closely mirrors the C library. The goal of this crate is to be somewhat more idiomatic and ergonomic, such as providing a Handle type that attempts to use RAII for device handles.

Dependencies

~0–1.8MB
~36K SLoC