Files
led-tool/README.md
2026-05-03 21:27:29 +12:00

2.1 KiB
Raw Permalink Blame History

led-tool

CLI helpers for MicroPython LED devices: settings.json download/upload via mpremote, resets, follow/tail, recursive uploads, optional firmware flash, and led-driver-oriented flags (presets, transport, Wi-Fi fields).

Connection is always via -p / --port (default /dev/ttyACM0). There is no separate “server IP” flag; the Pi or PC address is configured on the device in settings.json when using Wi-Fi mode.

Common flags

Flag Purpose
-p, --port Serial device (default /dev/ttyACM0)
-s, --show Print current settings from the device
-n, --name Device name
--reset-device-name Set name to firmware default (led- + STA MAC hex, same as Settings.set_defaults on led-driver)
--id Numeric device id (ESP-NOW, 0255)
--pin LED GPIO (led_pin)
-b, --brightness Brightness 0255
-l, --leds LED count (num_leds)
-d, --debug Debug 0 or 1
-o, --order LED colour order (rgb, grb, …)
--preset / --pattern Create or replace a named preset in led-driver presets.json
--default Startup preset name
--transport espnow or wifi (transport_type on device)
--ssid, --wifi-password, --wifi-channel Wi-Fi / channel fields for the driver
-r, --reset Reset the device
-f, --follow Follow serial output (optional timeout seconds)
--pause Sleep N seconds (for chained actions)
-u, --upload Recursive upload: -u SRC [DEST]
--src, --lib Upload src/ or a tree to /lib
-e Erase device code (keeps settings.json)
--rm Remove a path on the device
--flash Flash a firmware binary (uses esptool on the host)

Default behaviour: the tool always downloads settings.json, prints the merged view, and uploads again only when you pass setting edits (--name, --leds, …), --preset, or the relevant upload/flash/erase actions in order.

Run python cli.py -h for the full epilog and argument list.

License

See LICENSE in this directory.