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>
Apply Accomp_ApplyDefaultIChord before SyncStart on preamble, on soft power-on/mode enter/nav switch, and on pick fallback. Reset TM1629 key edge state so soft-off residual key_last cannot stick a prior fret.
Co-authored-by: Cursor <cursoragent@cursor.com>
Consume the same power-key hold used for soft-off charge boot before setting powon, and ignore stale POWOFF_CHARG after power-on so mode select stays on screen.
Co-authored-by: Cursor <cursoragent@cursor.com>
TMR7 high-prio watchdog and fault-loop emergency cut/reset so soft-off still works if the main loop or AutoBand ISR dies; skip start when preset load fails.
Co-authored-by: Cursor <cursoragent@cursor.com>
Exit piece mode before Postamble so universal chord loops can switch into the style outro stage once 3.bin has PostambleMIDI.
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>
Apply label/body/hero hierarchy (11/13/16), enlarge section digits to 13, and switch the bottom bar to 万能|普通|专业|设置 while keeping touch/key logic.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Mode select page draws 222x84 row bitmaps from external flash
- Mixer page uses flash track/knob images with picture labels
- Settings and restore pages re-laid out with 0902 row style
- New status bar icons and battery outline+clip fill rendering
- Add LCD_WR_PIC_ClipX and LCD_WR_PIC_FROM_FLASH_Trans draw APIs
- Replace 4-tab bar with GUI_NAV_BAR 3-icon bottom navigation
- Swap 0831 assets for UI0902 in the IAR project file
Co-authored-by: Cursor <cursoragent@cursor.com>