Commit Graph

113 Commits

Author SHA1 Message Date
yuquanjun cd21e4e45e Always enable loop on universal-mode pick so accompaniment can play.
Without SetLoopMode the piece path often produced no audible output when the chord pad was not held.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 11:35:14 +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 57448b3da8 Harden BLE protocol test for Windows pairing and flaky notifies.
Default --unpair on Windows, probe/reconnect on first timeout, resync FrameParser on duplicate F0, and retry query once.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 22:14:18 +08:00
yuquanjun 0aedb45e6e Make BLE SysEx UID and fw-code MIDI-safe for BLE-MIDI.
Encode 01 07 UID as hex ASCII and use 01 0F (keep 01 FF alias) so high-bit bytes are not dropped as timestamps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 22:02:06 +08:00
yuquanjun 7b08f5e098 Start BLE UART4 App protocol receive on power-on.
TaskBTRecvThread previously started only after mode select, so GATT SysEx never reached the parser until then; verified BLE-MIDI 01 01 now replies with GATT notify.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 21:46:14 +08:00
yuquanjun f762348883 Merge branch 'main' into develop 2026-09-08 18:15:45 +08:00
yuquanjun 7138123201 Release 0.2.6: refresh HKTK 2.bin from Doc/音色文件/0908/2ss_2.bin.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 18:09:15 +08:00
yuquanjun 8febbd7742 Align BLE SysEx style/transpose replies with Doc protocol and add BLE test harness.
Drop ineffective Dream BT rename SysEx; fix 03 04 boot/list/total and 03 07 read length.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 18:05:04 +08:00
yuquanjun bd22246942 Use AT32 UID for unique PHON_ name and push it to Dream over SysEx.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 12:37:29 +08:00
yuquanjun 725ac495ba Merge main: bring Release 0.2.5 (2ss.bin tone pack) into develop.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 10:18:06 +08:00
yuquanjun f1e4177e92 Release 0.2.5: refresh HKTK 2.bin from Doc/音色文件/0908/2ss.bin.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 10:13:06 +08:00
yuquanjun 01bc2a592c Implement full BLE SysEx protocol handlers and app-sim test.
Wire missing 01/02/03/05 commands, fix chord-map reply and section/End dispatch, and add UART4 protocol regression script.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 10:00:55 +08:00
yuquanjun a6259b5fca Release 0.2.4: package Boot with UI0902 flash-mode screen.
EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 05:51:58 +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 c4852aca5d Restore WenQuanYi 择 glyph matching the known-good UI shot.
Drop the hand-tuned/mislabeled variants; use the 9pt Song bitmap that matched the first-version 弦音色选择 look.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 15:22:10 +08:00
yuquanjun 4d0b015a07 Restore first-version 择 bitmaps for mode-home labels.
Keep GBK D4F1 mapping but revert glyph data to the pre-regeneration art that matched the known-good UI look.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 15:18:22 +08:00
yuquanjun 68aec080c8 Fill 择 to full cell with clearer hand-tuned strokes.
Label-size glyph now matches neighbors edge-to-edge (0..10) with a stronger 扌 so 弦音色选择 stays readable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 15:14:00 +08:00
yuquanjun c4969c895c Redraw 择 glyph full-cell from WQY 16px source.
Label-size 择 was inset and hard to read; scale the clear 16px bitmap into each size so it matches neighbors edge-to-edge.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 14:51:19 +08:00
yuquanjun e11ec36ca5 Fix missing 择 on mode-home timbre label.
Font table had wrongly mapped GBK 议 (D2E9) as 择; remap to D4F1 and regenerate the MiSans glyph so 弦音色选择/歌曲选择 render fully.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 13:48:18 +08:00
yuquanjun 0e5a8efdd8 Rename timbre row label from 选议 to 选择.
Fixes the GBK UI string shown above the string-timbre control on all three mode home screens.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 12:14:27 +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 8c941905e7 Refresh UI0902 address map after transparent icon pack rebuild.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 09:30:59 +08:00
yuquanjun 23c2dee80f Release 0.2.2: package ALL extflash only and bump firmware version.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 09:29:01 +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
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 029313ce99 Nudge status-bar battery icon and percent down by 2px.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 18:41:18 +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 49af730f91 Release 0.2.1: persist mixer volume across power cycles.
Sync faders on shutdown and re-apply LoadConfig after DSP boot so
saved mixer levels and master pot stay consistent after power-off.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 12:29:42 +08:00
yuquanjun 794345d3ba Enable chord-progression LEDs in universal mode.
Drive measure-synced Loop_Light for TAB 0 (and settings entered from it) using the same 1645/1564/1364 rules as normal mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 08:41:30 +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 6436477ec2 Default pick-down accompaniment to current-key I chord.
When no left-hand chord is selected, Pick_Handle uses index-1 major (same as preamble) so strumming still starts Autoband.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 07:20:08 +08:00
yuquanjun ee900b5657 Sync master volume from EC pot on every page and at boot.
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>
2026-09-06 07:15:04 +08:00
yuquanjun db03ac501c Fix broken size-16 ASCII glyphs used by transpose key names.
Regenerate ascii_1608 from LiberationSans and lower binarization threshold so E/A/B strokes stay complete when switching keys.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 07:12:41 +08:00
yuquanjun 740c709a82 Persist mixer fader levels and fix mic map for level 10.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 21:56:14 +08:00