fix(nvm): reset rhythm and string tone on power-up

Do not restore the last rhythm type or string timbre after a reboot or soft power cycle.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yuquanjun 2026-10-08 10:46:53 +08:00
parent 233dd0de69
commit be84c22479
2 changed files with 12 additions and 0 deletions

View File

@ -236,6 +236,15 @@ void System_PowerOn(void)
/* 软关机不复位 MCU:清掉上次会话演奏状态,默认当前调一级大和弦(C 调=do mi sol) */ /* 软关机不复位 MCU:清掉上次会话演奏状态,默认当前调一级大和弦(C 调=do mi sol) */
StartFlag = 0; StartFlag = 0;
InModeFlag = false; /* 停在模式选择,禁止拨片/侧面键起奏 */ InModeFlag = false; /* 停在模式选择,禁止拨片/侧面键起奏 */
/* 节奏类型、弦音色不记忆:再次开机进入模式时用第一首、第一个音色 */
mGuiData[GUI_TIMBRE_SELECT].Current = 0;
ParamGuiData[SONG_MODE_PARAM].Current = 0;
mGuiData[GUI_AUTOBAND_SW].Current = 0;
{
NvmParam_Type *nvm = drv_nvm_param_ptr();
nvm->param.Timbre = 0;
nvm->param.Param1 = 0;
}
Accomp_ApplyDefaultIChord(); Accomp_ApplyDefaultIChord();
app_tm1629_reset_key_state(); app_tm1629_reset_key_state();
s_pwr_rails_cut = 0u; s_pwr_rails_cut = 0u;

View File

@ -233,6 +233,9 @@ void drv_nvm_load_default_calibration_static_value(NvmParam_Type * pData, uint8
pData->param.Language = NVM_LANG_CN; pData->param.Language = NVM_LANG_CN;
if (pData->param.UsbMode > 1) if (pData->param.UsbMode > 1)
pData->param.UsbMode = NVM_USB_MIDI; pData->param.UsbMode = NVM_USB_MIDI;
/* 节奏类型、弦音色不跨开关机记忆,冷启动也回到第一项 */
pData->param.Timbre = 0;
pData->param.Param1 = 0;
mGuiData_SystemSETTING[GUI_USB_MODE].Current = pData->param.UsbMode; mGuiData_SystemSETTING[GUI_USB_MODE].Current = pData->param.UsbMode;
/* 开机/出厂:同步自动关机运行时秒表(手册 15/30/45/60/不自动) */ /* 开机/出厂:同步自动关机运行时秒表(手册 15/30/45/60/不自动) */
AutoCloseFlag = true; AutoCloseFlag = true;