1、运行中空电关机改看显示百分比,到 5% 立刻停电机、关绿灯,红灯闪 5 下后再深睡,避免电压先掉、APP 还没到 5% 就关机
2、充电/放电电量缓冲加快,放电突变拦截先关掉,电量曲线满电点收到 4.12V 3、上电串口打印软硬件版本和编译时间
This commit is contained in:
@@ -20,6 +20,7 @@ static uint8_t led_mode_handler(LED_Config_t *led_config);
|
||||
static uint8_t led_pair_ok_handler(LED_Config_t *led_config);
|
||||
static uint8_t led_pair_fail_handler(LED_Config_t *led_config);
|
||||
static uint8_t led_ota_handler(LED_Config_t *led_config);
|
||||
static uint8_t led_empty_handler(LED_Config_t *led_config);
|
||||
|
||||
/**
|
||||
* @brief 只改掩码里的通道,其它灯保持原样
|
||||
@@ -124,6 +125,20 @@ static uint8_t led_ota_handler(LED_Config_t *led_config)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 空电关机红闪:拦住其它灯,绿灯已关,只剩红灯闪 5 下
|
||||
* @param led_config 配置
|
||||
* @return 1=还在闪(拦住更低优先级),0=闪完已删事件
|
||||
*/
|
||||
static uint8_t led_empty_handler(LED_Config_t *led_config)
|
||||
{
|
||||
if (LED_Update(led_config) == 0) {
|
||||
LED_EventDelete(LED_EVENT_EMPTY); /* 闪完 5 下后删,灯保持灭直到真正掉电 */
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 注册回调并装载 CBC2 事件表(GPIO 已在 bsp_hw_init)
|
||||
* @return 无
|
||||
@@ -232,6 +247,18 @@ void user_led_init(void)
|
||||
.config.runNum = 0, /* 0=无限 */
|
||||
.ledEventHandler = led_ota_handler,
|
||||
},
|
||||
[LED_EVENT_EMPTY] = {
|
||||
/* 电量 5%:关绿灯后只闪红灯 5 下,然后掉电 */
|
||||
.event = LED_EVENT_EMPTY,
|
||||
.priority = PRIORITY_4,
|
||||
.config.ledMask = LED_CHANNEL(LED_CH_RED),
|
||||
.config.state = LED_BLINKING,
|
||||
.config.blinkParams.orDer = 0, /* 先亮后灭 */
|
||||
.config.blinkParams.onTime = BOARD_LED_EMPTY_ON_MS,
|
||||
.config.blinkParams.offTime = BOARD_LED_EMPTY_OFF_MS,
|
||||
.config.runNum = BOARD_LED_EMPTY_BLINK_N,
|
||||
.ledEventHandler = led_empty_handler,
|
||||
},
|
||||
};
|
||||
|
||||
LED_SetStateInit(set_led_multi);
|
||||
|
||||
Reference in New Issue
Block a user