M2 complete: LP5562 engine patterns running autonomously

Add src/pattern/ module with 3 engine patterns:
- Breathe: smooth ramp up/down (~2.5s cycle, 1 engine)
- Heartbeat: double-pulse with long rest (~1.6s cycle, 1 engine)
- RGB cycle: phase-offset breathing via trigger sync (3 engines)

Patterns support both RGBW and 3-channel monochrome LED modes via
LED_MAP configuration. Main loop cycles through all 3 patterns (8s
each) while LP5562 runs them autonomously — MCU just idles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
michael
2026-03-05 12:17:19 -08:00
parent e45273bc71
commit e7bc8834b2
3 changed files with 295 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
# xblink Project Status
**Current Milestone**: M2Engine Patterns
**Current Milestone**: M3Hardcoded Pattern Library
**Last Updated**: 2026-03-05
---
@@ -28,11 +28,11 @@
### M2: Engine Patterns
- [ ] Build breathing pattern (1 engine, ramp up/down, branch loop)
- [ ] Build heartbeat pattern (1 engine, fast ramp, slow decay)
- [ ] Build RGB color cycle (3 engines, trigger sync)
- [ ] Verify LP5562 runs patterns autonomously (MCU idle loop)
- [ ] Verify MCU can stop and switch patterns
- [x] Build breathing pattern (1 engine, ramp up/down, branch loop)
- [x] Build heartbeat pattern (1 engine, fast ramp, slow decay)
- [x] Build RGB cycle (3 engines, trigger-synced phase offset)
- [x] Verify LP5562 runs patterns autonomously (MCU idle loop)
- [x] Verify MCU can stop and switch patterns (8s cycle between all 3)
### M3: Hardcoded Pattern Library