feat(cli): add --serial-baudrate for bridge uart uplink

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-25 22:00:14 +12:00
parent bd4d2060ae
commit 179ac9c540

25
cli.py
View File

@@ -150,7 +150,8 @@ _FLAGS_WITH_VALUE = frozenset({
'-p', '--port', '-n', '--name', '--pin', '-b', '--brightness',
'-l', '--leds', '-d', '-debug', '--debug', '-o', '--order',
'--preset', '--pattern', '--default', '--transport', '--ssid',
'--wifi-password', '--wifi-channel', '--src', '--lib', '--patterns', '--paterns',
'--wifi-password', '--wifi-channel', '--serial-baudrate',
'--src', '--lib', '--patterns', '--paterns',
})
@@ -321,6 +322,9 @@ Examples:
# Reset logical device name to firmware default (STA MAC based)
%(prog)s --reset-device-name
# ESP-NOW bridge: Pi on GPIO UART1 (USB-serial adapter)
%(prog)s -p /dev/ttyUSB0 --serial-baudrate 921600
"""
)
@@ -413,6 +417,13 @@ Examples:
help="led-driver transport_type",
)
parser.add_argument(
"--serial-baudrate",
type=int,
metavar="BAUD",
help="bridge: UART1 baud for Pi serial link (default 921600)",
)
parser.add_argument(
"--ssid",
help="led-driver ssid (Wi-Fi network in wifi mode)",
@@ -747,6 +758,18 @@ Examples:
if args.transport is not None:
edits["transport_type"] = args.transport
if args.serial_baudrate is not None:
edits["uplink_transport"] = "serial"
edits["serial_usb"] = False
edits["serial_uart_id"] = 1
edits["serial_tx_pin"] = 2
edits["serial_rx_pin"] = 3
baud = int(args.serial_baudrate)
if baud < 9600 or baud > 3000000:
print("Error: --serial-baudrate must be 96003000000", file=sys.stderr)
sys.exit(1)
edits["serial_baudrate"] = baud
if args.ssid is not None:
edits["ssid"] = args.ssid