Commit Graph

269 Commits

Author SHA1 Message Date
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 5b2c8137eb fix(ui): draw mixer volume badges from the rounded art swatch
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 16:00:17 +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 71f14f69f9 fix(led): relight the key board after hot-plug or late insert
TM1629 drops display-on when the board loses power, while key reads still work. Re-enable the display and rewrite the current pattern when the board is seen again.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 17:28:15 +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 d07b14c29d fix(midi): raise Em, F, G, and Am plucked string voicings
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 16:55:36 +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 744eea534a fix(autoband): replace lib with Stop timeline jump fix
Drop in the 2026-10-06 AutoBand module_ab patch so Stop advances the
timeline and settles to_stop before the next Start, enabling immediate pick.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 22:18:07 +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 459f73d8fe fix(ui): align transpose note letters on one baseline
Redraw the 16px ASCII glyphs so note names and the flat share one baseline.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-29 17:39:10 +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 49e30681cb fix(amp): drop the prototype EQ and restore the flat coefficients
The captured sample curves made the tone uneven. Rewrite the datasheet bypass values at boot because a software reset leaves the old coefficients in RAM.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 17:16:34 +08:00
yuquanjun 4983a424e5 fix(bat): map 6.8V to 10% and 8.4V to 100%
Stretch the 1.6V working range across the gauge so the low-battery shutdown no longer appears at 35%.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 17:15:41 +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 0e106e4da1 feat(amp): load prototype EQ when the amplifier starts
Write the captured AD85050 channel EQ into coefficient RAM before unmute so boot matches the prototype instead of the chip bypass defaults.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 08:13:45 +08:00
yuquanjun 58e8b3dbc7 fix(ui): step the battery percentage by 5 so it cannot cliff
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-27 18:15:03 +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 cde5a80a3d feat(ui): match system-settings cards and type size to the hub
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-26 15:06:35 +08:00
yuquanjun 03062543e4 fix(ui): fill the charging battery to the live percentage
The charging glyph kept a fixed yellow bar. Clear that bar from the icon and paint the cavity from the current percent, in the same yellow as the bolt.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-26 14:19:36 +08:00
yuquanjun 6f19486b16 fix(boot): show the burn-mode title in white
The source picture painted the glyphs in the page background color, so the screen stayed black. Draw those strokes in white when the external image has no light pixels.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-26 13:11:17 +08:00
yuquanjun fa5aa85bee fix(usb): enter the bootloader after USB update confirm without key 4
Keep the NVM sector out of the application image and arm a backup register that survives reset, so confirm stays in flash mode even when round key 4 is not held.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-26 12:42:29 +08:00
yuquanjun 968f8ae1ec feat(ui): draw system settings with MiSans bitmaps
Match the requirement screen using the settings-hub method, and keep the glyphs 1-bit so the image still fits in application flash.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-26 12:42:11 +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