use anyhow::Result;
use anyhow::anyhow;
use clap::Parser;
use clap_derive::Parser;
use ut325f_rs::Meter;
#[derive(Parser, Debug)]
#[clap(author, version, about, long_about = None)]
struct Args {
port: String,
#[clap(short = 'H', long, action)]
held_temps: bool,
}
#[tokio::main]
async fn main() -> Result<()> {
let args = Args::parse();
let mut meter = Meter::new(args.port);
meter.open().await?;
loop {
match meter.read().await {
Ok(reading) => {
if args.held_temps {
reading.print_all_temps();
} else {
reading.print_current_temps();
}
}
Err(e) => return Err(anyhow!("Error reading data: {}", e)),
}
}
}