shark_charge.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "shark_types.h"
  3. #include "common.h"
  4. #define SHARK_CHG_DEBOUNCE 500
  5. #define SHARK_CHG_TIME_MIN 5000
  6. #define SHARK_CHG_TIME_MID 20000
  7. #define SHARK_CHG_TIME_MAX 60000
  8. #define GPIO_PORT_CHG_DET GPIOC
  9. #define GPIO_PIN_CHG_DET GPIO_PIN_4
  10. #define GPIO_RCU_CHG_DET RCU_GPIOC
  11. #define GPIO_PORT_CHG_EN GPIOB
  12. #define GPIO_PIN_CHG_EN GPIO_PIN_12
  13. #define GPIO_RCU_CHG_EN RCU_GPIOB
  14. #define EXTI_PORT_CHG_DET GPIO_PORT_SOURCE_GPIOC
  15. #define EXTI_PIN_CHG_DET GPIO_PIN_SOURCE_4
  16. #define EXTI_CHG_DET EXTI_4
  17. extern shark_bool shark_charger_detected;
  18. extern shark_bool shark_charger_enabled;
  19. extern shark_bool shark_battery_full;
  20. extern shark_u16 shark_charge_times;
  21. extern shark_u16 shark_charger_remove;
  22. extern shark_u16 shark_charger_insert;
  23. void shark_charger_set_enable(shark_bool enable);
  24. void shark_charger_disable(u16 times);
  25. void shark_charge_init(void);
  26. void shark_charge_tick(void);
  27. void shark_charge_poll(void);
  28. void shark_charge_isr(void);