Commit Graph

133 Commits

Author SHA1 Message Date
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 96fd815ca9 fix(band): cut intro and endings in immediately
Normal and expert modes no longer wait for the next bar before preamble, interlude, outro, and ending. Universal mode ignores those keys. Bump firmware to 0.2.22.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-23 08:39:39 +08:00
yuquanjun 93e633472a fix(xpose): allow neck transpose in universal after pick hold-up
Universal TM1629 path dropped keys 0-21 before BP_Transpose. Route pick-hold neck keys to transpose, add RTT pick hold inject and a HIL script.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-23 07:43:46 +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 cb4443f0e4 fix(led): use identity colors on universal progression lights
Loop_Light_Handle was hardcoding red for every measure; map L1-L7 to the same R/G/B/yellow/purple/cyan/white table as App guide LEDs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-23 07:08:48 +08:00
yuquanjun d00f570e2f fix(band): soft-stop on stop key so immediate pick can start
Stop key no longer calls AutoBandTop1_Stop (library eats the next Start). Soft mute + tick gate runs on MainTask; cold start skips redundant Stop when already clean.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 17:42:03 +08:00
yuquanjun ef41eb30fa fix(chord): song-mode LED no longer overwrites chord map (6m/Am -> AM7)
Problem2: in song mode UI shows 6m(Am) but MIDI played AM7
(E2 A2 E3 G#3 C#4 E4). Root cause: BL_Set_led wrote the LED frame's
chord code into chord_type_index_map of the group middle key
(LED_L6 -> key17), so a guidance frame carrying 0x02 (M7) turned the
Am key into AM7. Remapping on the chord page only helped until the
next LED frame.

- BL_Set_led: light LED only, drop all chord_type_index_map writes;
  chord quality is owned by map page 02 03/02 04 (BT_Chord_offset_map)
- handleReadRhythmMap / Return_Light_buff: fix type->protocol read-back
  encoding (m7->0x0A, M7->0x02, ad9->0x04, m7-5->0x0B, sus2->0x1F,
  sus4->0x1E), re-landing the 0917 verified fix
- BT_Chord_offset_map: accept dominant-7 doc code 0x0D (legacy 0x13 kept)
- tests: test_chord_map_fix.py (16/16 PASS on device),
  test_fret_positions.py, test_problem2_song_am.py (7/7 PASS:
  post-LED strum stays E2 A2 E3 A3 C4 E4)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 11:40:51 +08:00
yuquanjun cd32b4120b release: bump firmware to 0.2.20
Low-battery shutdown below 6.2V with tip screen and 10s soft power-off; UI0902 includes LOWBAT_TIP fullscreen asset.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 17:53:30 +08:00
yuquanjun 1b1b9b196d feat(power): low-battery tip screen and auto power-off below 6.2V
Stop all sound, show UI0902 LOWBAT_TIP fullscreen, then soft-off after 10s. Skip while charging; speed up ADC sampling near empty. Pack new tip bitmap into ExtFlash UI0902 map.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 17:53:13 +08:00
yuquanjun 878f3b41f1 release: bump firmware to 0.2.19
I/II+#F overall -12 transpose mapping; free-mode keeps all fret LEDs green (no LOOP_LIGHT). Carries 0.2.18 free even-beat stop, KEY_ID wind-down, universal outro, and expert local-song continue.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 17:23:09 +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 f135027647 release: bump firmware to 0.2.18
Free-mode even-beat release stop; keep fret KEY_ID during wind-down so register octave does not jump up before stop. Also includes universal outro all-green LED and expert local-song continue after section+fret.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 15:52:58 +08:00
yuquanjun 158c02d27b fix(free): stop accompaniment on next even beat after fret release
In normal mode, releasing the fretboard now finishes the current beat-pair (beat 1→end of 2, beat 3→end of 4) instead of cutting immediately.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 15:23:10 +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 56a5a253ca release: bump firmware version to 0.2.17
Include Type-C charging battery icon and BLE timbre/style UI sync fix already on develop; add RTT midi/string inject helpers for mic pitch calibration. Tone pack remains 0916_bank.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 07:18:44 +08:00
yuquanjun e721c8e67c release: bump firmware version to 0.2.16
Stop accompaniment on mode/song switch; restore all-green LEDs when leaving universal; default pick/preamble to current-key I chord after soft boot.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 16:18:52 +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 ca0244d0d5 release: bump firmware version to 0.2.15
Dual MIDI bank (accomp bank0 / string bank1) + toneRes 0916_bank; keeps local-song mid-play and power-on KEY_ID fixes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 14:00:01 +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 8a8c7ec377 release: bump firmware version to 0.2.14
Local-song mid-play fret/pick no longer Stop+Start (avoids AutoBand silent fail); soft-off power-on resets KEY_ID/PressFlag/StartFlag so pick starts at degree I.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 07:11:09 +08:00
yuquanjun 064fabf249 fix(power): reset performance state (KEY_ID_1629/PressFlag/StartFlag) on power-on after soft-off
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 07:06:20 +08:00
yuquanjun dc5b7f4391 fix(expert): local song no Stop+Start while playing (fret change / re-pick)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 07:05:04 +08:00
yuquanjun d11d217b02 release: bump to 0.2.14 with toneRes 0916_bank
Repack ExtFlash from Doc/音色文件/0916_bank; BIN3 stays at 0xA7437 (2.bin length unchanged).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 18:32:13 +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 6fbeaa4881 release: bump firmware version to 0.2.13
Ship expert fretboard continue for local songs and tone resource pack 0915.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 21:01:30 +08:00
yuquanjun 5f41af27e7 fix(expert): 专业模式仅按指板即可续奏下一和弦,无需再拨片
App 连机专业模式下,起奏后按亮灯指板即可继续播放:
- 本地曲目(App 和弦曲目)/段落停止时:指板键投递 MSG_ID_BP_KEY 给主任务,
  走与「指板+拨片」完全相同的 Pick_Handle 起奏路径(扫描线程内直接
  Stop+Start 会无声,主任务上下文正常),Pick_Handle 内 Return_Light_buff
  通知 App 亮下一节
- 节奏库播放中:保持说明书行为,仅 Note_On 换和弦音 + Return_Light_buff
- 去掉 Last_Tm1926D_Key 去重:相邻两节可能是同一和弦键,松手再按必须能续奏
- 新增 Band_TrackPlayTick/Band_IsPlaying:8ms 周期跟踪 AutoBand PlayTick
  判定伴奏是否进行中
- 抽出 Expert_StartWithChord 公共起奏函数,拨片/指板共用
- tools/_test_expert_fret_restart.py: 指板续奏 RTT 回归测试

HIL 验证: pitch reg OK=41 FAIL=0; packs 9/9 PASS

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 19:13:10 +08:00
yuquanjun 61caeb7407 release: bump firmware version to 0.2.12
Include autoclose 关闭 glyph fix and recent normal-pick / HIL / flash-tool work in the release tag.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 22:09:09 +08:00
yuquanjun 4c6e2122ed fix: normal rhythm pick via piece; ACK UI before LCD; flash-busy power guard
Require fretboard in normal mode per manual; use SetPiecePlayMode for 1.bin. ACK ui boot/charge before full-screen draw, add RTT flash all and tone pick free, and skip soft-off while ExtFlash transfer is busy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 21:49:16 +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 7fa2f5f1c4 release: bump firmware version to 0.2.9
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 16:27:04 +08:00
yuquanjun f841d9e7b1 Normal mode: pick sounds held chord; release stops accompaniment.
Require left-hand pad held (PressFlag) before pick starts; skip the default I-chord fallback in normal mode. Release (key 0) stops AutoBand immediately instead of looping.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 12:55:22 +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 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 05ccf28a4b Release 0.2.8: harden BLE SysEx receive path for app stability.
Bump firmware version after BT recv stack/log fixes and pitch/chord bounds so Phoenix Atelier map/LED traffic no longer stack-smashes the MCU.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 07:02:22 +08:00
yuquanjun 59c11f3f93 Fix BT recv stack smash and harden pitch/chord SysEx paths.
Enlarge BT recv stack, move large handlers/log buffers off the stack, clamp key indexes, and yield in W25Q busy-wait so BLE protocol tests stay stable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 06:51:32 +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 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 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 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 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 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 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 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 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 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 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 57caea9bf7 Fix Cancel 取/消 glyphs and enable auto power-off timer.
Regenerate MiSans bitmaps for 取消; tick idle countdown and shut down when timeout elapses.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 18:13:31 +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 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 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 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 b139aa7ca7 Scale mode-page widgets to 0902 reference proportions.
Apply measured 240x320 geometry for cards, tabs, rows, and section buttons, and recenter text so KEY/BPM, battery %, and row labels no longer clip.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 12:43:19 +08:00
yuquanjun 89e7401955 Align mode pages to 0819 font sizes and four-key bottom nav.
Apply label/body/hero hierarchy (11/13/16), enlarge section digits to 13, and switch the bottom bar to 万能|普通|专业|设置 while keeping touch/key logic.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 11:58:08 +08:00
yuquanjun 65f38bb5a3 Fix TAB missing glyphs and tighten mode-page typography.
Use size-12 tabs with full 节/类/型/地/目 coverage, denser MiSans bitmaps, dark row chrome, and safer section-label draw order; skip ASCII regen by default.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 09:19:29 +08:00
yuquanjun c8e32958a7 Restore 演奏段落 and reduce Chinese glyph clipping.
Widen TAB text margins at 11px, regenerate section/timbre labels, and regenerate MiSans bitmaps with padding so strokes are not cut.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 08:28:30 +08:00
yuquanjun 89e28ce693 Align three mode pages with 0902 layout and fonts.
Sync card/row/tab geometry, hollow chevrons, section select, bottom-bar Y, MiSans CHS12 glyphs, and RTT TAP x,y for UI capture.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 08:11:16 +08:00
yuquanjun f8675e3529 Reskin UI with 0902 design assets and 3-icon bottom navigation.
- Mode select page draws 222x84 row bitmaps from external flash
- Mixer page uses flash track/knob images with picture labels
- Settings and restore pages re-laid out with 0902 row style
- New status bar icons and battery outline+clip fill rendering
- Add LCD_WR_PIC_ClipX and LCD_WR_PIC_FROM_FLASH_Trans draw APIs
- Replace 4-tab bar with GUI_NAV_BAR 3-icon bottom navigation
- Swap 0831 assets for UI0902 in the IAR project file

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 13:37:25 +08:00
yuquanjun 9b3d457da6 Fix boot black screen and mode-select touch Y-axis mapping.
Send POWER_ON before slow peripheral init, enable backlight at LCD init,
init W25Q128 early, and avoid App_Auto preset load deadlock. Disable
LCD dump by default and enlarge UI thread stack for stable drawing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 12:16:05 +08:00
yuquanjun 7fea921727 Add J-Link RTT logging module with RAM ring buffer and dump tool.
Log boot/power/touch/key/UI/NVM events; export via rtt_log_dump.py for field diagnostics.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 11:24:10 +08:00
yuquanjun b8eaf2c808 Fix mode-select focus and touch pipeline; add return-to-home gesture.
Preserve focus across redraws, improve XPT2046 sampling, and log touch coords via RTT for ongoing debug.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 11:13:01 +08:00
yuquanjun 68e3a37883 Fix mode-select layout/battery margins and enable reliable post-flash boot.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 08:20:24 +08:00
yuquanjun 27cf30cbe4 Align UI focus colors with 0819 spec and fix J-Link flash script usage.
Only the focused control uses the blue gradient; unfocused widgets use the dark normal background. Drop invalid Commander commands from IAR jlink_script_file to stop V5.10m parse popups.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 06:10:13 +08:00
yuquanjun 43083fd3f1 Switch LCD UI to MiSans bitmap fonts and align typography/colors with 0819 UI spec.
Regenerate Chinese/English font tables, extend LCD driver for new sizes, and update screen layouts; add gen_misans_font.py for reproducible font builds.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 11:24:06 +08:00
yuquanjun 3302c92f5a Initial commit: YNGJ-GT1-M K1电吉他 AT32F403ARCT7 嵌入式源码
包含 IAR 工程、Bootloader、RT-Thread、应用层及外设驱动源码。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 07:26:58 +08:00