From bfc28c532fb6c9918d695b9c22d4c992e8c4c21f Mon Sep 17 00:00:00 2001 From: hodasemi Date: Sat, 19 Nov 2022 06:16:03 +0100 Subject: [PATCH] Fix reset from ui --- rust/serial_reader/src/main.rs | 2 ++ rust/serial_reader/src/port.rs | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/rust/serial_reader/src/main.rs b/rust/serial_reader/src/main.rs index ed33e69..47b64cc 100644 --- a/rust/serial_reader/src/main.rs +++ b/rust/serial_reader/src/main.rs @@ -73,6 +73,8 @@ fn main() { } } + drop(port_lock); + thread::sleep(Duration::from_millis(10)); } }); diff --git a/rust/serial_reader/src/port.rs b/rust/serial_reader/src/port.rs index 81b9468..2793b70 100644 --- a/rust/serial_reader/src/port.rs +++ b/rust/serial_reader/src/port.rs @@ -69,7 +69,7 @@ impl Port { } fn loop_usb_devices(usb_device: UsbId) -> Result { - loop { + for _ in 0..3 { if let Some(device) = Self::find_macroboard(&usb_device)? { return Ok(device); } @@ -81,6 +81,8 @@ impl Port { std::thread::sleep(Duration::from_secs(2)); } + + Err(anyhow!("no device found")) } fn find_macroboard(usb_device: &UsbId) -> Result> {