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:
parent
2aaebbf883
commit
4edd0ffff0
1 changed files with 19 additions and 5 deletions
24
src/bin.rs
24
src/bin.rs
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue