43 lines
1.3 KiB
C
43 lines
1.3 KiB
C
#ifndef APP_POWER_MANAGE_H
|
|
#define APP_POWER_MANAGE_H
|
|
|
|
#include "typedef.h"
|
|
#include "system/event.h"
|
|
|
|
#define LOW_POWER_SHUTDOWN 220 //低电直接关机电压-拔出不开机-开盖不开机
|
|
#define LOW_POWER_OFF_VAL 220 //低电关机电压
|
|
#define LOW_POWER_WARN_VAL 240 //低电提醒电压
|
|
#define LOW_POWER_WARN_TIME (60 * 1000) //低电提醒时间
|
|
|
|
#define DEVICE_EVENT_FROM_POWER (('P' << 24) | ('O' << 16) | ('W' << 8) | '\0')
|
|
|
|
enum {
|
|
POWER_EVENT_POWER_NORMAL,
|
|
POWER_EVENT_POWER_WARNING,
|
|
POWER_EVENT_POWER_LOW,
|
|
POWER_EVENT_POWER_CHANGE,
|
|
POWER_EVENT_SYNC_TWS_VBAT_LEVEL,
|
|
POWER_EVENT_POWER_CHARGE,
|
|
POWER_EVENT_POWER_SOFTOFF
|
|
};
|
|
|
|
// int app_power_event_handler(struct device_event *dev);
|
|
int app_power_event_handler(struct device_event *dev, void (*set_soft_poweroff_call)(void));
|
|
void check_power_on_voltage(void);
|
|
u16 get_vbat_level(void);
|
|
u8 get_vbat_percent(void);
|
|
u16 get_vbat_value(void);
|
|
void vbat_check_init(void);
|
|
void vbat_timer_update(u32 msec);
|
|
void vbat_timer_delete(void);
|
|
void tws_sync_bat_level(void);
|
|
u8 get_tws_sibling_bat_level(void);
|
|
u8 get_tws_sibling_bat_persent(void);
|
|
bool get_vbat_need_shutdown(void);
|
|
u8 get_self_battery_level(void);
|
|
|
|
void app_power_set_tws_sibling_bat_level(u8 vbat, u8 percent);
|
|
|
|
#endif
|
|
|