feat(tone): ship the 1002 rhythm pack as firmware 0.2.40

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yuquanjun 2026-10-02 13:06:35 +08:00
parent 459f73d8fe
commit c007b4e40d
7 changed files with 21 additions and 21 deletions

View File

@ -111,7 +111,7 @@ int16_t MIC_VOL_MAP[11]= {-9000,-7000,-5000,-3000,-1000,1000,3000,5000,7000,9000
uint8_t TOUCH_AREA_NUM = (sizeof(Touch_Areas)/sizeof(Touch_AreaTypeDef));
const uint8_t Version[3] = {0,2,39}; /* major.minor.patch — 0.2.39: 0928 节奏包,Hall2 混响与四段 PEQ */
const uint8_t Version[3] = {0,2,40}; /* major.minor.patch — 0.2.40: 1002 节奏包,1.bin 更新 */
uint8_t Led = 8;
bool PressFlag = 0;

View File

@ -49,9 +49,9 @@ extern const SysSetGlyph g_SysSet_TriR;
#define SYSSET_LABEL_DX 12
#define SYSSET_VAL_X 119
#define SYSSET_VAL_W 80
#define SYSSET_PILL_DX 140
#define SYSSET_PILL_DX 139
#define SYSSET_PILL_DY 14
#define SYSSET_PILL_W 73
#define SYSSET_PILL_W 74
#define SYSSET_PILL_H 33
#define SYSSET_PILL_R 6
#define SYSSET_CARD_R 12

View File

@ -4,10 +4,10 @@
/* Auto-generated by tools/pack_extflash_tone_0903.py — do not hand-edit. */
/* W25Q128 absolute offsets. Boot logo display uses UI0902_BOOT_LOGO_ADDR. */
/* Tone resource pack has no in-bin version field; release tag = EXTFLASH_TONE_RES_VER. */
#define EXTFLASH_TONE_RES_VER "0928"
#define EXTFLASH_TONE_RES_VER "1002"
#define EXTFLASH_TONE_RES_VER_MAJOR 0
#define EXTFLASH_TONE_RES_VER_MINOR 9
#define EXTFLASH_TONE_RES_VER_PATCH 28
#define EXTFLASH_TONE_RES_VER_MINOR 10
#define EXTFLASH_TONE_RES_VER_PATCH 2
#define EXTFLASH_LOGO_ADDR 0x00000000UL
#define EXTFLASH_LOGO_SIZE 52080UL
@ -18,7 +18,7 @@
#define EXTFLASH_CHARGING_H 190
#define EXTFLASH_BIN1_RHYTHM_ADDR 0x0001B8F0UL
#define EXTFLASH_BIN1_RHYTHM_SIZE 509556UL
#define EXTFLASH_BIN1_RHYTHM_SIZE 506913UL
#define EXTFLASH_BIN2_SONG_HAITIAN_ADDR 0x0009D07DUL
#define EXTFLASH_BIN2_SONG_HAITIAN_SIZE 41914UL

View File

@ -611,8 +611,8 @@ static void BL_Sendmsg(uint16_t Data1, uint16_t Data2, uint16_t Data3, uint16_t
#define AT32_UID_BASE 0x1FFFF7E8UL /* 96-bit unique device ID */
/* 01 04 音源版本:YY.M.D = 音色资源日期(Dream 无版本查询,发版时手改)
* 26.9.8 → 2026-09-08(Doc/音色文件/0908) */
static const uint8_t SOUND_VER[4] = {26, 9, 8, 0x01};
* 26.10.2 → 2026-10-02(Doc/音色文件/1002) */
static const uint8_t SOUND_VER[4] = {26, 10, 2, 0x01};
/* 01 05 UI 资源/界面日期:YY.M.D(与 MCU 逻辑版本 Version[] 分开维护) */
static const uint8_t UI_VER[4] = {26, 9, 9, 0x01};

View File

@ -194,7 +194,7 @@ def main():
raise SystemExit(
"USB row overflow: label ends %d, left arrow at %d" % (label_end, tril_x)
)
ver_w = text_w("0.2.39", glyphs)
ver_w = text_w("0.2.40", glyphs)
gh = glyphs["0"][0].size[1]
pill_h = gh + 8
pill_w = ver_w + 18
@ -377,7 +377,7 @@ def preview(pics, glyphs, back, back_xy, chev, chev_xy, tri_l, tl, tri_r, tr,
paste(canvas, tri_l, tl[0], row_y + (tl[1] - (CARD_Y0 + CARD_PITCH)))
paste(canvas, tri_r, tr[0], row_y + (tr[1] - (CARD_Y0 + CARD_PITCH)))
fill_round(canvas, CARD_X + pill_dx, CARD_Y0 + pill_dy, pill_w, pill_h, 6, (0, 8, 19))
ver = "0.2.39"
ver = "0.2.40"
tw = text_w(ver, glyphs)
gh = glyphs["0"][0].size[1]
draw_text(canvas, CARD_X + pill_dx + (pill_w - tw) // 2,

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Pack external W25Q128 tone/logo image for K1 (0928).
"""Pack external W25Q128 tone/logo image for K1 (1002).
Layout (absolute W25Q128 offsets):
0x00000000 logo.bin (legacy pad; boot UI uses UI0902 full-screen logo)
@ -25,7 +25,7 @@ from pathlib import Path
ROOT = Path(__file__).resolve().parents[1] # firmware project root
REPO = ROOT.parent.parent # 一诺国际吉他
OUT_DIR = ROOT / "tools" / "out"
TONE_TAG = "0928"
TONE_TAG = "1002"
OUT_BIN = OUT_DIR / f"extflash_tone_{TONE_TAG}.bin"
OUT_RES = OUT_DIR / f"extflash_tone_{TONE_TAG}.res"
OUT_ALL_RES = OUT_DIR / f"extflash_ALL_tone{TONE_TAG}_ui0902.res"
@ -34,7 +34,7 @@ OUT_BIN_LEGACY = OUT_DIR / "extflash_tone_0903.bin"
OUT_RES_LEGACY = OUT_DIR / "extflash_tone_0903.res"
OUT_ALL_LEGACY = OUT_DIR / "extflash_ALL_tone0903_ui0902.res"
OUT_HDR = ROOT / "project" / "inc" / "ExtFlash_Tone_Addr.h"
TONE_DIR = REPO / "Doc" / "音色文件" / "0928"
TONE_DIR = REPO / "Doc" / "音色文件" / "1002"
OUT_MAP = TONE_DIR / "FLASH_MAP.txt"
UI0902_BIN = OUT_DIR / "ui0902_res.bin"
@ -162,8 +162,8 @@ def main() -> None:
/* Tone resource pack has no in-bin version field; release tag = EXTFLASH_TONE_RES_VER. */
#define EXTFLASH_TONE_RES_VER "{TONE_TAG}"
#define EXTFLASH_TONE_RES_VER_MAJOR 0
#define EXTFLASH_TONE_RES_VER_MINOR 9
#define EXTFLASH_TONE_RES_VER_PATCH 28
#define EXTFLASH_TONE_RES_VER_MINOR {int(TONE_TAG[:2], 10)}
#define EXTFLASH_TONE_RES_VER_PATCH {int(TONE_TAG[2:], 10)}
#define EXTFLASH_LOGO_ADDR 0x{by_name['LOGO'][1]:08X}UL
#define EXTFLASH_LOGO_SIZE {by_name['LOGO'][2]}UL

View File

@ -30,15 +30,15 @@ BOOT_BIN = (
/ "Exe"
/ "AT32F403ARCT7_BOOT.bin"
)
TONE_RES_VER = "0928"
TONE_RES_VER = "1002"
TONE_BIN = PROJ / "tools" / "out" / f"extflash_tone_{TONE_RES_VER}.bin"
UI0902_BIN = PROJ / "tools" / "out" / "ui0902_res.bin"
MAP_TXT = REPO / "Doc" / "音色文件" / "0928" / "FLASH_MAP.txt"
MAP_TXT = REPO / "Doc" / "音色文件" / TONE_RES_VER / "FLASH_MAP.txt"
TONE_HDR = PROJ / "project" / "inc" / "ExtFlash_Tone_Addr.h"
IAP_DIR = REPO / "升级" / "MCU主控升级"
OUT_ROOT = REPO / "tools" / "out"
FW_VER = "0.2.39"
FW_VER = "0.2.40"
UI0902_RES_BASE = 0x00100000
BOOT_FLASH_ADDR = 0x08000000
APP_FLASH_ADDR = 0x08008000
@ -91,7 +91,7 @@ def verify_tone_layout(tone: bytes, check_sources: bool = True) -> None:
"""Refuse to ship ALL.res if logo/charg/1/2/3.bin missing, shifted, or mismatch."""
dab = b"\xABDAB"
addrs = read_tone_addrs()
tone_dir = REPO / "Doc" / "音色文件" / "0928"
tone_dir = REPO / "Doc" / "音色文件" / TONE_RES_VER
ziliao = None
for p in REPO.iterdir():
if p.is_dir() and (p / "logo.bin").is_file() and (p / "Charg.bin").is_file():
@ -234,7 +234,7 @@ def main() -> None:
"说明:",
" - Boot 进入 USB IAP 时显示 UI0902_FLASH_MODE;资源未烧录时白字黑底兜底。",
" - 开机全屏 Logo、关机充电全屏画面在 UI0902,不在音色包里的 logo.bin/Charg.bin 占位。",
f" - 本包音色来源 Doc/音色文件/0928/(tag {TONE_RES_VER});BIN3 随 2.bin 长度后移。",
f" - 本包音色来源 Doc/音色文件/{TONE_RES_VER}/(tag {TONE_RES_VER});BIN3 随 2.bin 长度后移。",
"",
"附件: SoundWalkerIAP.exe / 升级步骤.docx / FLASH_MAP.txt",
"",