slcan 0.1.2

Serial line CAN bus (slcan) interface
Documentation
fn main() {
    let arg = std::env::args().nth(1);
    let port = match arg {
        Some(filename) => {
            println!("{}", filename);
            serial::open(&filename)
        }
        None => {
            eprintln!("usage: macos_example <TTY path>");
            std::process::exit(1);
        }
    }
    .unwrap();
    let mut can = slcan::CanSocket::<serial::SystemPort>::new(port);

    can.close().unwrap();
    can.open(slcan::BitRate::Setup1Mbit).unwrap();

    loop {
        match can.read() {
            Ok(frame) => println!("{}", frame),
            Err(error) => match error.kind() {
                std::io::ErrorKind::TimedOut | std::io::ErrorKind::WouldBlock => (),
                _ => eprintln!("{:?}", error),
            },
        }
    }
}