From 8ea778ea4287f6da4ef70d948058aebf768af537 Mon Sep 17 00:00:00 2001
From: Federico Lolli <federico.lolli@skywarder.eu>
Date: Mon, 22 Jan 2024 10:24:12 +0100
Subject: [PATCH] added serial port specification from cli arg

---
 src/main.rs | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/main.rs b/src/main.rs
index 41a9d24..d3b85f8 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -21,8 +21,19 @@ fn main() {
     // convert to packet sequence data structure
     let mut packets = PacketSequence::from(packets);
 
+    // get from args the serial port to use
+    let args: Vec<String> = std::env::args().collect();
+    if args.len() > 2 {
+        println!("Usage: {} <serial port>", args[0]);
+        std::process::exit(1);
+    }
+
     // Open the first serialport available.
-    let port_name = get_first_stm32_serial_port().expect("No STM32 serial port found!");
+    let port_name = if let Some(port_name) = args.get(1) {
+        port_name.to_owned()
+    } else {
+        get_first_stm32_serial_port().expect("No STM32 serial port found!")
+    };
     let mut port = serialport::new(port_name, 115200)
         .open()
         .expect("Failed to open serial port");
-- 
GitLab