use instrumentrs::SerialInterface;
use digoutbox::DigOutBox;
fn main() {
let port = "/dev/ttyACM0";
let baud = 9600;
let serial_inst = SerialInterface::simple(port, baud).expect("Failed to open serial port");
let mut inst = DigOutBox::new(serial_inst);
println!("Instrument name: {}", inst.get_name().unwrap());
for i in 0..10 {
let mut channel = inst.get_channel(i).unwrap();
channel.set_output(true).unwrap();
}
let mut ch7 = inst.get_channel(7).unwrap();
let ch7_status = ch7.get_output().unwrap();
println!("Channel 7 output status: {ch7_status}");
ch7.set_output(!ch7_status).unwrap();
println!(
"Channel 7 output status after toggle: {}",
ch7.get_output().unwrap()
);
println!(
"All output are set do: {:?}",
inst.get_all_outputs().unwrap()
);
println!("Interlock status: {}", inst.get_interlock_status().unwrap());
println!(
"Software control status: {}",
inst.get_software_control_status().unwrap()
);
}