1 stable release
1.0.0 | Oct 18, 2024 |
---|
#758 in Hardware support
92KB
1.5K
SLoC
nlabapi
Low-level software interface for nLab devices
lib.rs
:
This crate provides an interface to the nLab
Usage
This crate is on crates.io and can be
used by adding nlab
to the dependencies in your project's Cargo.toml
.
Example
extern crate nlabapi;
use nlabapi::LabBench;
fn main() {
// Create a LabBench
let bench = LabBench::new().expect("Cannot create LabBench");
// Print the bench to show a list of detected nLabs
println!("{:?}", bench);
// Open an nLab
let nlab = bench.open_first_available(true).expect("Cannot open nLab");
// Turn on analog output channel A1
nlab.a1.turn_on();
// Trigger an auto-triggered sweep of 20 samples at 4.0 Hz sample rate
let sweep_handle = nlab.request(4.0, 20, None);
// Loop through the received data, blocking on each sample until it arrives
for sample in sweep_handle.receiver {
// Print the sample data
println!("{:?}", sample.data);
}
// Turn off the analog output channel A1
nlab.a1.turn_off();
}
Dependencies
~4–16MB
~160K SLoC