Skip to content
Snippets Groups Projects
Commit 47a2c2f5 authored by Federico Lolli's avatar Federico Lolli
Browse files

added auto-discovery of first STM32 serial device connected

parent e33a6ab7
No related branches found
No related tags found
No related merge requests found
...@@ -18,9 +18,23 @@ impl<T: AsRef<dyn SerialPort> + std::io::Write> MavLinkPort for T { ...@@ -18,9 +18,23 @@ impl<T: AsRef<dyn SerialPort> + std::io::Write> MavLinkPort for T {
} }
} }
fn get_first_stm32_serial_port() -> Option<String> {
let ports = serialport::available_ports().expect("No serial ports found!");
for port in ports {
if let serialport::SerialPortType::UsbPort(info) = port.port_type {
if let Some(p) = info.product {
if p.contains("STM32") {
return Some(port.port_name);
}
}
}
}
None
}
fn main() { fn main() {
// Open the first serialport available. // Open the first serialport available.
let port_name = "/dev/tty.usbmodem143203"; let port_name = get_first_stm32_serial_port().expect("No STM32 serial port found!");
let mut port = serialport::new(port_name, 115200) let mut port = serialport::new(port_name, 115200)
.open() .open()
.expect("Failed to open serial port"); .expect("Failed to open serial port");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment