1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

boards/arduino-mega2560: add TTY_BOARD_FILTER

This allows automatically selecting TTY actually belonging to an
Arduino Mega2560 if `MOST_RECENT_PORT=1` is set.

Note: Unless `ARDUINO_MEGA2560_COMPAT_WITH_CLONES` is set to `0`,
this will fall back to detecting any cheap USB UART bridge typically
found in Arduino Mega 2560 clones if no genuine Arduino Mega is found.
This commit is contained in:
Marian Buschsieweke 2022-12-05 11:13:21 +01:00
parent 208bf7eef3
commit dadf22f07a
No known key found for this signature in database
GPG Key ID: CB8E3238CE715A94

View File

@ -3,4 +3,34 @@ BAUD ?= 9600
ARDUINO_MEGA2560_BOOTLOADER ?= stk500v2
# If port selection via ttys.py is enabled by `MOST_RECENT_PORT=1`, filter
# USB serials to only select boards that identify as Arduino Mega 2560 or
# ad Arduino Mega ADK (a special official Mega flavor that is compatible)
TTY_BOARD_FILTER := --vendor 'Arduino' --model-db 'Mega 2560|Mega ADK'
# Same, but for clones using a cheap USB <--> UART chip rather than the
# ATmega16U2
TTY_BOARD_FILTER_CLONE := --driver 'cp210x|ch341'
# If set to 1, auto-detection of TTYs will also allow clones. This has a slight
# disadvantage for users of genuine Arduino Mega 2560: If the board is not
# plugged in, it will fall back to a detection that may yield false positives.
# However, most people will plug in their boards correctly prior to typing
# `make term`, so this is only a small loss for users of genuine
# Arduino Mega 2560 but a big win for users of cheap clones. Still, users that
# only will ever use genuine Arduino Mega 2560 boards can disable this via their
# .profile or .bashrc if they want.
ARDUINO_MEGA2560_COMPAT_WITH_CLONES ?= 1
ifeq (1,$(ARDUINO_MEGA2560_COMPAT_WITH_CLONES))
TTY_SELECT_CMD := $(RIOTTOOLS)/usb-serial/ttys.py \
--most-recent \
--format path \
$(TTY_BOARD_FILTER) || \
$(RIOTTOOLS)/usb-serial/ttys.py \
--most-recent \
--format path \
$(TTY_BOARD_FILTER_CLONE)
endif
include $(RIOTBOARD)/common/arduino-atmega/Makefile.include