use serialport::prelude::*;
use simple_logger;
use std::time::Duration;
use serial_frame::{create_line_sender};
fn main() {
let serialport: Box<dyn SerialPort> = init();
let (rx, linestop) = create_line_sender(serialport).unwrap();
while let Ok(line) = rx.recv_timeout(Duration::from_secs(2)) {
println!("line is: {}", line);
}
let e = linestop.stop();
println!("Stop: {:?}", e);
}
fn init() -> Box<dyn SerialPort> {
simple_logger::init_with_level(log::Level::Debug).unwrap();
let mut settings: SerialPortSettings = Default::default();
settings.timeout = Duration::from_millis(100);
let baudrate = 115200;
settings.baud_rate = baudrate;
let serialport = serialport::open_with_settings("/dev/ttyACM0", &settings).unwrap();
serialport
}