1、低电 3.7V 只闪红灯不再 1 分钟后关机;电量低于约 5% 自动关机,未充电开机先闪 5 下红灯再睡回,只能充电后才能开机

2、自动/手动互相切换都闪 2 下灯;APP 发停止后再发自动模式可正常启动,手动残留停止不再挡住自动
3、自动模式 1~6 单次最长跑 10 分钟后回待机;关机时长按 12 秒进 OTA,OTA 期间红绿交替闪
This commit is contained in:
2026-08-27 10:20:48 +08:00
parent 3d445ae5c5
commit fdb43011b7
28 changed files with 945 additions and 165 deletions
+5 -4
View File
@@ -5,7 +5,7 @@
* @date 2026.08.25
* @version V1.0.0
* @history
* - V1.0.0, 2026.08.25, cyWu, 从天誉 MJ-1.0 充电板移植到杰理 BR28
* - V1.0.0, 2026.08.25, cyWu, 首次发布,实现短按切模式、长按 3s 关机与开机按键锁
******************************************************************************/
#include "system/includes.h"
@@ -54,7 +54,7 @@ static void key_user_release(void)
static void key_user_short(void)
{
if (s_km.boot_key_lock) {
s_km.boot_key_lock = 0;
s_km.boot_key_lock = 0; /* 开机松手当成释放,不当短按切模式 */
log_info("boot key released\n");
return;
}
@@ -68,7 +68,7 @@ static void key_user_short(void)
static void key_user_long(void)
{
if (s_km.boot_key_lock) {
return;
return; /* 开机手还按着,忽略这次 3s 长按,避免一开机就关机 */
}
usr_on_key_long();
}
@@ -109,7 +109,7 @@ void user_key_lock_if_held(void)
{
reset_key_Status(USR_KEY_USER);
if (bsp_key_is_pressed()) {
s_km.boot_key_lock = 1;
s_km.boot_key_lock = 1; /* 开机手还按着,等松开才认短按/长按,避免立刻关机 */
log_info("boot key held, wait release\n");
}
}
@@ -129,6 +129,7 @@ void user_key_scan(uint16_t dt)
if (dt == 0) {
dt = 1;
}
/* 按键库按 1ms 步进,业务节拍是 20ms,这里循环 dt 次对齐真实时间 */
for (i = 0; i < dt; i++) {
keyCheckProcess();
}