Add SysEx handling for Launchpad X Programmer mode

- Parse all SysEx CIN types (start, continue, end)
- Reassemble multi-packet SysEx messages
- Handle layout select (Programmer mode = 0x7F)
- Handle Programmer/Live mode switch
This commit is contained in:
2026-06-25 07:20:47 +00:00
parent 8d859ce0af
commit b5bbe24977
3 changed files with 71 additions and 0 deletions
+8
View File
@@ -29,6 +29,14 @@ private:
PadMapping pad_mapping[NUM_PADS];
bool last_switch_state[NUM_PADS];
// SysEx reassembly buffer
static const uint8_t SYSEX_MAX_LEN = 64;
uint8_t sysex_buffer[SYSEX_MAX_LEN];
uint8_t sysex_len = 0;
bool sysex_active = false;
void process_switch_event(uint8_t switch_id, bool pressed);
void run_palette_test();
void handle_sysex(const uint8_t* data, uint8_t len);
void process_sysex_packet(const uint8_t* packet, uint8_t cin);
};