user_charge.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #ifndef _USER_CHARGE_H__
  2. #define _USER_CHARGE_H__
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. #include "define.h"
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. #define CHARGE_CURRENT_ARRAY_SIZE 5
  10. #define CHARGE_ACTION_INTERVAL 10
  11. #define CHARGE_GPIO_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD, ENABLE)
  12. #define CHARGE_LEFT_GPIO GPIOC
  13. #define CHARGE_LEFT_PIN GPIO_Pin_10
  14. #define CHARGE_LEFT_ON GPIO_WriteBit(CHARGE_LEFT_GPIO, CHARGE_LEFT_PIN, Bit_SET)
  15. #define CHARGE_LEFT_OFF GPIO_WriteBit(CHARGE_LEFT_GPIO, CHARGE_LEFT_PIN, Bit_RESET)
  16. #define CHARGE_RIGHT_GPIO GPIOA
  17. #define CHARGE_RIGHT_PIN GPIO_Pin_4
  18. #define CHARGE_RIGHT_ON GPIO_WriteBit(CHARGE_RIGHT_GPIO, CHARGE_RIGHT_PIN, Bit_SET)
  19. #define CHARGE_RIGHT_OFF GPIO_WriteBit(CHARGE_RIGHT_GPIO, CHARGE_RIGHT_PIN, Bit_RESET)
  20. typedef enum
  21. {
  22. CHARGE_QUEUE_LEFT_OPEN = 0,
  23. CHARGE_QUEUE_LEFT_CLOSE = 1,
  24. CHARGE_QUEUE_RIGHT_OPEN = 2,
  25. CHARGE_QUEUE_RIGHT_CLOSE = 3,
  26. ADC_QUEUE_TIME = 4,
  27. ADC_QUEUE_DMA = 5,
  28. }USER_CHARGE_QUEUE_TYPE;
  29. typedef void (*vUser_charge_upload_stat_func)(uint8_t idx, bool stat);
  30. void set_user_charge_Queue(USER_CHARGE_QUEUE_TYPE type);
  31. void user_charge_init(void);
  32. void vUser_charge_set_upload_stat_func(vUser_charge_upload_stat_func func);
  33. extern tmosTaskID user_charge_task_id;
  34. #ifdef __cplusplus
  35. }
  36. #endif
  37. #endif // ACTION_MOTOR_H__
  38. /** @} */