Surface command-status faults as an "error" LED state#20
Open
Daniel Botros (danielbotros) wants to merge 1 commit into
Open
Surface command-status faults as an "error" LED state#20Daniel Botros (danielbotros) wants to merge 1 commit into
Daniel Botros (danielbotros) wants to merge 1 commit into
Conversation
Daniel Botros (danielbotros)
force-pushed
the
led-error-mode
branch
from
July 17, 2026 16:05
e3fbe1b to
bf68d46
Compare
Daniel Botros (danielbotros)
requested review from
Nicolas Palpacuer (NickPPC) and
Julie Krasnick (jckras)
July 17, 2026 16:16
Daniel Botros (danielbotros)
marked this pull request as ready for review
July 17, 2026 16:17
Julie Krasnick (jckras)
approved these changes
Jul 17, 2026
Daniel Botros (danielbotros)
force-pushed
the
led-error-mode
branch
from
July 17, 2026 18:53
bf68d46 to
fdd01c2
Compare
While the command_status resource raises the conventional fault_active: true in its Status(), voice-command reports its lifecycle state as "error" (outranking conversation activity, bounded by a 1s fetch timeout so a wedged source can't stall consumers). led-bridge forwards the state, and the reference firmware renders it as a red flash (~400ms on/off) until another state arrives. Co-Authored-By: Claude Fable 5 <[email protected]>
Daniel Botros (danielbotros)
force-pushed
the
led-error-mode
branch
from
July 17, 2026 19:17
fdd01c2 to
f898efa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lets a machine flash its LED strip red when a watched command resource faults — e.g. the beanjamin coffee service after a failed brew (companion PR: viamrobotics/beanjamin#256).
command_statusresource raises the conventionalfault_active: trueinStatus(), voice-command reports its lifecyclestateas"error"(outranking conversation activity). voice-command is the single state owner, so no arbitration is needed anywhere: the flag is transient on the source and the state reverts on its own. The nested status fetch is bounded (1s timeout) so a wedged source can't stall Status() consumers.actionForStateallow-lists"error"so the poller forwards it.led-indicator.ino): newMODE_ERROR— square-wave red flash (~400ms on/off) until another state arrives. No timer or previous-mode memory in the firmware; the host owns all transitions, keeping the sketch a pure state renderer.The firmware is reference-only in this repo (not built at runtime); deployed strips need a reflash to render the new mode. Older firmware ignores the
errorline, so the Go changes are safe to roll out first.🤖 Generated with Claude Code