list_instruments/
list_instruments.rs

1use rusb;
2use std::error::Error;
3use std::time::Instant;
4use tmc::list_instruments;
5
6fn main() -> Result<(), Box<dyn Error>> {
7  let context = rusb::Context::new()?;
8
9  let timer = Instant::now();
10  let instruments = list_instruments(context)?;
11
12  if instruments.len() == 0 {
13    println!("no instruments found");
14  } else {
15    for mut instrument in instruments {
16      println!("Found instrument: {}", instrument.read_resource_string()?);
17
18      let handle = instrument.open()?;
19      println!("    USBTMC: {:?}", handle.usbtmc_capabilities);
20      println!("    USB488: {:?}", handle.usb488_capabilities);
21      println!("    SCPI ID: {:?}", handle.scpi_id);
22      println!("    PULSE result: {:?}", handle.pulse());
23    }
24  }
25
26  println!("Time elapsed: {:?}", timer.elapsed());
27  Ok(())
28}