mod port;

use utilities::prelude::*;

use port::*;

fn main() -> VerboseResult<()> {
    let settings = SerialPortSettings {
        baud_rate: 9600,
        data_bits: DataBits::Eight,
        parity: Parity::None,
        stop_bits: StopBits::One,
        flow_control: FlowControl::None,
        timeout: Duration::from_millis(2500),
    };

    let port = Port::open(settings)?;

    loop {
        match port.read()? {
            SerialReadResult::Message(msg) => println!("{}", msg),
            SerialReadResult::Timeout => (),
        }
    }
}