ash
5ee5949420
add adv->setName(JOC Midi) and health check to restart advertising
2026-06-30 12:55:29 +00:00
ash
8515963e07
pre_build.py: remove CONFIG_BT_ENABLED from sdkconfig patching (fixes BT pre-init conflict with USB)
2026-06-30 12:34:00 +00:00
ash
e2db658037
TEST: disable BLE init to isolate button press crash
2026-06-30 12:12:50 +00:00
ash
8833e08c0a
add debug prints before switch read and in process_switch_event; skip MIDI sends
2026-06-30 08:54:00 +00:00
ash
3e92d6bb7c
swap init order (USB before BLE), add USB ready check and debug prints
2026-06-30 08:48:04 +00:00
ash
be8b0dc22d
add debug prints around button press to find crash location
2026-06-30 08:35:47 +00:00
ash
6038b3bf58
remove health check - back to exact source of working commit 6e3173c
2026-06-30 07:59:07 +00:00
ash
1f7bdc1e3a
revert setName, keep health check
2026-06-30 07:55:10 +00:00
ash
af6fd2dc26
fix: add adv->setName, add periodic health check to diagnose invisible BLE device
2026-06-30 07:44:04 +00:00
ash
6e3173c9b8
fix: remove manual 0x2902/CCCD descriptor creation - NimBLE auto-creates it for NOTIFY characteristics; asserts on manual create
2026-06-30 07:37:48 +00:00
ash
d19d1acbdd
chore: add granular debug prints around BLE characteristic/descriptor creation to pinpoint crash
2026-06-30 07:31:34 +00:00
ash
a21c7bf4d3
fix: remove manual BT controller pre-init - NimBLE-Arduino 1.4.0 already handles ESP32-S3 internally; double-init caused ESP_ERROR_CHECK abort
2026-06-30 07:24:34 +00:00
ash
6a737bcee2
fix: patch nimconfig.h with #ifndef guards for ROLE defines to eliminate redefinition warnings
2026-06-30 07:15:14 +00:00
ash
323bc072ee
fix: remove redundant ROLE defines from pre_build.py, suppress -Wno-macro-redefined
2026-06-30 07:09:15 +00:00
ash
13aef3b2a0
Init BT controller with ESP_BT_MODE_BLE before NimBLEDevice::init to avoid BTDM crash on ESP32-S3
2026-06-30 06:59:32 +00:00
ash
68efe30682
Remove redundant manual BT controller init; let NimBLEDevice::init handle it internally with BLE-only mode
2026-06-30 06:49:43 +00:00
ash
2db09b76bf
Add BT controller diagnostics, init BLE before USB MIDI
2026-06-30 06:43:58 +00:00
ash
8a36296043
Add sdkconfig.defaults for BLE, remove bad CONFIG flags, increase stack
2026-06-30 06:36:40 +00:00
ash
eab0b76c9d
Fix: NimBLEDevice::init returns void, remove bool check
2026-06-30 06:30:58 +00:00
ash
95d182cda6
Replace NimBLE2902 with createDescriptor for CCCD
2026-06-30 06:29:30 +00:00
ash
c3bbf08768
Fix: use just NimBLEDevice.h, remove missing NimBLE2902.h
2026-06-30 06:25:25 +00:00
ash
f5eca2c7bc
Switch to NimBLE stack, add BT build flags, add error checking
2026-06-30 06:24:19 +00:00
ash
892e4fe061
Fix: on_receive public, explicit casts for narrowing
2026-06-30 06:19:10 +00:00
ash
aea3a28206
Add BLE MIDI transport (feature_bluetooth)
2026-06-30 06:13:36 +00:00
ash
ae2891fca8
Fix palette: entries 121-127 now visible (was black). Remove local flash.
2026-06-30 05:05:06 +00:00
ash
d59e36a9a5
Add direct local LED feedback on button press
2026-06-30 04:58:22 +00:00
ash
063fa2065d
Send visible palette index 21 (yellow) instead of 127 (black) so feedback is visible
2026-06-30 04:49:30 +00:00
ash
62b0604508
Map buttons to custom CC values with reverse-map feedback
2026-06-30 04:43:42 +00:00
ash
3389cc9403
Send CC instead of NOTE_ON for Loopy Pro generic mirror. Clean up flash_activity.
2026-06-30 04:38:28 +00:00
ash
1728413cb8
Fix NOTE_ON feedback: pass led_index to set_led_state
2026-06-30 04:17:18 +00:00
ash
c57847db78
Remove flash_activity that was stealing focus to LED 0
2026-06-30 04:14:07 +00:00
ash
a4131adf2a
Fix CC feedback: route to correct pixel by LED index
2026-06-30 04:04:43 +00:00
Ashley Strahle
3dc9e445be
.
2026-06-30 13:54:41 +10:00
ash
1c1fc4d372
Remove heartbeat, relabel USB to JOC Midi
2026-06-30 03:46:31 +00:00
ash
ac83ba269f
USB name: JOC / JOC Midi (VID/PID still Launchpad X for Loopy Pro recognition)
2026-06-26 00:13:41 +00:00
ash
17c630f850
Fix update(): remove old sysex_flash_active logic
2026-06-26 00:07:50 +00:00
ash
268b793d87
Fix compilation: remove unused flash_sysex/flash_all/flash_one methods and member vars
2026-06-25 23:54:30 +00:00
ash
a281eaa46e
Clean up LED driver + rename USB to JOC Midi
...
- Removed flash_sysex/flash_all/flash_one (conflicted with heartbeat)
- Simplified flash_activity: LED 0 white 50ms, restores properly
- Heartbeat only on LED 9 when no activity
- USB renamed: Manufacturer=JOC, Product=JOC Midi
2026-06-25 23:47:39 +00:00
ash
6ccd28362f
Add Generic mode CC value visualization
...
- LED 1 green = CC received
- LED 2 color shows CC value range:
- Red (0-31) = recording?
- Amber (32-63) = queued?
- Green (64-95) = playing?
- Blue (96-127) = other?
- Helps map Loopy Pro Generic mode values to Launchpad palette
2026-06-25 23:32:24 +00:00
ash
90bbfa7b84
Revert to single MIDI interface (working USB detection)
...
- Dual interface broke USB enumeration
- Back to working single interface with Novation Launchpad X VID/PID
- Buttons work, MIDI OUT works
2026-06-25 23:17:18 +00:00
ash
a209b48720
Add second USB MIDI interface (LPX MIDI) for Programmer mode
...
- Interface 1 (DAW): Button presses -> Loopy Pro
- Interface 2 (MIDI): SysEx + LED control <- Loopy Pro
- Both interfaces polled in update()
- Sends on DAW interface (like real Launchpad X)
2026-06-25 22:51:44 +00:00
ash
c20f1dec2c
Add visual MIDI type indicators
...
- SysEx: ALL LEDs flash white 200ms
- Note: LED 0 flashes red 100ms
- CC: LED 1 flashes green 100ms
- Helps diagnose what MIDI arrives without serial
2026-06-25 22:39:37 +00:00
ash
c02121cd09
Add pre-build script to patch core's pins_arduino.h with Launchpad X VID/PID
...
- pre_build.py patches framework-arduinoespressif32/variants/esp32s3_devkitc/pins_arduino.h
- Replaces USB_VID 0x303a -> 0x1235, USB_PID 0x1001 -> 0x0103
- Adds USB_MANUFACTURER/PRODUCT
2026-06-25 22:21:51 +00:00
ash
109106f1f1
Add custom pins_arduino.h variant with Launchpad X VID/PID
...
- variants/esp32s3/pins_arduino.h overrides USB_VID/USB_PID
- Included via -I in build_flags before core variant
- This should force USB descriptors at hardware level
2026-06-25 22:03:15 +00:00
ash
75f583b3c4
Revert to standard board, try VID/PID via board_build.arduino.vid/pid
2026-06-25 10:57:12 +00:00
ash
fc9b7688c0
Fix board definition: add espidf framework for Arduino core
2026-06-25 08:57:24 +00:00
ash
b380133b3e
Add custom board definition with Launchpad X VID/PID (0x1235/0x0103)
...
- boards/launchpad_x_variant.json defines custom board
- platformio.ini uses custom board
- Board sets VID/PID at hardware level
2026-06-25 08:27:47 +00:00
ash
25713707aa
Revert to working USB mode (ARDUINO_USB_MODE=0 + CDC)
2026-06-25 08:20:19 +00:00
ash
7558082e7b
Try ARDUINO_USB_MODE=2 (native MIDI only)
...
Disable CDC, use ESP32 core native USB MIDI stack
2026-06-25 08:12:07 +00:00
ash
dee60c7d27
Fix compilation: declare 'now' in flash_sysex
2026-06-25 07:54:35 +00:00