39 lines
1 KiB
Rust
39 lines
1 KiB
Rust
// 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<T: SerialPort>(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());
|
|
}
|
|
}
|