Initial import: Rust BLE-MIDI keypad for Pico W

Port of the C/BTstack BLE-MIDI keypad firmware to Rust (embassy + cyw43 +
trouble). 16-pad RGB keypad (APA102 SPI + I2C button expander), BLE-MIDI 1.0
GATT server (full codec: sysex, running-status, real-time), octave display
on BOOTSEL, onboard LED heartbeat, USB serial logging.

- src/keypad.rs      Pimoroni RGB Keypad driver
- src/midi_keypad.rs pad->Note On/Off + LED response state machine
- src/codec.rs       BLE-MIDI 1.0 codec (port of rppicomidi, MIT)
- src/main.rs        cyw43 BT bring-up + trouble GATT + MIDI pump
- src/octave.rs      octave digit display on BOOTSEL

GPL-3.0-or-later; codec.rs retains its MIT (rppicomidi) attribution.
This commit is contained in:
2026-08-21 08:44:19 +02:00
commit d2bebc9e7b
18 changed files with 4330 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
[toolchain]
channel = "stable"
targets = ["thumbv6m-none-eabi"]