37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
#ifndef _APP_CHARGE_H_
|
|
#define _APP_CHARGE_H_
|
|
|
|
#include "typedef.h"
|
|
#include "system/event.h"
|
|
|
|
#define LDO5V_OFF_TYPE_NORMAL_ON 0 //正常拔出开机
|
|
#define LDO5V_OFF_TYPE_NORMAL_OFF 1 //正常拔出关机
|
|
#define LDO5V_OFF_TYPE_LOWPOWER_OFF 2 //低电关机
|
|
#define LDO5V_OFF_TYPE_CHARGESTORE_OFF 3 //智能充电舱关机
|
|
|
|
struct app_charge_handler {
|
|
int (*handler)(int msg, int type);
|
|
};
|
|
|
|
#define APP_CHARGE_HANDLER(charge_handler, prio) \
|
|
const struct app_charge_handler charge_handler sec(.app_charge_handler.prio)
|
|
|
|
extern const struct app_charge_handler app_charge_handler_begin[];
|
|
extern const struct app_charge_handler app_charge_handler_end[];
|
|
|
|
#define for_each_app_charge_handler(p) \
|
|
for (p = app_charge_handler_begin; p < app_charge_handler_end; p++)
|
|
|
|
|
|
extern void charge_close_deal(void);
|
|
extern void charge_start_deal(void);
|
|
extern void ldo5v_keep_deal(void);
|
|
extern void charge_full_deal(void);
|
|
extern void charge_ldo5v_in_deal(void);
|
|
extern void charge_ldo5v_off_deal(void);
|
|
extern u8 get_charge_full_flag(void);
|
|
extern void app_charge_power_off_keep_mode();
|
|
|
|
|
|
#endif //_APP_CHARGE_H_
|