From be84c224798fce10c5a229e34378ae044732dcd6 Mon Sep 17 00:00:00 2001 From: yuquanjun Date: Thu, 8 Oct 2026 10:46:53 +0800 Subject: [PATCH] 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 --- Global/Global.c | 9 +++++++++ driver/drv_nvm.c | 3 +++ 2 files changed, 12 insertions(+) diff --git a/Global/Global.c b/Global/Global.c index 55e0a3a..599cbaf 100644 --- a/Global/Global.c +++ b/Global/Global.c @@ -236,6 +236,15 @@ void System_PowerOn(void) /* 软关机不复位 MCU:清掉上次会话演奏状态,默认当前调一级大和弦(C 调=do mi sol) */ StartFlag = 0; 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(); app_tm1629_reset_key_state(); s_pwr_rails_cut = 0u; diff --git a/driver/drv_nvm.c b/driver/drv_nvm.c index 143e469..6d9226e 100644 --- a/driver/drv_nvm.c +++ b/driver/drv_nvm.c @@ -233,6 +233,9 @@ void drv_nvm_load_default_calibration_static_value(NvmParam_Type * pData, uint8 pData->param.Language = NVM_LANG_CN; if (pData->param.UsbMode > 1) pData->param.UsbMode = NVM_USB_MIDI; + /* 节奏类型、弦音色不跨开关机记忆,冷启动也回到第一项 */ + pData->param.Timbre = 0; + pData->param.Param1 = 0; mGuiData_SystemSETTING[GUI_USB_MODE].Current = pData->param.UsbMode; /* 开机/出厂:同步自动关机运行时秒表(手册 15/30/45/60/不自动) */ AutoCloseFlag = true;