1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-24 14:03:55 +01:00

Merge pull request #20951 from maribu/makefiles/improve-tty-select-cmd-handling

makefiles/serial: better MOST_RECENT_PORT=1 for CDC ACM
This commit is contained in:
Marian Buschsieweke 2024-11-10 19:14:07 +00:00 committed by GitHub
commit 5d76abffa1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 25 additions and 19 deletions

View File

@ -5,12 +5,4 @@ include $(RIOTBOARD)/common/arduino-zero/Makefile.include
# Depending on whether the board is running RIOT or the bootloader, it has
# registers using a different vendor and model. We try to detect either.
TTY_BOARD_FILTER := --model $(BOARD) --vendor 'RIOT-os\.org'
PROG_TTY_BOARD_FILTER := --vendor 'Arduino LLC' --model 'Arduino Zero'
TTY_SELECT_CMD := $(RIOTTOOLS)/usb-serial/ttys.py \
--most-recent \
--format path serial \
$(TTY_BOARD_FILTER) || \
$(RIOTTOOLS)/usb-serial/ttys.py \
--most-recent \
--format path serial \
$(PROG_TTY_BOARD_FILTER_CLONE)
PROG_TTY_BOARD_FILTER := --vendor 'Arduino LLC' --model '(Arduino|Genuino) Zero'

View File

@ -1,15 +1,29 @@
# Select the most recently attached tty interface
ifeq (1,$(MOST_RECENT_PORT))
ifneq (,$(filter stdio_cdc_acm,$(USEMODULE)))
TTY_SELECT_CMD ?= $(RIOTTOOLS)/usb-serial/ttys.py \
--most-recent \
--format path serial \
--model '$(BOARD)' --vendor 'RIOT-os\.org'
else
TTY_SELECT_CMD ?= $(RIOTTOOLS)/usb-serial/ttys.py \
--most-recent \
--format path serial \
$(TTY_BOARD_FILTER)
ifeq (,$(TTY_SELECT_CMD))
ifneq (,$(filter stdio_cdc_acm,$(USEMODULE)))
TTY_SELECT_CMD := $(RIOTTOOLS)/usb-serial/ttys.py \
--most-recent \
--format path serial \
--model '$(BOARD)' --vendor 'RIOT-os\.org'
# Allow matching board by RIOT serial
ifneq (,$(SERIAL))
TTY_SELECT_CMD += --serial "$(SERIAL)"
endif
# Allow matching the bootloader TTY as well, if not running RIOT but
# but the bootloader
ifneq (,$(PROG_TTY_BOARD_FILTER))
TTY_SELECT_CMD += || $(RIOTTOOLS)/usb-serial/ttys.py \
--most-recent \
--format path serial \
$(PROG_TTY_BOARD_FILTER)
endif
else
TTY_SELECT_CMD := $(RIOTTOOLS)/usb-serial/ttys.py \
--most-recent \
--format path serial \
$(TTY_BOARD_FILTER)
endif
endif
TTY_DETECTED := $(shell $(TTY_SELECT_CMD) || echo 'no-tty-detected no-serial-detected')
PORT_DETECTED := $(firstword $(TTY_DETECTED))