AutoBand ignores input octave, so shift engine MIDI output by -12 for those chords (except drums) to keep the range from low #IV up to natural IV.
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>
Log Flash magic on load failure, expose RTT flash bin3, and document the 0903 pack offset for the universal bank.
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>
Pick fires on downstroke; #IV drops an octave; local songs use 2.bin; transpose updates notes without restart; intro starts on key I; boot string volume/PC corrected.
Co-authored-by: Cursor <cursoragent@cursor.com>
Harden reset/recover when RTT is missing, and stream touch/UI events only on press for field debugging.
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>
Replace the old volume bars with 5 rounded-top bars using a left-to-right brightness gradient, synced from the ADC volume pot.
Co-authored-by: Cursor <cursoragent@cursor.com>