2021-01-20 04:20:18 +01:00
|
|
|
use {
|
|
|
|
std::{
|
|
|
|
time::Duration,
|
|
|
|
thread,
|
|
|
|
},
|
|
|
|
|
|
|
|
anyhow::{
|
2021-03-07 23:04:58 +01:00
|
|
|
bail,
|
|
|
|
Context,
|
2021-01-20 04:20:18 +01:00
|
|
|
Result,
|
|
|
|
},
|
|
|
|
|
|
|
|
libdvb::{
|
|
|
|
FeDevice,
|
|
|
|
FeStatus,
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2021-03-07 23:04:58 +01:00
|
|
|
fn main() -> Result<()> {
|
|
|
|
let mut args = std::env::args().skip(1);
|
|
|
|
|
|
|
|
let adapter = match args.next() {
|
|
|
|
Some(v) => v.parse::<u32>().context("adapter number")?,
|
|
|
|
None => bail!("adapter number not defined"),
|
|
|
|
};
|
2021-01-20 04:20:18 +01:00
|
|
|
|
2021-03-07 23:04:58 +01:00
|
|
|
let device = match args.next() {
|
|
|
|
Some(v) => v.parse::<u32>().context("device number")?,
|
|
|
|
None => 0,
|
|
|
|
};
|
|
|
|
|
2021-03-16 09:43:37 +01:00
|
|
|
let fe = FeDevice::open_ro(adapter, device)?;
|
2021-01-20 04:20:18 +01:00
|
|
|
let mut status = FeStatus::default();
|
|
|
|
|
|
|
|
let delay = Duration::from_secs(1);
|
|
|
|
loop {
|
|
|
|
status.read(&fe)?;
|
2021-01-29 18:45:49 +01:00
|
|
|
println!("{}", &status);
|
2021-01-20 04:20:18 +01:00
|
|
|
thread::sleep(delay);
|
|
|
|
}
|
|
|
|
}
|