Files
apress/deploy/uno-q/skills/linux-led/SKILL.md
T
Omar SobhandClaude Opus 4.8 62c435c648 feat(uno-q): bundle the granular skill set alongside arduino-uno-q on every node
Vendors the fork's 11 granular UNO Q skills (bridge, flashing, led-matrix,
uno-q-hardware, sketch-patterns, modulino, linux-led, audio, vision, wireless,
arduino-app-lab) next to the comprehensive arduino-uno-q skill, and installs the
whole set into every agent's workspace on each board.

Why both: the comprehensive skill is the rich cloud reference (read_skill →
references); the granular skills are keyword-triggered and match the fork's eager
skill-inliner rules, so the on-board Qwen auto-inlines them (no read_skill
round-trip). flashing + led-matrix carry the exact uno_q_flash + frame-API /
ArduinoGraphics-not-installed detail that makes flashing reliable.

- push-skill.sh generalized: a single skill dir (has SKILL.md) OR a parent dir
  installs every skill under it; provision-fleet now ships all of skills/.
- Verified on board 65301572: cloud/Sonnet-5 lists all 12 skills.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-16 09:32:11 -07:00

31 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: linux-led
description: The Arduino Uno Q's MPU-side RGB LEDs, driven from Linux via /sys/class/leds (active-low). Load this to control the on-board Linux LEDs, as opposed to LEDs wired to Arduino pins.
---
# Linux-side RGB LEDs (MPU)
The Uno Q has RGB LEDs owned by the **MPU (Linux)**, exposed under
`/sys/class/leds/*` (e.g. `red:user`, `green:user`, `blue:bt`). These are separate
from the MCU-owned LEDs you drive with `digitalWrite`/`analogWrite` in a sketch.
## Use the `sysfs_led` tool
- `action=list` — enumerate available LEDs.
- `action=set`, `led=<name>`, `brightness=0..255` — set brightness in **natural
sense** (0 = off, 255 = full). The tool handles the active-low inversion and
scales to each LED's `max_brightness` for you.
## Under the hood
The LEDs are **active-low**: writing `0` to `<led>/brightness` turns it fully ON,
`max_brightness` turns it OFF. `sysfs_led` inverts your natural-sense value so you
never have to think about it.
## Which LED tool to use
- On-board **Linux** RGB LEDs → `sysfs_led` (this skill).
- LEDs wired to **Arduino pins**, or the built-in D13 → flash a sketch with
`uno_q_flash`, or toggle via `gpio_write` on a running sketch.
- The 13×8 blue **LED matrix** → the `led-matrix` skill (it's an MCU device).