Explorar o código

idf_monitor: Autodetect port

Closes https://github.com/espressif/esp-idf/issues/4191
Roland Dobai %!s(int64=6) %!d(string=hai) anos
pai
achega
72040f2c44
Modificáronse 1 ficheiros con 14 adicións e 1 borrados
  1. 14 1
      tools/idf_monitor.py

+ 14 - 1
tools/idf_monitor.py

@@ -46,6 +46,7 @@ import shlex
 import time
 import sys
 import serial
+import serial.tools.list_ports
 import serial.tools.miniterm as miniterm
 import threading
 import ctypes
@@ -764,12 +765,24 @@ class Monitor(object):
 
 
 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(