68 lines
2.1 KiB
C
68 lines
2.1 KiB
C
#include "charger_api.h"
|
|
#include "charger_port.h"
|
|
#include "sys_config.h"
|
|
|
|
#define ENABLE_PRINT_INFO 1
|
|
#if ENABLE_PRINT_INFO
|
|
#define static_print_info(...) sys_chrg_log_i(__VA_ARGS__) // 一般信息打印宏控制
|
|
#define static_print_warn(...) sys_chrg_log_w(__VA_ARGS__) // 警告信息打印一般常开
|
|
#define static_print_error(...) sys_chrg_log_e(__VA_ARGS__) // 错误信息打印一般常开
|
|
#else
|
|
#define static_print_info(...)
|
|
#define static_print_warn(...)
|
|
#define static_print_error(...)
|
|
#endif
|
|
|
|
static uint32_t charger_dev_open(void)
|
|
{
|
|
uint32_t ret = charger_host_peripheral_init();
|
|
if (ret != CHARGER_SUCC) {
|
|
static_print_error("charger_dev_open failed");
|
|
return CHARGER_FAIL;
|
|
}
|
|
|
|
static_print_info("charger_dev_open success");
|
|
return CHARGER_SUCC;
|
|
}
|
|
|
|
static uint32_t charger_dev_close(void)
|
|
{
|
|
uint32_t ret = charger_host_peripheral_deinit();
|
|
if (ret != CHARGER_SUCC) {
|
|
static_print_error("charger_dev_close failed");
|
|
return CHARGER_FAIL;
|
|
}
|
|
static_print_info("charger_dev_close success");
|
|
return CHARGER_SUCC;
|
|
}
|
|
|
|
static uint32_t charger_sample_event(uint32_t *battery)
|
|
{
|
|
uint32_t ret = charger_sample();
|
|
if (ret != CHARGER_SUCC) {
|
|
static_print_error("charger_sample_event failed");
|
|
return CHARGER_FAIL;
|
|
}
|
|
uint16_t value = get_power_value();
|
|
if (value >= 10000){
|
|
*battery = 100;
|
|
}else if (value <= 0) {
|
|
*battery = 0;
|
|
}else{
|
|
*battery = (uint32_t)(value/100);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
static float charger_sample_status_event(void)
|
|
{
|
|
charger_status_sample();
|
|
return get_status_value();
|
|
}
|
|
|
|
static struct charger_class_ops g_charger_ops = {.open = charger_dev_open,
|
|
.close = charger_dev_close,
|
|
.sample_event = charger_sample_event,
|
|
.sample_status_event = charger_sample_status_event};
|
|
|
|
struct charger_class_ops *tjd_driver_charger_get_ops(void) { return &g_charger_ops; } |