Commit Graph

106 Commits

Author SHA1 Message Date
yuquanjun 89a3e5f95f fix(pwr): reach mode select before boot LED show while charging
Bump firmware to 0.2.31. Skip the color LED sequence on USB power-on so a depleted pack can leave the logo screen and charge normally.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-25 21:04:51 +08:00
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 91b33a4515 fix(boot): end startup LED on green; reset idle timer on mixer touch
Boot color sequence last frame was cyan; use mode-select green instead.
Mixer fader drag returned before ResetAutoPowerCount, so sliding volume could still hit auto power-off.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 20:43:11 +08:00
yuquanjun 18394d0b9b fix(pick): block accompaniment until a play mode is entered
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 18:42: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 3a09db55ee fix(led): start boot light show with LCD logo
Init TM1629 before POWER_ON and run the color sequence during the logo dwell instead of after mode select.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 06:46:43 +08:00
yuquanjun 15a647d8b4 feat(led): match prototype boot light show Blue-Cyan-Red-Cyan
On POWER_ON, fret-side LEDs follow the sample-unit '开机彩灯' sequence instead of jumping straight to solid green.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 06:39:00 +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 6d01d2cbb1 fix(mixer): ignore section keys and lock the grabbed fader
TM1617 keys injected fake touches at y=255 which slammed mixer sliders to 1. Lock the pressed fader until release and shrink overlapping hit boxes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-23 07:23:08 +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 a80c2216ea fix(free): keep all fret LEDs green during normal-mode playback
Disable LOOP_LIGHT rhythm chasing in free mode so LEDs stay solid green instead of moving with the beat.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 17:18:30 +08:00
yuquanjun 8fa5220b82 fix: universal outro all-green LED; expert local song keeps playing after section+fret
Keep fretboard LEDs all green during outro, and for expert local songs treat section-key + fret changes as continuous chord updates like rhythm mode (no mid-session Stop).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 15:13:53 +08:00
yuquanjun 287c3f6799 fix(ble): sync timbre/style UI via UI task to avoid hardfault
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>
2026-09-19 19:07:23 +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 30af9c75ed merge: feature_bank dual MIDI bank + toneRes 0916_bank into develop
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 13:59:17 +08:00
yuquanjun 1201d9f9d0 fix(ui): further darken top/bottom separator lines
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 20:06:47 +08:00
yuquanjun dd55181937 fix(ui): darken top/bottom separator lines
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 19:43:03 +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 125eb00aa3 fix(power): prevent charge-boot long-press from auto power-off
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>
2026-09-16 15:10:34 +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 713a768733 Disable fretboard chord/stop side-effects in universal mode.
Ignore TM1629 keys 0-21 in universal so pad no longer changes KEY_ID or arms OutTime_Stop; keep tap-tempo and stop. Clear stale KEY_ID/PressFlag when entering universal tab.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 12:36:39 +08:00
yuquanjun 24261942d8 Map universal section-4 to Postamble outro and share AutoBand_StartOutro with ADC.
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>
2026-09-14 12:24:35 +08:00
yuquanjun 2d62e1e41a Stop drawing status volume bar on mixer page to avoid erasing the back button.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 19:29:47 +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 a818065c2e Fix mixer knob outline at max volume by seating the knob on the track capsule ends.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 16:33:03 +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 015417dc3d Enlarge bottom nav touch zones to full-width 60x55 cells under the section buttons.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 11:01:40 +08:00
yuquanjun 6f2f7b6b75 Remove mode-select top stripe cover that left an extra line.
The ROW_BG full-width fill over the universal row top corners showed as a second separator under the status bar; source art no longer needs it.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 08:00:06 +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 50e847e2ee Use 0907 hub icons and full-screen flash-mode artwork.
Replace settings-hub mixer/gear bitmaps, and show Boot IAP screen from UI0902_FLASH_MODE in external Flash.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 11:16:45 +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 7c76b8302a Reduce flicker when switching between the three play modes.
Home-page mode switches now redraw only the mode card and nav bar instead of clearing the full screen.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 21:42:01 +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