Commit Graph

105 Commits

Author SHA1 Message Date
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
yuquanjun d654581f4d Fix mixer labels order, vivid track colors, and solid blue knobs.
Map 伴奏/弦/麦/麦混响 to correct assets, boost track saturation, fill knob disks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 21:30:59 +08:00
yuquanjun f0c60a0024 Draw charge percent with MiSans glyphs for aligned 50%.
Replace bitmap-font % with shared-baseline Semibold digit bitmaps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 21:11:28 +08:00
yuquanjun 055c7de00c Fix corrupt ascii_1608 percent glyph on charge screen.
Replace broken % bitmap so battery percent renders as a clear 50%.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 20:56:14 +08:00
yuquanjun bc41d27730 Fix charge-screen battery percent clip to match 0904 design.
Draw 16px glyphs at y=269 so the full 50% matches the design bbox.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 20:48:52 +08:00
yuquanjun 0e57fa452f Harden charge UI draw when ExtFlash asset missing.
Fill dark background first, overlay % at size 24, and fall back if charge bitmap is erased.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 20:39:11 +08:00
yuquanjun d960d88147 Show full-screen charge UI when USB plugs in while soft-off.
Avoid auto Logo boot on USB reset; enter charge page instead of mode select.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 19:58:42 +08:00
yuquanjun c16a13edc3 Fix long-press power to soft-off instead of MCU reset.
PowerOff was calling nvic_system_reset after cutting rails, and boot auto power-on made it look like a restart.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 19:39:15 +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