MacroBoard-rs/src/service.rs

33 lines
869 B
Rust
Raw Normal View History

2019-11-24 14:54:36 +00:00
mod service_specific;
2019-11-22 10:24:12 +00:00
2022-07-15 17:08:22 +00:00
use anyhow::Result;
2019-11-24 14:54:36 +00:00
use service_specific::*;
2019-11-22 10:24:12 +00:00
2022-07-15 17:08:22 +00:00
fn main() -> Result<()> {
2019-11-24 14:54:36 +00:00
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),
2019-11-24 14:54:36 +00:00
})?;
2019-11-23 22:31:21 +00:00
2019-11-24 14:54:36 +00:00
let mut message_builder = MessageBuilder::default();
2019-11-23 22:31:21 +00:00
loop {
2019-11-24 11:41:15 +00:00
match port.read()? {
2019-11-24 14:54:36 +00:00
SerialReadResult::Message(msg) => {
if let Some(remaining) = message_builder.check(msg) {
assert!(message_builder.is_complete());
println!("{}", message_builder.message());
message_builder = MessageBuilder::default();
}
}
2019-11-24 11:41:15 +00:00
SerialReadResult::Timeout => (),
2019-11-23 22:31:21 +00:00
}
}
2019-11-22 10:24:12 +00:00
}