//! mmx150 — battery and connection monitoring for the beyerdynamic MMX 150 //! wireless dongle. use std::process::ExitCode; fn main() -> ExitCode { let args: Vec = std::env::args().skip(1).collect(); match args.first().map(String::as_str) { Some("status") => cmd_status(), Some("daemon") => cmd_daemon(), Some("probe") => cmd_probe(), _ => { eprintln!("usage: mmx150 "); ExitCode::FAILURE } } } fn cmd_status() -> ExitCode { match mmx150::hid::find_mmx150() { Ok(Some(dev)) => { println!("dongle: {} ({}:{:04x})", dev.name, dev.vid, dev.pid); println!("connection: unknown (protocol reverse-engineering in progress)"); println!("battery: unknown"); ExitCode::SUCCESS } Ok(None) => { eprintln!("dongle not found"); ExitCode::FAILURE } Err(e) => { eprintln!("error: {e}"); ExitCode::FAILURE } } } fn cmd_daemon() -> ExitCode { eprintln!("daemon not implemented yet"); ExitCode::FAILURE } fn cmd_probe() -> ExitCode { eprintln!("use `mmx150-probe` binary instead"); ExitCode::FAILURE }