poll_measurement/
poll_measurement.rs

1use f289ctrl::{measurement::Measurement, Device, DEFAULT_BAUDRATE};
2
3#[tokio::main]
4async fn main() -> f289ctrl::Result<()> {
5    let path = "/dev/ttyUSB0".to_string();
6    let mut device = Device::new(&path, DEFAULT_BAUDRATE)?;
7
8    // Read device specific maps, required to convert RawMeasurement to Measurement.
9    let maps = device.value_maps().await?;
10
11    loop {
12        let raw = device.live_measurement().await?;
13        match raw {
14            Some(data) => {
15                let mea = Measurement::from((data, &maps));
16                // Each measurement contains one or more readings.
17                mea.readings.iter().for_each(|r| {
18                    println!("Value: {}", r);
19                })
20            }
21            None => {
22                println!("NO_DATA");
23            }
24        }
25    }
26}