diff --git a/rust/serial_reader/src/main.rs b/rust/serial_reader/src/main.rs index 4ad423f..7236ca7 100644 --- a/rust/serial_reader/src/main.rs +++ b/rust/serial_reader/src/main.rs @@ -63,14 +63,17 @@ fn main() { if let Some(port) = &mut *port_lock { // handle incoming message - match port.read().unwrap() { - SerialReadResult::Message(msg) => { - if !msg.is_empty() { - tx.send(msg).unwrap(); + match port.read() { + Ok(port_read) => match port_read { + SerialReadResult::Message(msg) => { + if !msg.is_empty() { + tx.send(msg).unwrap(); + } } - } - SerialReadResult::UtfConversion(err) => println!("{:?}", err), - SerialReadResult::Timeout => (), + SerialReadResult::UtfConversion(err) => println!("{:?}", err), + SerialReadResult::Timeout => (), + }, + Err(err) => println!("{err}"), } } @@ -124,7 +127,9 @@ fn main() { let mut port_lock = PORT.lock().unwrap(); if let Some(port) = &mut *port_lock { - port.write("reset").unwrap(); + if let Err(err) = port.write("reset") { + println!("{err}"); + } } *port_lock = None;