Release 0.2.1: persist mixer volume across power cycles.
Sync faders on shutdown and re-apply LoadConfig after DSP boot so saved mixer levels and master pot stay consistent after power-off. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
794345d3ba
commit
49af730f91
|
|
@ -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,0}; /* major.minor.patch — 0.2.0: tone pack 0903 addr remap */
|
const uint8_t Version[3] = {0,2,1}; /* major.minor.patch — 0.2.1: keep mixer/master vol across power cycle */
|
||||||
|
|
||||||
uint8_t Led = 8;
|
uint8_t Led = 8;
|
||||||
bool PressFlag = 0;
|
bool PressFlag = 0;
|
||||||
|
|
@ -212,6 +212,14 @@ static void PowerOff(void)
|
||||||
powon = false; /* 更新关机标志 */
|
powon = false; /* 更新关机标志 */
|
||||||
StopFullTask();
|
StopFullTask();
|
||||||
|
|
||||||
|
/* 关机前把当前调音台推子写入 NVM 镜像,保证再次开机保持音量 */
|
||||||
|
{
|
||||||
|
NvmParam_Type *nvm = drv_nvm_param_ptr();
|
||||||
|
nvm->param.BandVol = faders[0].val;
|
||||||
|
nvm->param.StringVol = faders[1].val;
|
||||||
|
nvm->param.MIcVol = faders[2].val;
|
||||||
|
nvm->param.MicRev = faders[3].val;
|
||||||
|
}
|
||||||
nvm_ret = drv_nvm_save_to_flash();
|
nvm_ret = drv_nvm_save_to_flash();
|
||||||
LOG_I("PWR", "nvm_save=%u", (unsigned)nvm_ret);
|
LOG_I("PWR", "nvm_save=%u", (unsigned)nvm_ret);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -147,8 +147,8 @@ void Touch_Mode_Select_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex)
|
||||||
InModeFlag = true;
|
InModeFlag = true;
|
||||||
/* 进入子页后抑制残留按下,否则易误触底栏 GUI_TAB_INDEX(id=5)→设置 */
|
/* 进入子页后抑制残留按下,否则易误触底栏 GUI_TAB_INDEX(id=5)→设置 */
|
||||||
app_touch_suppress(500);
|
app_touch_suppress(500);
|
||||||
/* 开机后再次确认弦音色(DSP 已就绪) */
|
/* DSP 已就绪:再下发音色 + 调音台音量(与关机前 NVM/faders 一致) */
|
||||||
SendProgramChangeMidiEvent(0,Timbre_index[mGuiData[GUI_TIMBRE_SELECT].Current]);
|
LoadConfig();
|
||||||
|
|
||||||
switch (ID)
|
switch (ID)
|
||||||
{
|
{
|
||||||
|
|
@ -190,11 +190,12 @@ void IdleProcess(DisplayTaskMessage_Type msg)
|
||||||
TM1629D_UpdateDisplay(0);
|
TM1629D_UpdateDisplay(0);
|
||||||
StartTouchTask();
|
StartTouchTask();
|
||||||
StartScanTask();
|
StartScanTask();
|
||||||
/* Dream 上电稍后可能忽略首包 SysEx:再发一次与旋钮对齐 */
|
/* Dream 上电稍后可能忽略首包 SysEx:再发主音量 + 调音台(保持关机前设置) */
|
||||||
rt_thread_mdelay(400);
|
rt_thread_mdelay(400);
|
||||||
vol = ADC_ReadChannel(ADC_CHANNEL_1)>>5;
|
vol = ADC_ReadChannel(ADC_CHANNEL_1)>>5;
|
||||||
app_adc_sync_volume(vol);
|
app_adc_sync_volume(vol);
|
||||||
Send_volume(vol);
|
Send_volume(vol);
|
||||||
|
LoadConfig();
|
||||||
Draw_Volume_Bar(UI0902_VOL_X, UI0902_VOL_Y, level, 1, WHITE, GRAY);
|
Draw_Volume_Bar(UI0902_VOL_X, UI0902_VOL_Y, level, 1, WHITE, GRAY);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ MAP_TXT = REPO / "Doc" / "音色文件" / "0903" / "FLASH_MAP.txt"
|
||||||
IAP_DIR = REPO / "升级" / "MCU主控升级"
|
IAP_DIR = REPO / "升级" / "MCU主控升级"
|
||||||
OUT_ROOT = REPO / "tools" / "out"
|
OUT_ROOT = REPO / "tools" / "out"
|
||||||
|
|
||||||
FW_VER = "0.2.0"
|
FW_VER = "0.2.1"
|
||||||
TONE_RES_VER = "0903"
|
TONE_RES_VER = "0903"
|
||||||
UI0902_RES_BASE = 0x00100000
|
UI0902_RES_BASE = 0x00100000
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue