fix(pwr): reach mode select before boot LED show while charging

Bump firmware to 0.2.31. Skip the color LED sequence on USB power-on so a depleted pack can leave the logo screen and charge normally.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yuquanjun 2026-09-25 21:04:51 +08:00
parent 1cc4d400ef
commit 89a3e5f95f
3 changed files with 9 additions and 7 deletions

View File

@ -111,7 +111,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));
const uint8_t Version[3] = {0,2,30}; /* major.minor.patch — 0.2.30: USB更新字模;确认后进入 Boot 烧录 */
const uint8_t Version[3] = {0,2,31}; /* major.minor.patch — 0.2.31: 充电开机先出模式选择,避免卡在 Logo */
uint8_t Led = 8;
bool PressFlag = 0;
@ -252,7 +252,7 @@ void System_PowerOn(void)
BSP_BlueToothPowerEnable((uint8_t)(mGuiData[GUI_BL_SW].Current ? 1 : 0));
powon = true; /* 更新开机标志 */
/* 侧灯须在 POWER_ON/Logo 前就绪,否则彩灯会晚于 Logo */
/* 侧灯驱动先就绪,模式页出来前保持全灭(勿在 Logo 前打满 8 颗键灯) */
TM1629D_Key_LED_Init();
app_tm1617_init();

View File

@ -179,19 +179,21 @@ void IdleProcess(DisplayTaskMessage_Type msg)
LCD_WR_REG(0x29); /* Display ON */
s_charge_ui_drawn = false;
LCD_BLK_Set();
/* 刷 Logo 前先点蓝,避免 Flash 读图期间侧灯仍灭 */
app_tm1629_all_on(LED_COLOR_B);
/* 模式页出来前不点 8 颗键灯:低电充电时彩灯+功放会把电压拉垮,卡在 Logo */
LCD_WR_PIC_FROM_FLASH(0, 0, UI0902_BOOT_LOGO_W, UI0902_BOOT_LOGO_H,
UI0902_BOOT_LOGO_ADDR);
/* 与 Logo 同期跑完蓝→青→红→青(约 1.1s),替代原先空等 1s */
UI_BootLedShow();
rt_thread_mdelay(200);
LoadConfig();
/* 主音量不在此现场切通道读 ADC(会与扫描任务串通道):
* 待 StartScanTask 后由 MasterVolume_Reapply 统一补发 */
UI_DrawModeSelectScreen();
app_tm1629_all_on(LED_COLOR_G);
StartTouchTask();
StartScanTask();
/* 充电开机不再跑彩灯,避免 UI 线程堵在模式选择之前;冷开机在触摸已起后再演 */
if (!usb_charging_state)
UI_BootLedShow();
/* Dream 上电稍后可能忽略首包 SysEx:再发主音量 + 调音台(保持关机前设置)。
* 此时扫描任务已启动、模拟开关在轮询,不可现场重读 ADC(会串通道),
* 统一用 MasterVolume_Reapply 取扫描任务维护的最近一次有效音量 */

View File

@ -38,7 +38,7 @@ TONE_HDR = PROJ / "project" / "inc" / "ExtFlash_Tone_Addr.h"
IAP_DIR = REPO / "升级" / "MCU主控升级"
OUT_ROOT = REPO / "tools" / "out"
FW_VER = "0.2.30"
FW_VER = "0.2.31"
UI0902_RES_BASE = 0x00100000
BOOT_FLASH_ADDR = 0x08000000
APP_FLASH_ADDR = 0x08008000