Commit Graph

14 Commits

Author SHA1 Message Date
bee2350129 Update README with latest changes 2026-01-27 00:42:35 +13:00
a75d71d9f4 Update pattern tests for new preset-based API
- Replace add() calls with edit() for preset creation
- Update tests to work with merged patterns.py
- Ensure all tests use new Preset object structure
2026-01-27 00:42:33 +13:00
a999b9054e Add RGB channel order conversion method
- Add get_rgb_channel_order() to convert color order strings to channel indices
- Supports proper RGB tuple reordering for different LED strip types
- Used by color conversion utilities
2026-01-27 00:42:30 +13:00
482f287d5c Remove patterns_base.py after merging into patterns.py
- Merge Patterns_Base and Patterns into single patterns.py file
- Consolidate pattern management logic
- Simplify codebase structure
2026-01-27 00:42:28 +13:00
4c36c7cd1c Add color conversion utilities and message format example
- Add convert_and_reorder_colors() for hex to RGB conversion
- Add msg.json example with new list-based select format
- Support color order reordering based on device settings
2026-01-27 00:42:19 +13:00
1f4da28b7b Add manual mode tests for chase pattern
- Test manual mode chase advancing one step per beat
- Verify step increments correctly
- Test with slower beat timing for observation
2026-01-27 00:42:18 +13:00
73f49e21d5 Add comprehensive ESPNow receive tests
- Test beat functionality with manual mode patterns
- Test step parameter for synchronization
- Test list-based select message format
- Test color conversion and reordering
- Test preset creation and updates
2026-01-27 00:42:15 +13:00
4ed1e17032 Update ESPNow message handling for list-based select format
- Change select format from string to list: ["preset_name"] or ["preset_name", step]
- Support step parameter in select messages
- Update message parsing to handle new format
2026-01-27 00:42:14 +13:00
12041352db Add beat functionality and synchronization support
- Beat: calling select() again with same preset restarts pattern
- Synchronization: reset step when selecting 'off' or switching presets
- Manual mode chase: advance one step per beat, calculate position from step
2026-01-27 00:40:53 +13:00
b7d2f52fc3 Refactor patterns to use preset-based API and fix initialization order
- Fix initialization order: initialize self.presets before calling self.select()
- Separate add() and edit() methods: add() creates new presets, edit() updates existing ones
- Update all test files to use add() instead of edit() for creating presets
- Add comprehensive auto/manual mode test
- Remove tool.py (moved to led-tool project)
2026-01-25 23:23:14 +13:00
f4ef415b5a Fix base pattern class name 2026-01-21 09:57:37 +13:00
eaa6acf100 Remove unused variables 2025-12-04 17:35:38 +13:00
45855cf453 Initial commit 2025-12-03 13:36:19 +13:00
59e42c35e1 Initial commit 2025-12-01 09:33:41 +00:00