// Prevents additional console window on Windows in release, DO NOT REMOVE!! #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] extern crate serial; use std::io; use std::str::from_utf8; use std::time::Duration; use serial::prelude::*; fn main() { booklooker_lib::run(); let mut port = serial::open("/dev/ttyACM0").unwrap(); interact(&mut port).unwrap(); } fn interact(port: &mut T) -> io::Result<()> { port.reconfigure(&|settings| { settings.set_baud_rate(serial::Baud9600)?; settings.set_char_size(serial::Bits8); settings.set_parity(serial::ParityNone); settings.set_stop_bits(serial::Stop1); settings.set_flow_control(serial::FlowNone); Ok(()) })?; port.set_timeout(Duration::from_millis(1000000000))?; loop { let mut buf: &mut [u8; 14] = &mut [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; let output = String::new(); port.read_exact(buf); /* for i in buf.iter() { let output = format!("{output} {}", i); }*/ println!("{}", from_utf8(buf).unwrap()); } }