femon/
femon.rs

1use {
2    anyhow::{bail, Context, Result},
3    libdvb_rs::{FeDevice, FeStatus},
4    std::{thread, time::Duration},
5};
6
7fn main() -> Result<()> {
8    let mut args = std::env::args().skip(1);
9
10    let adapter = match args.next() {
11        Some(v) => v.parse::<u32>().context("adapter number")?,
12        None => bail!("adapter number not defined"),
13    };
14
15    let device = match args.next() {
16        Some(v) => v.parse::<u32>().context("device number")?,
17        None => 0,
18    };
19
20    let fe = FeDevice::open_ro(adapter, device)?;
21    let mut status = FeStatus::default();
22
23    let delay = Duration::from_secs(1);
24    loop {
25        status.read(&fe)?;
26        println!("{}", &status);
27        thread::sleep(delay);
28    }
29}