Crate ljm

source ·
Expand description

§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.

Structs§

Enums§

Functions§

  • Takes a Modbus register name as input and produces the corresponding Modbus register.