From a80c2216ea5d2bf6f5ac4c18ba0802f5d1f09b2d Mon Sep 17 00:00:00 2001 From: yuquanjun Date: Mon, 21 Sep 2026 17:18:30 +0800 Subject: [PATCH] fix(free): keep all fret LEDs green during normal-mode playback Disable LOOP_LIGHT rhythm chasing in free mode so LEDs stay solid green instead of moving with the beat. Co-authored-by: Cursor --- Global/Global.c | 9 ++++++--- UI/UI_FreeMode.c | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Global/Global.c b/Global/Global.c index 6d409f9..1b524ce 100644 --- a/Global/Global.c +++ b/Global/Global.c @@ -1222,6 +1222,8 @@ void Pick_Handle() break; } StartFlag = 1; + /* 普通:播放中指板 LED 全绿,关闭走向灯刷新 */ + app_tm1629_all_on(LED_COLOR_G); if (mGuiData[GUI_AUTOBAND_SW].Current) { AutoBandTop1_Stop(); @@ -1733,10 +1735,11 @@ void Read_Cur_Measure() static uint32_t last_tick_i = 0; uint8_t tab = (uint8_t)mGuiData[GUI_TAB_INDEX].Current; uint8_t last = (uint8_t)mGuiData[GUI_TAB_LAST_INDEX].Current; - /* 普通(2)与万能(0)均按「和弦走向」同步亮灯;设置页(3)沿用进入前模式 */ + /* 仅万能(0)按和弦走向同步亮灯;普通(2)播放时保持全绿,不跟节奏换灯/换位。 + * 设置页(3)仅当从万能进入时继续走向灯。 */ uint8_t loop_light_ok = - (tab == 0 || tab == 2) || - (tab == 3 && (last == 0 || last == 2)); + (tab == 0) || + (tab == 3 && last == 0); Band_TrackPlayTick(); FreeMode_PollEvenBeatStop(); diff --git a/UI/UI_FreeMode.c b/UI/UI_FreeMode.c index 9fbbad2..29f139d 100644 --- a/UI/UI_FreeMode.c +++ b/UI/UI_FreeMode.c @@ -7,6 +7,7 @@ void UI_FreeMode_Init(void) mGuiData[GUI_TAB_LAST_INDEX].Current = mGuiData[GUI_TAB_INDEX].Current; //mGuiData[GUI_AUTOBAND_SW].Current = 1; UI_ReloadTonePreset(); /* TAB=普通 后再加载 1.bin */ + app_tm1629_all_on(LED_COLOR_G); /* 普通模式:全绿,不跟节奏走向灯 */ if (CurrUIProcress == UI_SongMode_Process) Show_home_UI_Diff(); else