fix(battery): detect TP4056 charging and full states on new board

This commit is contained in:
chenjintao
2026-10-23 16:23:39 +08:00
parent 415c75b0e6
commit 6116a67d5f
13 changed files with 617 additions and 249 deletions
+10 -7
View File
@@ -403,22 +403,25 @@ void platform_power_release_deep_sleep_holds(void);
esp_err_t platform_power_enter_deep_sleep(int charger_gpio, int button_gpio);
/* platform 只报告原始充电和电压质量,电量等级/SOC 语义由 domain 层计算。 */
typedef enum {
PLATFORM_BATTERY_CHARGE_UNKNOWN = 0,
PLATFORM_BATTERY_CHARGE_NOT_CHARGING,
PLATFORM_BATTERY_CHARGE_CHARGING,
} platform_battery_charge_state_t;
/* 板级数字输入原始电平;电平组合含义及去抖由 domain 唯一解释。 */
typedef struct {
int charge_level;
int full_level;
bool valid;
} platform_battery_charge_inputs_t;
/** 读取两路原始电平;无 ADC 访问,互斥等待最多100ms。 */
esp_err_t platform_battery_read_charge_inputs(platform_battery_charge_inputs_t *out_inputs);
typedef struct {
int adc_voltage_mv;
int voltage_mv;
platform_battery_charge_state_t charge_state;
bool voltage_valid;
bool high_load_active;
bool cooldown_active;
} platform_battery_sample_t;
/** 幂等初始化电池 ADC 和 TP4057 状态输入。 / Idempotently initialize battery sensing. */
/** 幂等初始化电池 ADC 和 TP4056 两路状态输入。 / Idempotently initialize battery sensing. */
esp_err_t platform_battery_init(void);
/**