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