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>
This commit is contained in:
yuquanjun 2026-09-21 15:52:58 +08:00
parent 158c02d27b
commit f135027647
2 changed files with 8 additions and 5 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,17}; /* major.minor.patch — 0.2.17: Type-C charge battery icon; BLE timbre/style UI sync via UI task; RTT midi/string inject */ const uint8_t Version[3] = {0,2,18}; /* major.minor.patch — 0.2.18: free-mode even-beat release stop; keep KEY_ID during wind-down (no octave jump); universal outro all-green LED; expert local song continues after section+fret */
uint8_t Led = 8; uint8_t Led = 8;
bool PressFlag = 0; bool PressFlag = 0;
@ -851,7 +851,6 @@ void FreeMode_PollEvenBeatStop(void)
if (tick_done || beat_done) if (tick_done || beat_done)
{ {
FreeMode_CancelEvenBeatStop(); FreeMode_CancelEvenBeatStop();
KEY_ID_1629 = 0;
Stop_AutoBand(); Stop_AutoBand();
LOG_I("pick", "free even-stop done beat=%d tick=%u beatDone=%u", LOG_I("pick", "free even-stop done beat=%d tick=%u beatDone=%u",
beat, (unsigned)tick_done, (unsigned)beat_done); beat, (unsigned)tick_done, (unsigned)beat_done);
@ -870,6 +869,7 @@ void Stop_AutoBand()
SendMidiDataToDreamDSP(AllControlOff_buff,sizeof(AllControlOff_buff)); SendMidiDataToDreamDSP(AllControlOff_buff,sizeof(AllControlOff_buff));
} }
StartFlag = 0; StartFlag = 0;
KEY_ID_1629 = 0; /* 停奏后再清,避免收束段音区映射突变 */
s_outro_led_all_green = 0; s_outro_led_all_green = 0;
//tick_ever_positive = false; //tick_ever_positive = false;
for(uint8_t i = 0;i < 4;i++) key_toggle[i] = 0; for(uint8_t i = 0;i < 4;i++) key_toggle[i] = 0;
@ -1012,10 +1012,13 @@ void TM1629_Handle(uint8_t key)
PressFlag = 0; PressFlag = 0;
if(mGuiData[GUI_TAB_INDEX].Current == 2) if(mGuiData[GUI_TAB_INDEX].Current == 2)
{ {
/* 普通:松手对齐到偶拍末再停(拍1→拍2末,拍3→拍4末) */ /* 普通:松手对齐偶拍末再停。
KEY_ID_1629 = 0; * 收束前勿清 KEY_ID:App_Auto 音区指纹依赖指板键,清零会关掉 III+ 的 -12,
* 表现为停前音高突然升高。 */
if (StartFlag) if (StartFlag)
FreeMode_ArmEvenBeatStop(); FreeMode_ArmEvenBeatStop();
else
KEY_ID_1629 = 0;
} }
else if(mGuiData[GUI_TAB_INDEX].Current == 0) else if(mGuiData[GUI_TAB_INDEX].Current == 0)
{ {

View File

@ -38,7 +38,7 @@ 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.17" FW_VER = "0.2.18"
UI0902_RES_BASE = 0x00100000 UI0902_RES_BASE = 0x00100000
BOOT_FLASH_ADDR = 0x08000000 BOOT_FLASH_ADDR = 0x08000000
APP_FLASH_ADDR = 0x08008000 APP_FLASH_ADDR = 0x08008000