foxmark3 0.1.1

Send/receive Proxmark 3 commands
Documentation
//! An example which reads all the information available about the connected Proxmark
//! No cards needed!

fn main() {
    tracing_subscriber::fmt()
        .with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
        .init();

    let path = {
        let mut args = std::env::args();
        args.next();

        match (args.next(), args.next()) {
            (None, _) | (_, Some(_)) => {
                eprintln!("Usage: meta [PATH]");
                return;
            }
            (Some(path), None) => path,
        }
    };

    let mut pm3 = foxmark3::new(path).expect("connecting to device");
    let version = pm3.version().expect("version info from device");
    println!("{version}\n");

    let status = pm3.status().expect("status info from device");
    println!("Status:\n{status}\n");

    let capabilities = pm3.capabilities().expect("capability data from device");
    println!("Capabilities: {capabilities:#?}");
}