Expand description
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();
}
Structs§
- Analog
Input - Interface to a single scope channel
- Analog
Output - Interface to an analog output channel
- LabBench
- A representation of all the nLabs plugged into a computer
- Nlab
- Primary interface to the nLab, used to set outputs, trigger sweeps of input data on scope channels, and monitor power state
- Nlab
Link - A detected link between the computer and an nLab, used to open and retrieve an nLab
- Power
Status - Information about the power supply status of nLab
- Pulse
Output - Interface to a pulse output channel
- Sample
- Voltage information from all open channels at a given time
- Sweep
Handle - Handle to an ongoing data sweep, holds received data from nLab
- Trigger
- A representation of a trigger used to start a data sweep
Enums§
- Analog
Signal Polarity - Possible analog output polarities
- Analog
Wave Type - Possible analog output signal types
- Power
State - Possible states of the nLab power supply
- Trigger
Type - Different trigger types used to start a data sweep
Functions§
- version
- Returns the current version of the nLab API