mirror of
https://github.com/icewind1991/mhz19-rs
synced 2026-06-04 01:54:10 +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 mhz19::MHZ19;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
|
use std::ffi::OsStr;
|
||||||
|
|
||||||
|
const DELAY: Duration = Duration::from_secs(1);
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let mut mhz19 = MHZ19::open("/dev/ttyUSB0").unwrap();
|
|
||||||
let delay = Duration::from_secs(1);
|
|
||||||
loop {
|
loop {
|
||||||
let value = mhz19.read().unwrap();
|
listen("/dev/ttyUSB0");
|
||||||
println!("{}", value);
|
sleep(DELAY);
|
||||||
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