1
0
Fork 0
mirror of https://github.com/icewind1991/mhz19-rs synced 2026-06-03 17:44:09 +02:00

reconnect after errors

This commit is contained in:
Robin Appelman 2019-09-06 12:15:13 +02:00
commit 4edd0ffff0

View file

@ -1,13 +1,27 @@
use mhz19::MHZ19;
use std::time::Duration;
use std::thread::sleep;
use std::ffi::OsStr;
const DELAY: Duration = Duration::from_secs(1);
fn main() {
let mut mhz19 = MHZ19::open("/dev/ttyUSB0").unwrap();
let delay = Duration::from_secs(1);
loop {
let value = mhz19.read().unwrap();
println!("{}", value);
sleep(delay);
listen("/dev/ttyUSB0");
sleep(DELAY);
}
}
fn listen<T: AsRef<OsStr> + ?Sized>(port: &T) {
let mut mhz19 = MHZ19::open(port).unwrap();
loop {
match { mhz19.read()} {
Ok(value) => println!("{}", value),
Err(err) => {
eprintln!("Error while reading value: {}, reconnecting", err);
return;
}
};
sleep(DELAY);
}
}