shawn
|
ce06a4360d
|
Build: hardware UI layer — footswitch debounce, RGB LEDs, OLED display
- footswitch.py: GPIO debounce engine (20ms window), long-press detection
(500ms), threaded poll loop with virtual pin support for testing
- leds.py: WS2812B/APA102 RGB LED controller with bypass indicator
(red/green), preset navigation scan animation, tap tempo blip,
configurable brightness (0.0-1.0)
- display.py: SSD1306 128x64 OLED renderer with preset mode (bank +
preset name + FX chain), tuner mode (note + cents bar), FX edit
(parameter bar), settings mode, boot splash
- __init__.py: Public API re-exports for all 3 modules
- tests/test_ui.py: 37 tests — debounce engine, GPIO simulation,
short/long press boundary, LED pixel control, bypass colors,
display mode rendering (preset/tuner/fx_edit/settings)
- scripts/ui_test.py: standalone test tool (python scripts/ui_test.py
--all or --interactive)
|
2026-06-07 23:26:44 -04:00 |
|