Skip to content

Commit ca5ea90

Browse files
authored
Update mod.rs
1 parent 7d66f05 commit ca5ea90

File tree

1 file changed

+14
-0
lines changed
  • espflash/src/cli/monitor

1 file changed

+14
-0
lines changed

espflash/src/cli/monitor/mod.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ use log::error;
2626
use miette::{IntoDiagnostic, Result};
2727
#[cfg(feature = "serialport")]
2828
use serialport::SerialPort;
29+
use std::thread::sleep;
2930
use strum::{Display, EnumIter, EnumString, VariantNames};
3031

3132
use crate::{
@@ -79,7 +80,20 @@ pub fn monitor(
7980
interactive_mode: bool,
8081
processors: Option<String>,
8182
elf_file: Option<PathBuf>,
83+
wait_for_port: bool,
8284
) -> miette::Result<()> {
85+
if wait_for_port {
86+
println!("Waiting for serial port to appear...");
87+
while !serialport::available_ports()
88+
.unwrap()
89+
.iter()
90+
.any(|p| p.port_name == serial.name().unwrap())
91+
{
92+
sleep(Duration::from_millis(100));
93+
}
94+
println!("Serial port detected: {}", serial.name().unwrap());
95+
}
96+
8397
if interactive_mode {
8498
println!("Commands:");
8599
println!(" CTRL+R Reset chip");

0 commit comments

Comments
 (0)