From 664e402080d048ec74d59c638e70196f9564039a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Proch=C3=A1zka?= Date: Wed, 24 Sep 2025 13:45:53 +0200 Subject: [PATCH] Fixed port auto-detection on Windows --- src/main.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 130587f..89f4ff2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -318,9 +318,21 @@ fn main() { let start = SystemTime::now(); let port = args.port.or_else(|| { - for port in serial_enumerator::get_serial_list() { - if let Some(vendor) = port.vendor && vendor.as_str() == "TUL" { - return Some(port.name.into()) + let ports = serial_enumerator::get_serial_list(); + + // First try TUL (works on Linux and macOS)... + + for port in &ports { + if let Some(vendor) = &port.vendor && vendor.as_str() == "TUL" { + return Some(port.name.clone().into()) + } + } + + // ...then try FTDI (which Windows overrides) + + for port in &ports { + if let Some(vendor) = &port.vendor && vendor.as_str() == "FTDI" { + return Some(port.name.clone().into()) } }