mod service_specific; use service_specific::*; use utilities::prelude::*; fn main() -> VerboseResult<()> { let mut port = Port::open(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 mut message_builder = MessageBuilder::default(); loop { match port.read()? { SerialReadResult::Message(msg) => { if let Some(remaining) = message_builder.check(msg) { assert!(message_builder.is_complete()); println!("{}", message_builder.message()); message_builder = MessageBuilder::default(); } } SerialReadResult::Timeout => (), } } }