bennjii / ljm-rs

LabJack LJM Binding for Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ljmrs

A rust library which allows you to connect with the LabJack T7 and T8 series through the C/C++ Bindings. This is a rust abstraction layer for stronger types and safety.

You can install the crate with:

cargo add ljmrs

Types are provided for LabJack error codes, as a return value for each function.

Documentation is supported around the wrapper. To find equivalent functions of LJM functions, use search and enter the LJM function name.

Support

This does not support every function yet, you are welcome to create a PR to add any functions you want.

The official documentation from LabJack is found here. ljm-rs simply provides abstraction to the C/C++ library, through the libloading crate.

Examples

Examples are found in the /examples folder. To try an example, run the following:

cargo run --example <example_name>

For example:

# cargo run --example info
Opened LabJack, got handle: 1
Got IP, 109.61.99.68

Addendum

Note, running on MacOS with an ARM CPU requires newer versions of LabJack software, found here. Alternatively, you can use Rosetta 2 with older software, and the following command:

cargo build && arch -x86_64 ./target/x86_64-apple-darwin/debug/ljm-rs

About

LabJack LJM Binding for Rust

License:GNU General Public License v3.0


Languages

Language:Rust 100.0%