Commit Graph

119 Commits

Author SHA1 Message Date
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 5bb403cd11 Add artist self-serve tone pack tool for USB IAP updates of 1/2/3.bin.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 16:37:29 +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 c1b32c0351 Refresh git_user_fw_ver.h for 0.2.7 release commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 12:18:00 +08:00
yuquanjun bb6d9ae7f9 Release 0.2.7: refresh rhythm 1.bin pack with fixed BIN3 layout checks.
Update pack/publish to enforce 41KB song limit, verify 1/2/3.bin at fixed addresses, and emit .res aliases for the tone and ALL extflash images.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 12:17:42 +08:00
yuquanjun 99f7ed3e5a Pin BIN3 to fixed 0xA71AC and reject packs where 2.bin drift shifts it.
Variable 2.bin length previously moved 3.bin; firmware still read 0xA71AC and saw zeros. Pack now pads to the fixed slot and publish verifies DAB headers before shipping ALL.res.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 11:47:15 +08:00
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