41 lines
2.1 KiB
Markdown
41 lines
2.1 KiB
Markdown
# 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, 0–255) |
|
||
| `--pin` | LED GPIO (`led_pin`) |
|
||
| `-b`, `--brightness` | Brightness 0–255 |
|
||
| `-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.
|