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>
This commit is contained in:
yuquanjun 2026-09-16 18:32:13 +08:00
parent 11efccc19e
commit d11d217b02
5 changed files with 27 additions and 28 deletions

View File

@ -101,7 +101,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)); uint8_t TOUCH_AREA_NUM = (sizeof(Touch_Areas)/sizeof(Touch_AreaTypeDef));
const uint8_t Version[3] = {0,2,13}; /* major.minor.patch — 0.2.13: expert fret continue; toneRes 0915 */ const uint8_t Version[3] = {0,2,14}; /* major.minor.patch — 0.2.14: dual MIDI bank + toneRes 0916_bank */
uint8_t Led = 8; uint8_t Led = 8;
bool PressFlag = 0; bool PressFlag = 0;

View File

@ -4,10 +4,10 @@
/* Auto-generated by tools/pack_extflash_tone_0903.py — do not hand-edit. */ /* Auto-generated by tools/pack_extflash_tone_0903.py — do not hand-edit. */
/* W25Q128 absolute offsets. Boot logo display uses UI0902_BOOT_LOGO_ADDR. */ /* 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. */ /* Tone resource pack has no in-bin version field; release tag = EXTFLASH_TONE_RES_VER. */
#define EXTFLASH_TONE_RES_VER "0915" #define EXTFLASH_TONE_RES_VER "0916"
#define EXTFLASH_TONE_RES_VER_MAJOR 0 #define EXTFLASH_TONE_RES_VER_MAJOR 0
#define EXTFLASH_TONE_RES_VER_MINOR 9 #define EXTFLASH_TONE_RES_VER_MINOR 9
#define EXTFLASH_TONE_RES_VER_PATCH 15 #define EXTFLASH_TONE_RES_VER_PATCH 16
#define EXTFLASH_LOGO_ADDR 0x00000000UL #define EXTFLASH_LOGO_ADDR 0x00000000UL
#define EXTFLASH_LOGO_SIZE 52080UL #define EXTFLASH_LOGO_SIZE 52080UL
@ -18,13 +18,13 @@
#define EXTFLASH_CHARGING_H 190 #define EXTFLASH_CHARGING_H 190
#define EXTFLASH_BIN1_RHYTHM_ADDR 0x0001B8F0UL #define EXTFLASH_BIN1_RHYTHM_ADDR 0x0001B8F0UL
#define EXTFLASH_BIN1_RHYTHM_SIZE 506071UL #define EXTFLASH_BIN1_RHYTHM_SIZE 506746UL
#define EXTFLASH_BIN2_SONG_HAITIAN_ADDR 0x0009D07DUL #define EXTFLASH_BIN2_SONG_HAITIAN_ADDR 0x0009D07DUL
#define EXTFLASH_BIN2_SONG_HAITIAN_SIZE 41914UL #define EXTFLASH_BIN2_SONG_HAITIAN_SIZE 41914UL
#define EXTFLASH_BIN3_UNIVERSAL_ADDR 0x000A7437UL #define EXTFLASH_BIN3_UNIVERSAL_ADDR 0x000A7437UL
#define EXTFLASH_BIN3_UNIVERSAL_SIZE 33815UL #define EXTFLASH_BIN3_UNIVERSAL_SIZE 33945UL
/* Convenience aliases used by UI ADDRESS */ /* Convenience aliases used by UI ADDRESS */
#define FLASH_ADDR_MODE_NORMAL EXTFLASH_BIN1_RHYTHM_ADDR /* 普通 */ #define FLASH_ADDR_MODE_NORMAL EXTFLASH_BIN1_RHYTHM_ADDR /* 普通 */
@ -35,8 +35,8 @@
/* Legacy AutoBand bank — not repacked; may overlap 2.bin — do not enable until remapped */ /* Legacy AutoBand bank — not repacked; may overlap 2.bin — do not enable until remapped */
#define FLASH_ADDR_AUTOBAND_LEGACY 0x0009EB5FUL #define FLASH_ADDR_AUTOBAND_LEGACY 0x0009EB5FUL
#define EXTFLASH_TONE_PACK_END 0x000AF84EUL #define EXTFLASH_TONE_PACK_END 0x000AF8D0UL
#define EXTFLASH_TONE_PACK_SIZE 718926UL #define EXTFLASH_TONE_PACK_SIZE 719056UL
#define UI0902_RES_BASE_SAFE_GAP (0x00100000UL - EXTFLASH_TONE_PACK_END) #define UI0902_RES_BASE_SAFE_GAP (0x00100000UL - EXTFLASH_TONE_PACK_END)
#endif #endif

