App writes for timbre/BPM/transpose/style were refreshing LCD and
reloading tone packs on the 768B BLE recv stack, causing overflow and
crashes. Route heavy work through MSG_ID_BLE_* into the UI task, and
notify App when the device changes rhythm style.
Co-authored-by: Cursor <cursoragent@cursor.com>
Enlarge BT recv stack, move large handlers/log buffers off the stack, clamp key indexes, and yield in W25Q busy-wait so BLE protocol tests stay stable.
Co-authored-by: Cursor <cursoragent@cursor.com>
Point system-settings rows at the correct Flash icons, keep Main/UI alive across soft-off, and expose git build id for 01 0C with matching BLE tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
TaskBTRecvThread previously started only after mode select, so GATT SysEx never reached the parser until then; verified BLE-MIDI 01 01 now replies with GATT notify.
Co-authored-by: Cursor <cursoragent@cursor.com>
Always Send_volume in MainTask, re-apply after DSP settle, and sync vol_last so UI bar matches Dream gain.
Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve focus across redraws, improve XPT2046 sampling, and log touch coords via RTT for ongoing debug.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep AT32F403ARCT7 RAM at 96KB, soft-CS GRAM readback over RTT, and add missing 普/通/业 to CHS16 so mode labels render fully.
Co-authored-by: Cursor <cursoragent@cursor.com>