Commit Graph

68 Commits

Author SHA1 Message Date
yuquanjun 1cc4d400ef fix(usb): show USB update and enter the loader after confirm
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>
2026-09-25 20:33:26 +08:00
yuquanjun 4063bab4b5 fix(ui): align transpose and tempo controls with the 0924 mockup
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>
2026-09-25 11:16:20 +08:00
yuquanjun ea60c1fb62 feat(ui): apply 0924 layout with language and USB mode
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>
2026-09-25 07:39:32 +08:00
yuquanjun 4bfe3ca008 fix(free): preserve expert chord/transpose across mode switch
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>
2026-09-24 08:05:50 +08:00
yuquanjun 3c102a918f feat(ui): use 0923 status-bar Bluetooth on/off icons
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>
2026-09-24 06:15:10 +08:00
yuquanjun 04abc2e1be feat(ui): tap status-bar Bluetooth icon to toggle power
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>
2026-09-22 17:42:04 +08:00
yuquanjun fd58637e9d feat(ui): show charging battery icon when Type-C is plugged
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>
2026-09-19 17:58:33 +08:00
yuquanjun 3274c7d4fb fix(play): default pick/preamble to current-key I chord after boot
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>
2026-09-17 16:18:14 +08:00
yuquanjun 6c8a3a3d3b fix(play): stop accompaniment fully on mode and song switch
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>
2026-09-17 16:05:13 +08:00
yuquanjun bf1a539e44 fix(led): restore all-green fret lights when leaving universal mode
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>
2026-09-17 16:00:17 +08:00
yuquanjun 11efccc19e feat(midi): select Dream bank0 for accomp, bank1 for string timbre
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>
2026-09-16 18:29:48 +08:00
yuquanjun eed22d4b8c fix(ui): add missing 闭 glyph for autoclose 关闭 label
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>
2026-09-14 22:07:57 +08:00
yuquanjun d06e44bcb3 fix: keep power key alive on hang; refuse play when tone pack missing
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>
2026-09-14 20:19:45 +08:00
yuquanjun f8aeb4fb7c release: 0.2.10 — tone pack 0914 (BIN3 after 2.bin), autoclose label 关闭
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 19:37:57 +08:00
yuquanjun 4aad989263 Reapply master volume at boot/mode-entry/play-start and sync volume bar on settings hub.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 18:58:24 +08:00
yuquanjun 295a2a6fa3 Fix song-name trailing ghost by clearing the full text row before redraw.
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>
2026-09-10 10:46:11 +08:00
yuquanjun 24ffe87527 Refresh bottom nav with 0909 enlarged icons and aligned label art.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 20:24:39 +08:00
yuquanjun 92e5e32de3 Diagnose BIN3 LoadPreset failures and add flash bin3 tooling.
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>
2026-09-09 11:32:40 +08:00
yuquanjun ba110565f1 Use chevron asset for factory-reset row instead of solid triangle.
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>
2026-09-09 07:50:08 +08:00
yuquanjun ad0d990c55 Center indexed param/timbre labels as one block and nudge section digits.
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>
2026-09-09 07:34:48 +08:00
yuquanjun f1f9520637 Fix settings BT/restore icons and soft-off BLE protocol plumbing.
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>
2026-09-09 07:03:52 +08:00
yuquanjun 4544f8706a Release 0.2.3: fix local song HKTK load/play and keep tone map logs.
Use 41KB preset buffer with compressed 2.bin, expert/normal StartWithNote path, Flash Map address logs, and ship flash-mode/hub assets plus flash helpers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 21:48:54 +08:00
yuquanjun 45686415a7 Nudge transpose/tempo main values up 3px and right 3px.
Only the center KEY/BPM digits move; chevrons, plus/minus, and labels stay put across all three modes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 11:58:49 +08:00
yuquanjun 0a0bd9b3ea Fix system-settings icon dark fill on focus blue rows.
Treat baked #242B3A as transparent when drawing icons, and limit #IV octave drop to keys 10-12.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 09:28:35 +08:00
yuquanjun 280aa1f752 Persist Bluetooth switch in NVM and restore it across power cycles.
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>
2026-09-07 08:26:45 +08:00
yuquanjun f80c16dbef Polish system-settings digit glyph and right-edge alignment.
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>
2026-09-07 08:17:34 +08:00
yuquanjun f076d1714a Clear setting-row bounds before redraw to drop focus corner ghosts.
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>
2026-09-06 21:03:31 +08:00
yuquanjun a02379104d Fix system-settings icons, version dots, and auto-off centering.
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>
2026-09-06 20:56:11 +08:00
yuquanjun 0bf9b77a4a Brighten and thicken shared status and nav separator lines.
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>
2026-09-06 20:01:53 +08:00
yuquanjun 8a7e8169a2 Align status sep and mode-select rows to 0902 draft.
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>
2026-09-06 19:43:47 +08:00
yuquanjun bce08be772 Show chord progression on Universal; rhythm/local on Normal and Expert.
Swap mode-home param rows and tone reload so TAB0 uses 和弦走向 while TAB1/2 keep 节奏类型 and 本地曲目 with 弦音色.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 19:25:09 +08:00
yuquanjun 141f232b91 Restore shared status-bar separator at y=26 on all top bars.
Mode select and mode home pages now draw the same continuous divider after status icons.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 19:04:36 +08:00
yuquanjun 766f7ee0ba Stop nav-bar clear from clipping section-button bottom corners.
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>
2026-09-06 18:49:05 +08:00
yuquanjun d1f1a2cc87 Tighten battery percent spacing and inset the charge fill.
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>
2026-09-06 18:30:15 +08:00
yuquanjun 5daf5e794b Fix mode-select UX and status-bar battery alignment.
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>
2026-09-06 18:19:47 +08:00
yuquanjun c5428ad81f Fix incomplete status-bar battery outline.
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>
2026-09-06 07:57:55 +08:00
yuquanjun 39954589e8 Fix restore Cancel/Confirm bitmaps and align auto power-off to manual.
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>
2026-09-05 19:33:57 +08:00
yuquanjun ce7e488994 Fix restore Cancel glyphs and 0904 subpage back icon.
Correct GBK codes for 取/消 so Cancel text shows; draw mixer back bitmap on mixer/settings/restore headers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:35:56 +08:00
yuquanjun 70e608e2ce Align bottom nav, section, and settings row geometry to 0904.
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>
2026-09-05 07:05:23 +08:00
yuquanjun 66ccfdccf6 Fix factory restore to write NVM defaults and align settings icons.
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>
2026-09-05 06:33:04 +08:00
yuquanjun 8c3c14ccf8 Drive local song titles from CSV and add 海阔天空 glyphs.
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>
2026-09-04 22:15:46 +08:00
yuquanjun 7b5667b179 Reload tone bank after mode Init sets TAB so Expert no longer keeps Universal accomp.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 19:12:29 +08:00
yuquanjun f179a46c5d Fix teacher accomp issues and add ExtFlash chip-erase helper.
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>
2026-09-04 17:06:02 +08:00
yuquanjun c724ddd2c9 Align settings UI to 0904 and fix WQY glyph packing.
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>
2026-09-04 14:43:32 +08:00
yuquanjun c05301d8b9 Map tone Flash banks for pack 0903 and bump firmware to 0.2.0.
Point normal/expert/universal ADDRESS at 1.bin/3.bin bases, add ExtFlash_Tone_Addr.h plus pack/publish helpers for paired MCU+.res releases.
2026-09-04 11:12:22 +08:00
yuquanjun 8f0d0a3a52 Fix status-bar battery to match mode.png with intact percent.
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>
2026-09-04 08:50:00 +08:00
yuquanjun e56f480135 Tune free-mode card spacing and restore readable Latin glyphs.
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>
2026-09-04 08:28:56 +08:00
yuquanjun d7af2cee1a Fix mode-page glyph clip, digit tracking, and nav separator.
Match mode.png: widen card value slots, use ASCII advance spacing so 1364 is not cramped, and draw the section/nav divider line.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 07:30:24 +08:00
yuquanjun 5290d897a0 Align free-mode layout to 0902-04 geometry.
Match card/row/section positions and sizes from the 240x320 reference, restore 16px hero values, and place the 和弦走向 title above the row like timbre.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 06:39:00 +08:00
yuquanjun ce2cfd9cd1 Use 0902 control triangle icons for mode-page nav.
Replace drawn chevrons on transpose/song/timbre rows with 控件-11/12 solid triangle bitmaps from the 0902 asset pack.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 19:44:11 +08:00