Boot and song changes use the universal and rhythm BPM tables, with style 20 at 91. Factory restore and power-on now follow the persistence sheet, and the firmware version is 0.2.49.
Co-authored-by: Cursor <cursoragent@cursor.com>
The charging glyph kept a fixed yellow bar. Clear that bar from the icon and paint the cavity from the current percent, in the same yellow as the bolt.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match the requirement screen using the settings-hub method, and keep the glyphs 1-bit so the image still fits in application flash.
Co-authored-by: Cursor <cursoragent@cursor.com>
Bump firmware to 0.2.30. The 11px font now has the update glyphs, and the flashed boot image stays in USB programming when that mode is saved.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match the card box to the reference, put the value on the same center line as the arrow and plus-minus chips, and use MiSans for the 16px digits.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove divider lines, add language and USB-update confirm pages, and store both in NVM so boot can enter IAP.
Co-authored-by: Cursor <cursoragent@cursor.com>
NavBar no longer forces I after stop; remember context before leave and prefer saved fret chord on no-fret pick.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the old 11x17 glyph and gray slash with dedicated on 13x20 and off 19x20 assets from the 0923 pack.
Co-authored-by: Cursor <cursoragent@cursor.com>
Hit area on mode/home/settings hub; off state uses gray icon + slash until a disabled asset is ready. Syncs system setting and NVM.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the status-bar outline+fill with the 0918 lightning battery bitmap while charging, and fix Pre-Build git version script UTF-8 decoding on Chinese Windows.
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>
Use Stop_AutoBand (engine stop + all-channel AllNotesOff) when changing nav mode, reloading tone presets, switching songs/progressions, or returning to mode select. Also fix AllNotesOff to address all 16 MIDI channels.
Co-authored-by: Cursor <cursoragent@cursor.com>
Nav-bar mode switches bypassed the legacy TAB path that called all-on green, so LOOP_LIGHT red LEDs stuck until reboot.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match dual-bank tone ROM so accompaniment volume scaling no longer shares patches with the main string voice; bass program updated to 34.
Co-authored-by: Cursor <cursoragent@cursor.com>
Settings showed only 关 because GBK 闭 was absent from CHS font tables; append WenQuanYi bitmaps for all sizes and keep the patch helper.
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>
When switching from a longer title to a shorter one, the old gradient-only clear left uncovered glyph fragments outside the pill bounds.
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>
Matches 0902-07: restore is a drill-in row with thin > (ICON_CHEVRON), not the prev/next filled triangle.
Co-authored-by: Cursor <cursoragent@cursor.com>
Fixes the left-biased index+name layout, unifies index-name gap across rows, and shifts play-section numbers +2px per UI markup.
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>
Reuse the unused Language slot as BluetoothSW, sync top-bar icon from the saved switch, and keep factory restore defaulting Bluetooth to on.
Co-authored-by: Cursor <cursoragent@cursor.com>
Raise ascii_115 '4' to match '5' height, nudge auto-off digits down 2px, and align version box / restore chevron to the shared val_x2 right edge.
Co-authored-by: Cursor <cursoragent@cursor.com>
Unfocused FillRoundRect left blue pixels from the prior gradient roundrect; erase the full card box to page background first.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use correct BT/restore glyphs and triangle steppers, put version periods on the baseline, and center auto-off minutes between the triangles.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use a lighter gray-blue at 2px so top and bottom dividers stay matched and readable on the dark background.
Co-authored-by: Cursor <cursoragent@cursor.com>
Put the status divider at y=36 and start mode rows at CARD_Y=48 so Universal matches transpose/tempo tops with draft row height 88 and pitch 92.
Co-authored-by: Cursor <cursoragent@cursor.com>
Bottom fill started at y=263 and erased the lower 2px of the r=6 roundrects, so bottoms looked flatter than tops.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep icon and % as one right-aligned group, and leave a 1px gap between fill and shell so they no longer touch.
Co-authored-by: Cursor <cursoragent@cursor.com>
Single-tap mode entry, hide top separator and row artifact line, center battery with vol/BT, and make % match digit height.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep L/R walls when generating the outline asset, tighten fill to the cavity, and nudge the icon up so the bottom edge is not clipped.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use 1-bit RGB565 labels for 取消/确认 to avoid font corruption, and map autoclose to 15/30/45/60/off per the user manual.
Co-authored-by: Cursor <cursoragent@cursor.com>
Correct GBK codes for 取/消 so Cancel text shows; draw mixer back bitmap on mixer/settings/restore headers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Centers 40/100/160/210, SECTION_Y 231, and SET_ROW 16x207 so play/settings pages match the standard art.
Co-authored-by: Cursor <cursoragent@cursor.com>
Confirm page now persists factory BPM/vols/params via drv_nvm and matches 0902-07/08 icon and button text spacing.
Co-authored-by: Cursor <cursoragent@cursor.com>
UI shows LocalSongNames instead of bare indices; pack regenerates the header; WQY font gains the four display characters.
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>
Settings hub/mixer/system/restore match 0904 layouts; regenerate Chinese bitmaps without shrinking native 16px cells so strokes stay continuous.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the mistaken fill bitmap that embedded "80%" text with a solid level bar, right-align size-9 "N%" with reserved 100% width, and refresh Free/Expert battery updates.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move KEY/BPM values and chevrons toward mode.png rhythm, drop musical-flat b and digit dilation so Db and body digits stay complete without looking bold.
Co-authored-by: Cursor <cursoragent@cursor.com>