use foxmark3::commands::iso14443a::CardSelectError;
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: iso14443a [PATH]");
return;
}
(Some(path), None) => path,
}
};
let mut pm3 = foxmark3::new(path).expect("connecting to device");
match pm3.read_iso14443a() {
Ok(x) => println!("{x}"),
Err(CardSelectError::Proxmark(e)) => panic!("{e}: iso14443a card selection"),
Err(e) => eprintln!("{e}"),
}
}