Add PixelStomp MUX driver (DAT=9, LD=10, CLK=11, DI=12)

- New PixelStompMux class with shift register read/write
- Read 10 buttons via DI (active LOW)
- Drive 10 LEDs via DAT (shift out + latch)
- LED startup animation uses MUX
- Switch polling reads from MUX shift register
- MUX instance shared between switch and LED drivers
This commit is contained in:
2026-06-23 13:27:24 +00:00
parent c94be67384
commit 102cae9d91
7 changed files with 194 additions and 34 deletions
+9 -1
View File
@@ -3,10 +3,13 @@
#include <Arduino.h>
#include "midi_transport.h"
#include "pixel_stomp_mux.h"
#include "led_stub.h"
#include "switch_stub.h"
#include "app_task.h"
PixelStompMux mux(9, 10, 11, 12);
DefaultLedStub led_driver;
DefaultSwitchStub switch_driver;
UsbMidiTransport midi_transport;
@@ -34,10 +37,15 @@ void setup() {
Serial.println(" Board: ESP32-S3-WROOM-1");
Serial.println("=================================");
Serial.println("[INIT] Initializing PixelStomp MUX...");
mux.begin();
Serial.println("[INIT] Starting LED startup animation...");
led_driver.set_mux(&mux);
led_driver.begin();
Serial.println("[INIT] Initializing switches...");
Serial.println("[INIT] Initializing switches via MUX...");
switch_driver.set_mux(&mux);
switch_driver.begin();
Serial.println("[INIT] Initializing USB MIDI...");