1、运行中空电关机改看显示百分比,到 5% 立刻停电机、关绿灯,红灯闪 5 下后再深睡,避免电压先掉、APP 还没到 5% 就关机

2、充电/放电电量缓冲加快,放电突变拦截先关掉,电量曲线满电点收到 4.12V
3、上电串口打印软硬件版本和编译时间
This commit is contained in:
2026-08-27 11:40:57 +08:00
parent fdb43011b7
commit 215e1be6bb
10 changed files with 205 additions and 68 deletions
+19 -12
View File
@@ -2,8 +2,8 @@
* @file board_pin.h
* @brief CBC2 门夹弹力绳板级引脚、电平与时序(换板只改本文件)
* @author cyWu <1917507415@qq.com>
* @date 2026.08.26
* @version V1.4.0
* @date 2026.08.27
* @version V1.5.0
* @history
* - V1.0.0, 2026.08.21, cyWu, 首次发布
* - V1.1.0, 2026.08.24, cyWu, 收口:去掉实验开关与未贴件限位
@@ -12,6 +12,7 @@
* - V1.4.0, 2026.08.26, cyWu, 新增 5% 自动关机门限、开机低电闪灯拦截、
* 12s 长按 OTA、自动模式单次最长运行时长;
* 取消低电闪烁 1 分钟后自动关机门限
* - V1.5.0, 2026.08.27, cyWu, 运行中空电关机红闪 5 下时序宏
******************************************************************************/
#ifndef __BOARD_PIN_H__
@@ -54,16 +55,17 @@
/* 电量 / 充电 */
/*============================================================================*/
#define BOARD_VBAT_FULL_MV 4200 /**< 100% */
#define BOARD_VBAT_EMPTY_MV 3200 /**< 0%,电量曲线下限(仅用于百分比换算) */
#define BOARD_VBAT_CHARGE_FULL_MV 4250 /**< 充电基准未记录时 100%(充电内阻压降,比放电阈值高)*/
#define BOARD_VBAT_CHARGE_EMPTY_MV 3350 /**< 充电基准未记录时 0% */
#define BOARD_VBAT_LOW_MV 3700 /**< 低电预警阈值:只闪红灯提示,不关机 */
#define BOARD_VBAT_LOW_HYST_MV 50 /**< 低电恢复回差 */
#define BOARD_VBAT_SHUTDOWN_MV 3250 /**< 约 5%运行中低于此值自动关机;关机时低于此值拒绝开机 */
#define BOARD_VPWR_ONLINE_MV 4000 /**< VPWR 判定 USB 插入 */
#define BOARD_VPWR_OFF_MV 1500 /**< 低于此值认定已拔出 */
#define BOARD_CHG_FULL_MS 1000 /**< CHG 已高且 VPWR 在,满 1s 认充满 */
#define BOARD_VBAT_FULL_MV 4120 /**< 100% */
#define BOARD_VBAT_EMPTY_MV 3200 /**< 0%,电量曲线下限(仅用于百分比换算) */
#define BOARD_VBAT_CHARGE_FULL_MV 4200 /**< 充电基准未记录时 100%(充电内阻压降,比放电阈值高)*/
#define BOARD_VBAT_CHARGE_EMPTY_MV 3400 /**< 充电基准未记录时 0% */
#define BOARD_VBAT_LOW_MV 3700 /**< 低电预警阈值:只闪红灯提示,不关机 */
#define BOARD_VBAT_LOW_HYST_MV 50 /**< 低电恢复回差 */
#define BOARD_VBAT_SHUTDOWN_MV 3250 /**< 约 5%仅开机拦截用:关机状态下 app_battery 尚未运行,只能摸裸电压 */
#define BOARD_BATTERY_SHUTDOWN_PCT 5 /**< 运行中显示电量 <= 此值才自动关机,跟 APP 看到的百分比对齐 */
#define BOARD_VPWR_ONLINE_MV 4000 /**< VPWR 判定 USB 插入 */
#define BOARD_VPWR_OFF_MV 1500 /**< 低于此值认定已拔出 */
#define BOARD_CHG_FULL_MS 1000 /**< CHG 已高且 VPWR 在,满 1s 认充满 */
/*============================================================================*/
/* 按键 / 灯效 */
@@ -79,6 +81,11 @@
#define BOARD_BOOT_LOWBAT_BLINK_N 5 /**< 关机时电量过低:拒绝开机前红灯闪烁次数 */
#define BOARD_BOOT_LOWBAT_ON_MS 200 /**< 拒绝开机提示:闪烁亮时间 */
#define BOARD_BOOT_LOWBAT_OFF_MS 200 /**< 拒绝开机提示:闪烁灭时间 */
#define BOARD_LED_EMPTY_BLINK_N 5 /**< 运行中电量到 5%:红灯闪烁次数 */
#define BOARD_LED_EMPTY_ON_MS 200 /**< 5% 关机提示:闪烁亮时间 */
#define BOARD_LED_EMPTY_OFF_MS 200 /**< 5% 关机提示:闪烁灭时间 */
#define BOARD_LED_EMPTY_OFF_WAIT_MS ((BOARD_LED_EMPTY_ON_MS + BOARD_LED_EMPTY_OFF_MS) \
* BOARD_LED_EMPTY_BLINK_N + 50u) /**< 闪完再掉电,多留 50ms 让 GPIO 落稳 */
#define BOARD_LED_FAST_ON_MS 100 /**< 配对绿快闪:亮 */
#define BOARD_LED_FAST_OFF_MS 100 /**< 配对绿快闪:灭 */