use std::time::Duration;
use serialport::prelude::*;
use sbp::{iter_messages, Sbp};
fn main() {
let s = SerialPortSettings {
baud_rate: BaudRate::Baud115200,
data_bits: DataBits::Eight,
flow_control: FlowControl::None,
parity: Parity::None,
stop_bits: StopBits::One,
timeout: Duration::from_millis(1000),
};
let mut port = serialport::open_with_settings("/dev/ttyUSB0", &s).expect("open failed");
for msg in iter_messages(&mut port) {
match msg {
Ok(Sbp::MsgLog(x)) => println!("{}", x.text),
Ok(Sbp::MsgPosLlh(x)) => println!("{} {} {}", x.lat, x.lon, x.height),
Err(e) => {
eprintln!("{:?}", e);
break;
}
_ => {}
}
}
}