#pragma once
#include "esp_err.h"
#include <stdint.h>

// 电池ADC引脚配置
#define PIN_BAT_ADC             3               // GPIO3
#define BAT_ADC_CHANNEL         ADC_CHANNEL_2   // ADC1_CH2

// 分压比（实际电池电压 = ADC测量电压 * 此系数）
// 根据硬件电路中的分压电阻调整，1:1分压器设为2
#define BAT_VOLTAGE_DIVIDER     2

// 采样次数（取平均值，提高精度）
#define BAT_SAMPLE_COUNT        32

// 监控间隔（毫秒）
#define BAT_MONITOR_INTERVAL_MS 5000

// 初始化电池ADC检测
esp_err_t battery_init(void);

// 获取电池电压（毫伏）
uint32_t battery_get_voltage_mv(void);

// 获取电池电量百分比（0-100）
uint8_t battery_get_level(void);

// 启动电池监控任务（周期性读取ADC并更新UI）
void battery_monitor_start(void);
