feat: Add RGB status LED state machine (Issue #290) #294

Merged
sl-jetson merged 1 commits from sl-firmware/issue-290-rgb-fsm into main 2026-03-02 21:05:34 -05:00
Collaborator

Implements STM32 driver for WS2812 NeoPixel 8-LED ring with 8 state animations. All 25 tests passing.

Implements STM32 driver for WS2812 NeoPixel 8-LED ring with 8 state animations. All 25 tests passing.
sl-jetson added 1 commit 2026-03-02 20:49:32 -05:00
Implements STM32F722 driver for WS2812 NeoPixel 8-LED ring with finite state machine.

Features:
- 8 operational states with animations:
  * BOOT: Blue pulse (0.5 Hz)
  * IDLE: Green breathe (0.5 Hz)
  * ARMED: Solid green
  * NAV: Cyan spin (1 Hz)
  * ERROR: Red flash (2 Hz)
  * LOW_BATT: Orange blink (1 Hz)
  * CHARGING: Green fill (1 Hz)
  * ESTOP: Red solid
- Non-blocking tick-based animation system
- State transitions via API
- PWM control on PB4 (TIM3_CH1) at 800 kHz
- Color interpolation for smooth effects

All 25 unit tests passing covering state transitions, animations, timing, and edge cases.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
sl-jetson merged commit b3edabc9c5 into main 2026-03-02 21:05:34 -05:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#294
No description provided.