Commit Graph

4 Commits

Author SHA1 Message Date
Claude
2a22eeff75 feat(07-03): implement frame mode in firmware/main.py
- Import parse_drgb, parse_drgbw, parse_dnrgb, FrameAssembler
- Wire DRGB/DRGBW/DNRGB parsing in udp_listener_task
- Add frame_is_rgbw flag to route to write_rgb or write_rgbw
- Add 2s frame timeout in render_task — reverts to last animation
- Initialize FrameAssembler with led_count in main()
2026-04-07 15:41:57 +00:00
Claude
8e521e5bfb feat(07-02): wire animation rendering into firmware/main.py
- Add import for create_animation from animations module
- Add current_anim_instance global for animation object
- Create animation instance in udp_listener_task on anim_cmd receipt
- Implement render loop in render_task using ticks_diff for timing
2026-04-07 15:40:43 +00:00
Claude
d14fa3ca78 feat(07-03): add FrameAssembler to firmware/protocol.py
- Add FrameAssembler class for multi-packet DNRGB reassembly
- 200ms timeout discards stale partial frames
- feed() returns complete frame list when all expected pixels received
- reset() clears buffer manually
2026-04-07 15:40:30 +00:00
Claude
053e1abd60 feat(07-02): add firmware animations.py with all 7 animation classes
- Port all 7 animations from lightsync/animations/*.py to MicroPython
- Inline _hsv_to_rgb (no colorsys in MicroPython)
- Use bytearray for FireAnimation heat buffer (avoids GC pressure)
- create_animation() factory maps parsed command dicts to instances
- No lightsync imports, no abc, no type hints
2026-04-07 15:40:02 +00:00