Persist mixer fader levels and fix mic map for level 10.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yuquanjun 2026-09-05 21:56:14 +08:00
parent d654581f4d
commit 740c709a82
4 changed files with 21 additions and 21 deletions

View File

@ -96,7 +96,8 @@ const Touch_AreaTypeDef Touch_Areas[] =
{ 185, 239, 280, 319, 0, UI0902_NAV_SETTING, GUI_NAV_BAR, NULL },
};
int16_t MIC_VOL_MAP[10]= {-9000,-7000,-5000,-3000,-1000,1000,3000,5000,7000,9000};
/* 推子 0~10 共 11 档档10 取 AW816 上限附近 */
int16_t MIC_VOL_MAP[11]= {-9000,-7000,-5000,-3000,-1000,1000,3000,5000,7000,9000,1200};
uint8_t TOUCH_AREA_NUM = (sizeof(Touch_Areas)/sizeof(Touch_AreaTypeDef));

View File

@ -177,7 +177,7 @@ extern uint8_t key_toggle[4];
extern bool StartFlag;
extern int16_t MIC_VOL_MAP[10];
extern int16_t MIC_VOL_MAP[11];
extern const uint8_t Version[3];
extern uint8_t AutoCloseTime;
extern uint16_t mAutoPowerOffCount;

View File

@ -106,7 +106,7 @@ extern uint8_t channel;
extern uint8_t level;
extern bool powon;
extern bool InModeFlag;
extern int16_t MIC_VOL_MAP[10];
extern int16_t MIC_VOL_MAP[11];
extern int8_t delta;
extern STRING_MIDI USE_MIDI;
void LoadConfig(void)

View File

@ -34,28 +34,22 @@ void DrawFader(Fader_t *f)
f->prev_slider_y = slider_y;
}
/* 四路推子写入 NVM 参数(仅 RAM落盘由 save 调用方决定) */
static void SyncMixerFadersToNvm(void)
{
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;
}
void DrawAllFaders(void)
{
NvmParam_Type * nvm = drv_nvm_param_ptr();
for (int i = 0; i < 4; i++) {
DrawFader(&faders[i]);
}
if(nvm->param.BandVol != faders[0].val)
{
nvm->param.BandVol = faders[0].val;
}
if(nvm->param.StringVol != faders[1].val)
{
nvm->param.StringVol = faders[1].val;
}
if(nvm->param.MIcVol != faders[2].val)
{
nvm->param.MIcVol = faders[2].val;
}
if(nvm->param.MicRev != faders[3].val)
{
nvm->param.MicRev = faders[3].val;
}
SyncMixerFadersToNvm();
drv_nvm_save_to_flash();
}
@ -150,6 +144,8 @@ void UpdateFaderByTouch(int idx, uint16_t y)
AW816_Set_Reverb(f->val * 10);
break;
}
/* 即时生效同时更新 NVM 镜像;返回/关机时落盘 */
SyncMixerFadersToNvm();
}
// ============================================================
@ -214,8 +210,11 @@ void UI_Mixer_Process(DisplayTaskMessage_Type msg)
if( tx >= Touch_Mixer_Areas[i].x_min && tx <= Touch_Mixer_Areas[i].x_max &&
ty >= Touch_Mixer_Areas[i].y_min && ty <= Touch_Mixer_Areas[i].y_max )
{
if (Touch_Mixer_Areas[i].ID == GUI_CANCEL)
if (Touch_Mixer_Areas[i].ID == GUI_CANCEL) {
SyncMixerFadersToNvm();
drv_nvm_save_to_flash();
MenuPage_SystemSetting_Proc();
}
break;
}
}