| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #pragma once
- #include "shark_types.h"
- #include "common.h"
- #define SHARK_CHG_TIME_DETECT 10
- #define SHARK_CHG_TIME_SWITCH 12
- #define SHARK_CHG_INSERT_MIN 50
- #define SHARK_CHG_REMOVE_MIN 2000
- #define GPIO_PORT_CHG_DET GPIOC
- #define GPIO_PIN_CHG_DET GPIO_PIN_4
- #define GPIO_RCU_CHG_DET RCU_GPIOC
- #define GPIO_PORT_CHG_EN GPIOB
- #define GPIO_PIN_CHG_EN GPIO_PIN_12
- #define GPIO_RCU_CHG_EN RCU_GPIOB
- #define EXTI_PORT_CHG_DET GPIO_PORT_SOURCE_GPIOC
- #define EXTI_PIN_CHG_DET GPIO_PIN_SOURCE_4
- #define EXTI_CHG_DET EXTI_4
- typedef enum {
- SHARK_CHG_REMOVE,
- SHARK_CHG_DETECT,
- SHARK_CHG_INSERT,
- } shark_charger_state_t;
- extern shark_charger_state_t shark_charger_state;
- extern shark_bool shark_charger_enabled;
- extern shark_bool shark_charger_valid;
- extern shark_bool shark_battery_full;
- extern shark_u32 shark_charge_time;
- void shark_charger_set_enable(shark_bool enable);
- shark_bool shark_battery_charge_full(void);
- shark_bool shark_charger_is_normal(void);
- shark_bool shark_charger_is_allow(void);
- void shark_charger_set_poll(void);
- void shark_charger_disable(void);
- void shark_charge_init(void);
- void shark_charge_tick(void);
- void shark_charge_poll(void);
- void shark_charge_isr(void);
- static inline shark_u32 shark_charge_get_time(void)
- {
- return shark_get_seconds() - shark_charge_time;
- }
|