Commit Graph

134 Commits

Author SHA1 Message Date
yuquanjun 3c81607daf fix(chord): play sheet accompaniment sequences and chord tones
III-VII shapes use the C-major sequence column with the same fixed-key offset as the strings. Chord tones follow the decimal column. Bump firmware to 0.2.57.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 19:22:17 +08:00
yuquanjun 99c2d84465 chore(release): bump firmware to 0.2.56
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:59:12 +08:00
yuquanjun 605af8f045 fix(chord): apply fixed-key voicings from the new chord sheet
Stop adding transpose to every string and AutoBand tone. Each degree now uses the C-major source fret from the sheet, with +1 only where the sheet marks it.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:38:23 +08:00
yuquanjun e49f5a06fc chore(release): bump firmware to 0.2.55
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 09:34:38 +08:00
yuquanjun d16c3320fd fix(led): reverse neck lamp colors so degree 1 is white and 7 is red
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 09:34:02 +08:00
yuquanjun b9bf460232 chore(release): bump firmware to 0.2.54
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 06:48:50 +08:00
yuquanjun 57e2789659 fix(ui): keep playback and mode keys while the settings pages are open
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 06:47:59 +08:00
yuquanjun 6166bb8346 chore(release): bump firmware to 0.2.53
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 11:31:15 +08:00
yuquanjun a68b978c08 fix(univ): finish the universal outro so the pick can start again
Keep the last 1/2/3 fill on screen, and leave neck lights all green in normal and expert unless the app is guiding them.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 11:20:51 +08:00
yuquanjun ccad4570d8 fix(led): keep app chord lights when strumming during sing-along
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 16:11:28 +08:00
yuquanjun ac01d0f6b7 fix(ui): ignore fill keys 1-4 on the system settings page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 15:41:12 +08:00
yuquanjun 9b9aaeaadf fix(ui): keep the boot logo until the light show finishes
Mode select was covering the logo before the side lights played. Firmware is 0.2.52.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 18:37:42 +08:00
yuquanjun a8bf9a3a91 fix(power): skip boot lights and sound-board init below 6.8V
A protected pack only trickle-charges, so Dream, the 12V rail, and the amp stay off until the pack is above 6.8V. Firmware is 0.2.51.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 17:58:02 +08:00
yuquanjun 6ce5d7a453 fix(audio): hold mode entry until the sound board finishes init
Dream power-up now overlaps the boot light show. Mode keys, the pick, and side keys stay ignored until MIDI config has been sent, so a fast tap cannot play before the board is ready.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 17:24:16 +08:00
yuquanjun cb6c2da5ce fix(bpm): play each track at its default tempo and keep only the remembered settings
Boot and song changes use the universal and rhythm BPM tables, with style 20 at 91. Factory restore and power-on now follow the persistence sheet, and the firmware version is 0.2.49.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 17:11:49 +08:00
yuquanjun bd40b076b7 chore(release): bump firmware to 0.2.48
Pick is start-only in universal mode, and the key-board LEDs recover after the board is reinserted.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 17:33:28 +08:00
yuquanjun 3fab5024a9 fix(pick): ignore universal-mode strums while playback is running
The pick only starts the piece. A later strum must not restart the preamble or change the chord.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 17:28:15 +08:00
yuquanjun 8c8c728752 chore(release): bump firmware to 0.2.47
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 16:57:17 +08:00
yuquanjun 53c21eee50 chore(release): pack tone resources 1008 and bump to 0.2.46
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 20:45:20 +08:00
yuquanjun e0860dd375 chore(release): bump firmware to 0.2.45
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 16:29:30 +08:00
yuquanjun 75ee80722c fix(midi): map concert steel to Bank1 program 24
Bump firmware to 0.2.44 so slot 1 stays Bank1 program 24 and slot 2 stays program 25. Rhythm presets no longer replace the string voice on channel 0.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 16:22:42 +08:00
yuquanjun 11ddab46f5 fix(ui): boot string tone as concert steel guitar
Show item 1 (Bank1 program 24, catalog tone 25) after power-on, and bump firmware to 0.2.43.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 12:15:08 +08:00
yuquanjun 3f1c1c74ba fix(ui): boot string tone to Bank1 program 25
Keep the last rhythm across soft power cycles, and bump firmware to 0.2.42.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 10:59:59 +08:00
yuquanjun be84c22479 fix(nvm): reset rhythm and string tone on power-up
Do not restore the last rhythm type or string timbre after a reboot or soft power cycle.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 10:46:53 +08:00
yuquanjun 233dd0de69 chore(release): bump firmware to 0.2.41
Ship the new AutoBand Stop timeline-jump library as MCU 0.2.41.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 22:24:51 +08:00
yuquanjun c007b4e40d feat(tone): ship the 1002 rhythm pack as firmware 0.2.40
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 13:06:35 +08:00
yuquanjun 296a1b5420 feat(tone): ship the 0928 rhythm pack with Hall2 reverb and PEQ
Load the updated 1.bin and apply the sound-designer Hall2 and four-band EQ at startup. Version 0.2.39.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 17:53:06 +08:00
yuquanjun cd4f1cd902 chore(release): bump firmware to 0.2.38
Ship the restored flat amplifier EQ together with the 6.8V-to-10% battery gauge.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 17:16:58 +08:00
yuquanjun e0b91d17b4 chore(release): bump firmware to 0.2.37
Mark the boot mute change so the release package matches the speaker pop fix.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 10:11:48 +08:00
yuquanjun d7cd10eb08 fix(amp): mute the speaker before the 12V rail finishes rising
Hold master mute from shortly after the boost turns on through EQ setup, then let the chip fade in so boot does not pop.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 10:11:11 +08:00
yuquanjun 29507014f5 chore(release): bump firmware to 0.2.36
Tag the single amplifier init so the shipped version matches the string-tone fix.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 09:53:20 +08:00
yuquanjun df0fd0f6d0 fix(amp): init the amplifier once after the string clock is up
Bring up 12V and Dream together after the boot lights, then configure the amp a single time so the string tone stays intact and the unmute write is not lost.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 09:47:47 +08:00
yuquanjun 3220602f89 fix(pwr): show the charge page, then blank it after 10s below 6.8V
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-27 18:15:03 +08:00
yuquanjun 8bf68e256d fix(pwr): shut down at 6.8V and light the charge page only above it
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-26 15:06:36 +08:00
yuquanjun e6de959366 fix(pwr): keep the pack above 6.8V and unmute the amp after 12V is up
Show the real battery percent, shut down at 6.8V even while Type-C is connected, and leave the charge screen dark so it does not drain the pack. Initialize the amplifier only after the 12V rail has settled.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-26 07:35:09 +08:00
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 80faaa4f9f fix(pwr): treat all play/UI inputs as auto-off activity
Centralize idle-timer reset on touch/volume/tap/transpose in UI task, and on pick, fretboard, side keys, round keys, and string NoteOn. Pause auto power-off countdown while accompaniment is playing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 20:48:18 +08:00
yuquanjun 84b6e4f15a chore: bump firmware to 0.2.29 and refresh release pack metadata
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 20:12:56 +08:00
yuquanjun 67a5fe5d60 fix(band): revert soft-stop; ignore round/side keys on mode select
Restore hard AutoBandTop1_Stop and drop eaten-start/followup tick-gate.
Keep API stubs for callers. Block TM1617 round keys and reinforce side-key/BLE gates while InModeFlag is false.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 20:08:27 +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 f116e17529 chore: bump firmware to 0.2.28 and refresh release pack metadata
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 08:12:26 +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 3c01dc8c28 fix(free): remember last fret chord in expert and free modes
Shared last-chord memory; no-fret pick in free mode plays that chord.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 07:59:56 +08:00
yuquanjun 9ae3f5ec5e fix(free): keep expert fret chord (e.g. VI) for no-fret pick
Do not force I on free pick; reuse last expert KEY_ID / remembered chord after mode switch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 07:53:57 +08:00
yuquanjun a322ed369c fix(ram): pack Global.c statics to fit SRAM (was 8 bytes short)
Shrink even-beat stop tick to 32-bit and fold univ/expert/free flags into single bytes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 07:47:15 +08:00
yuquanjun e7c9cd91f1 feat(free): allow pick start without fretboard using expert-stop key
Normal-mode pick with no fret held applies the last expert stop transpose, starts on I, and arms even-beat stop if idle.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 07:43:46 +08:00
yuquanjun 5c30baef89 feat(universal): pick starts with preamble then loops section 1
Exit piece for AutoBand Preamble, then enter piece RunVar0 with loop so the intro is not repeated.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 06:57:01 +08:00