Closes https://github.com/espressif/esp-idf/issues/4191
import time
import sys
import serial
+import serial.tools.list_ports
import serial.tools.miniterm as miniterm
import threading
import ctypes
def main():
+
+ def _get_default_serial_port():
+ """
+ Same logic for detecting serial port as esptool.py and idf.py: reverse sort by name and choose the first port.
+ """
+
+ try:
+ ports = list(reversed(sorted(p.device for p in serial.tools.list_ports.comports())))
+ return ports[0]
+ except Exception:
+ return '/dev/ttyUSB0'
+
parser = argparse.ArgumentParser("idf_monitor - a serial output monitor for esp-idf")
parser.add_argument(
'--port', '-p',
help='Serial port device',
- default=os.environ.get('ESPTOOL_PORT', '/dev/ttyUSB0')
+ default=os.environ.get('ESPTOOL_PORT', _get_default_serial_port())
)
parser.add_argument(