micropython/tools
Michael Mogenson 921f397acb tools/mpremote: Only auto connect to serial device with USB VID/PID.
On MacOS and Windows there are a few default serial devices that are
returned by `serial.tools.list_ports.comports()`. For example on MacOS:

```
{'description': 'n/a',
 'device': '/dev/cu.Bluetooth-Incoming-Port',
 'hwid': 'n/a',
 'interface': None,
 'location': None,
 'manufacturer': None,
 'name': 'cu.Bluetooth-Incoming-Port',
 'pid': None,
 'product': None,
 'serial_number': None,
 'vid': None}

{'description': 'n/a',
 'device': '/dev/cu.wlan-debug',
 'hwid': 'n/a',
 'interface': None,
 'location': None,
 'manufacturer': None,
 'name': 'cu.wlan-debug',
 'pid': None,
 'product': None,
 'serial_number': None,
 'vid': None}
```

Users of mpremote most likely do not want to connect to these ports. It
would be desirable if mpremote did not select this ports when using the
auto connect behavior. These serial ports do not have USB VID or PID
values and serial ports for Micropython boards with FTDI/serial-to-USB
adapter or native USB CDC/ACM support do.

Check for the presence of a USB VID / PID int value when selecting a
serial port to auto connect to. All serial ports will still be listed by
the `list` command and can still be selected by name when connecting.

Signed-off-by: Michael Mogenson <michael.mogenson@gmail.com>
2022-11-25 17:20:14 -05:00
..
autobuild tools/autobuild: Use distinct directory for building stm32 variants. 2022-09-08 14:54:11 +10:00
mpremote tools/mpremote: Only auto connect to serial device with USB VID/PID. 2022-11-25 17:20:14 -05:00
.gitattributes micropython-upip: Mark as binary file and re-commit. 2015-06-06 23:09:23 +03:00
.gitignore tools: check-in errordeveloper/tinytest@eb2dbc858f 2014-05-08 01:41:21 +03:00
cc1 tools: Add C middle-processor to make builtin tables proper hash tables. 2015-12-31 00:24:33 +00:00
ci.sh tools/ci.sh: Don't print python2 version. 2022-11-23 10:32:55 +11:00
codeformat.py shared/tinyusb: Further refactor static USB device implementation. 2022-11-11 16:47:36 +11:00
codestats.sh tests,tools: Update path to unix micropython executable. 2022-08-18 11:47:58 +10:00
dfu.py tools/dfu.py: Make tool work with python3 when parsing DFU files. 2021-11-01 15:46:59 +11:00
file2h.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
gen-changelog.sh Rename "Micro Python" to "MicroPython" in REPL, help, readme's and misc. 2015-10-12 00:06:25 +01:00
gen-cpydiff.py tools/gen-cpydiff.py: Use os.path.join and os.path.isdir. 2022-11-15 23:17:26 +11:00
insert-usb-ids.py ports: Rename USBD_VID/PID config macros to MICROPY_HW_USB_VID/PID. 2021-08-07 23:13:55 +10:00
makemanifest.py tools/makemanifest.py: Fix printing of mpy_cross.CrossCompileError. 2022-11-02 14:06:18 +11:00
manifestfile.py tools/manifestfile.py: Replace recursive glob with os.walk. 2022-09-30 17:34:03 +10:00
metrics.py unix/variants: Remove variant suffix from executable filename. 2022-08-11 13:34:34 +10:00
mpy-tool.py py/persistentcode: Only emit sub-version if generated code has native. 2022-10-25 14:57:04 +11:00
mpy_bin2res.py tools/mpy_bin2res: Tools to convert binary resources to Python module. 2017-07-27 14:41:27 +03:00
mpy_cross_all.py all: Remove MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE. 2021-09-16 16:04:03 +10:00
mpy_ld.py py/persistentcode: Introduce .mpy sub-version. 2022-09-19 23:19:55 +10:00
pyboard.py tools/pyboard.py: Handle unsupported fs command. 2022-10-01 22:44:24 +10:00
pydfu.py all: Update Python formatting to latest Black version 21.12b0. 2021-12-09 12:09:40 +11:00
tinytest-codegen.py py/formatfloat: Format all whole-number floats exactly. 2022-07-26 22:23:47 +10:00
uf2conv.py tools/uf2conv.py: Update to latest version. 2022-02-02 23:43:58 +11:00
uf2families.json tools/uf2conv.py: Update to latest version. 2022-02-02 23:43:58 +11:00
uncrustify.cfg tools: Add note about uncrustify versions. 2022-10-04 14:34:54 +11:00
verifygitlog.py tools/verifygitlog.py: Add additional help for subject line issues. 2022-10-07 00:26:31 +11:00