View File

@ -1,16 +1,16 @@
/* Auto-generated by tools/gen_git_user_fw_ver.py — do not edit. /* Auto-generated by tools/gen_git_user_fw_ver.py — do not edit.
* git HEAD (dirty): 35d4cc28af1a355fd8e588100612c7336631c61d * git HEAD (dirty): 11efccc19ef0234a2b3eb9b0712ff9fed12dd189
* branch: develop → develop * branch: feature_bank → feature-bank
* 01 0C wire: develop_35d4cc* * 01 0C wire: feature-bank_11efcc*
*/ */
#ifndef GIT_USER_FW_VER_H #ifndef GIT_USER_FW_VER_H
#define GIT_USER_FW_VER_H #define GIT_USER_FW_VER_H
#define GIT_COMMIT_ID_FULL "35d4cc28af1a355fd8e588100612c7336631c61d" #define GIT_COMMIT_ID_FULL "11efccc19ef0234a2b3eb9b0712ff9fed12dd189"
#define GIT_BRANCH_NAME "develop" #define GIT_BRANCH_NAME "feature-bank"
#define GIT_COMMIT_SHORT6 "35d4cc" #define GIT_COMMIT_SHORT6 "11efcc"
#define GIT_DIRTY (1) #define GIT_DIRTY (1)
#define GIT_BUILD_ID "develop_35d4cc*" #define GIT_BUILD_ID "feature-bank_11efcc*"
#define GIT_BUILD_ID_LEN 15u #define GIT_BUILD_ID_LEN 20u
#endif /* GIT_USER_FW_VER_H */ #endif /* GIT_USER_FW_VER_H */

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""Pack external W25Q128 tone/logo image for K1 (0915). """Pack external W25Q128 tone/logo image for K1 (0916_bank).
Layout (absolute W25Q128 offsets): Layout (absolute W25Q128 offsets):
0x00000000 logo.bin (legacy pad; boot UI uses UI0902 full-screen logo) 0x00000000 logo.bin (legacy pad; boot UI uses UI0902 full-screen logo)
@ -10,10 +10,10 @@ Layout (absolute W25Q128 offsets):
after 2.bin 3.bin 万能模式(随 2.bin 长度后移;写入 ExtFlash_Tone_Addr.h) after 2.bin 3.bin 万能模式(随 2.bin 长度后移;写入 ExtFlash_Tone_Addr.h)
Outputs: Outputs:
tools/out/extflash_tone_0915.bin / .res tools/out/extflash_tone_0916.bin / .res
tools/out/extflash_ALL_tone0915_ui0902.res tools/out/extflash_ALL_tone0916_ui0902.res
project/inc/ExtFlash_Tone_Addr.h project/inc/ExtFlash_Tone_Addr.h
Doc/音色文件/0915/FLASH_MAP.txt Doc/音色文件/0916_bank/FLASH_MAP.txt
""" """
from __future__ import annotations from __future__ import annotations
@ -25,7 +25,7 @@ from pathlib import Path
ROOT = Path(__file__).resolve().parents[1] # firmware project root ROOT = Path(__file__).resolve().parents[1] # firmware project root
REPO = ROOT.parent.parent # 一诺国际吉他 REPO = ROOT.parent.parent # 一诺国际吉他
OUT_DIR = ROOT / "tools" / "out" OUT_DIR = ROOT / "tools" / "out"
TONE_TAG = "0915" TONE_TAG = "0916"
OUT_BIN = OUT_DIR / f"extflash_tone_{TONE_TAG}.bin" OUT_BIN = OUT_DIR / f"extflash_tone_{TONE_TAG}.bin"
OUT_RES = OUT_DIR / f"extflash_tone_{TONE_TAG}.res" OUT_RES = OUT_DIR / f"extflash_tone_{TONE_TAG}.res"
OUT_ALL_RES = OUT_DIR / f"extflash_ALL_tone{TONE_TAG}_ui0902.res" OUT_ALL_RES = OUT_DIR / f"extflash_ALL_tone{TONE_TAG}_ui0902.res"
@ -34,11 +34,10 @@ OUT_BIN_LEGACY = OUT_DIR / "extflash_tone_0903.bin"
OUT_RES_LEGACY = OUT_DIR / "extflash_tone_0903.res" OUT_RES_LEGACY = OUT_DIR / "extflash_tone_0903.res"
OUT_ALL_LEGACY = OUT_DIR / "extflash_ALL_tone0903_ui0902.res" OUT_ALL_LEGACY = OUT_DIR / "extflash_ALL_tone0903_ui0902.res"
OUT_HDR = ROOT / "project" / "inc" / "ExtFlash_Tone_Addr.h" OUT_HDR = ROOT / "project" / "inc" / "ExtFlash_Tone_Addr.h"
OUT_MAP = REPO / "Doc" / "音色文件" / TONE_TAG / "FLASH_MAP.txt" TONE_DIR = REPO / "Doc" / "音色文件" / "0916_bank"
OUT_MAP = TONE_DIR / "FLASH_MAP.txt"
UI0902_BIN = OUT_DIR / "ui0902_res.bin" UI0902_BIN = OUT_DIR / "ui0902_res.bin"
TONE_DIR = REPO / "Doc" / "音色文件" / TONE_TAG
OFF_LOGO = 0x00000000 OFF_LOGO = 0x00000000
OFF_CHARGING = 0x0000CB70 OFF_CHARGING = 0x0000CB70
OFF_BIN1 = 0x0001B8F0 OFF_BIN1 = 0x0001B8F0
@ -164,7 +163,7 @@ def main() -> None:
#define EXTFLASH_TONE_RES_VER "{TONE_TAG}" #define EXTFLASH_TONE_RES_VER "{TONE_TAG}"
#define EXTFLASH_TONE_RES_VER_MAJOR 0 #define EXTFLASH_TONE_RES_VER_MAJOR 0
#define EXTFLASH_TONE_RES_VER_MINOR 9 #define EXTFLASH_TONE_RES_VER_MINOR 9
#define EXTFLASH_TONE_RES_VER_PATCH 15 #define EXTFLASH_TONE_RES_VER_PATCH 16
#define EXTFLASH_LOGO_ADDR 0x{by_name['LOGO'][1]:08X}UL #define EXTFLASH_LOGO_ADDR 0x{by_name['LOGO'][1]:08X}UL
#define EXTFLASH_LOGO_SIZE {by_name['LOGO'][2]}UL #define EXTFLASH_LOGO_SIZE {by_name['LOGO'][2]}UL

View File

@ -30,15 +30,15 @@ BOOT_BIN = (
/ "Exe" / "Exe"
/ "AT32F403ARCT7_BOOT.bin" / "AT32F403ARCT7_BOOT.bin"
) )
TONE_RES_VER = "0915" TONE_RES_VER = "0916"
TONE_BIN = PROJ / "tools" / "out" / f"extflash_tone_{TONE_RES_VER}.bin" TONE_BIN = PROJ / "tools" / "out" / f"extflash_tone_{TONE_RES_VER}.bin"
UI0902_BIN = PROJ / "tools" / "out" / "ui0902_res.bin" UI0902_BIN = PROJ / "tools" / "out" / "ui0902_res.bin"
MAP_TXT = REPO / "Doc" / "音色文件" / TONE_RES_VER / "FLASH_MAP.txt" MAP_TXT = REPO / "Doc" / "音色文件" / "0916_bank" / "FLASH_MAP.txt"
TONE_HDR = PROJ / "project" / "inc" / "ExtFlash_Tone_Addr.h" TONE_HDR = PROJ / "project" / "inc" / "ExtFlash_Tone_Addr.h"
IAP_DIR = REPO / "升级" / "MCU主控升级" IAP_DIR = REPO / "升级" / "MCU主控升级"
OUT_ROOT = REPO / "tools" / "out" OUT_ROOT = REPO / "tools" / "out"
FW_VER = "0.2.13" FW_VER = "0.2.14"
UI0902_RES_BASE = 0x00100000 UI0902_RES_BASE = 0x00100000
BOOT_FLASH_ADDR = 0x08000000 BOOT_FLASH_ADDR = 0x08000000
APP_FLASH_ADDR = 0x08008000 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.""" """Refuse to ship ALL.res if logo/charg/1/2/3.bin missing, shifted, or mismatch."""
dab = b"\xABDAB" dab = b"\xABDAB"
addrs = read_tone_addrs() addrs = read_tone_addrs()
tone_dir = REPO / "Doc" / "音色文件" / TONE_RES_VER tone_dir = REPO / "Doc" / "音色文件" / "0916_bank"
ziliao = None ziliao = None
for p in REPO.iterdir(): for p in REPO.iterdir():
if p.is_dir() and (p / "logo.bin").is_file() and (p / "Charg.bin").is_file(): if p.is_dir() and (p / "logo.bin").is_file() and (p / "Charg.bin").is_file():