feat(uno-q): resident-responder fast-path for the LED matrix (instant, no flash)
The agent now drives the matrix in <1s via the resident responder instead of compiling+flashing a sketch (~95s). Pieces: - matrix-relay/: a tiny container (python-apps-base) running relay.py — a TCP:9999 → RouterBridge relay. The ZeroClaw daemon runs on the host for hardware access, but the RouterBridge python binding (arduino.app_utils) only ships in the App Lab image, so JUST the relay runs containerized, mounting the router socket + publishing :9999 to loopback. - config.template.toml: add matrix_pattern + matrix_text to the default risk profile's allowed_tools/auto_approve (the capability filter hides tools not listed — this was why matrix_text wasn't exposed to the agent). - skills/led-matrix: lead with "use matrix_text / matrix_pattern first"; only flash for custom frames (flashing overwrites the responder). NOTE skills load from each agent's workspace copy, not shared/skills — push to all workspaces. - provision-host-daemon.sh: flash the responder once + start the relay. Proven on-hardware: "show a heart" and "scroll GO CLAWS" both instant via the agent, no flash. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
1eb28c6e5e
commit
06f2342892
@@ -8,6 +8,24 @@ description: Drive the Arduino Uno Q's built-in 13x8 blue LED matrix — draw fr
|
||||
The Uno Q has a built-in **13 columns × 8 rows** (104-pixel) **blue** LED matrix,
|
||||
driven by the STM32U585 MCU. (It is NOT an LCD, and NOT red.)
|
||||
|
||||
## Instant runtime control — USE THIS FIRST (no flashing)
|
||||
|
||||
The board runs a **resident responder sketch** that already drives the matrix, so
|
||||
you can change what it shows **instantly** with these tools — no sketch, no
|
||||
compile, no flash:
|
||||
|
||||
- **`matrix_text`** — scroll a short message. Use for ANY "scroll / show / display
|
||||
/ print `<text>`" request (e.g. `text="GO CLAWS"`).
|
||||
- **`matrix_pattern`** — switch to a preset animation: `off, rain, heart, wave,
|
||||
sparkle, checker, solid, blink`.
|
||||
|
||||
**Always reach for these tools first** for text or a preset animation. They take
|
||||
effect in under a second. Do **NOT** write and flash a sketch for these — flashing
|
||||
takes ~90s **and overwrites the resident responder, breaking `matrix_text` /
|
||||
`matrix_pattern` until it's re-flashed.** Only write + flash a sketch (below) for a
|
||||
**custom** frame pattern the tools can't produce, and know it replaces the
|
||||
responder.
|
||||
|
||||
## Prefer the frame API (always available)
|
||||
|
||||
`Arduino_LED_Matrix` is bundled with the `arduino:zephyr` core — **no lib install**.
|
||||
|
||||
Reference in New Issue
Block a user