#ifndef _USER_CHARGE_H__ #define _USER_CHARGE_H__ #include #include #include "define.h" #ifdef __cplusplus extern "C" { #endif #define CHARGE_CURRENT_ARRAY_SIZE 5 #define CHARGE_ACTION_INTERVAL 10 #define CHARGE_GPIO_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD, ENABLE) #define CHARGE_LEFT_GPIO GPIOC #define CHARGE_LEFT_PIN GPIO_Pin_10 #define CHARGE_LEFT_ON GPIO_WriteBit(CHARGE_LEFT_GPIO, CHARGE_LEFT_PIN, Bit_SET) #define CHARGE_LEFT_OFF GPIO_WriteBit(CHARGE_LEFT_GPIO, CHARGE_LEFT_PIN, Bit_RESET) #define CHARGE_RIGHT_GPIO GPIOA #define CHARGE_RIGHT_PIN GPIO_Pin_4 #define CHARGE_RIGHT_ON GPIO_WriteBit(CHARGE_RIGHT_GPIO, CHARGE_RIGHT_PIN, Bit_SET) #define CHARGE_RIGHT_OFF GPIO_WriteBit(CHARGE_RIGHT_GPIO, CHARGE_RIGHT_PIN, Bit_RESET) typedef enum { CHARGE_QUEUE_LEFT_OPEN = 0, CHARGE_QUEUE_LEFT_CLOSE = 1, CHARGE_QUEUE_RIGHT_OPEN = 2, CHARGE_QUEUE_RIGHT_CLOSE = 3, ADC_QUEUE_TIME = 4, ADC_QUEUE_DMA = 5, }USER_CHARGE_QUEUE_TYPE; typedef void (*vUser_charge_upload_stat_func)(uint8_t idx, bool stat); void set_user_charge_Queue(USER_CHARGE_QUEUE_TYPE type); void user_charge_init(void); void vUser_charge_set_upload_stat_func(vUser_charge_upload_stat_func func); extern tmosTaskID user_charge_task_id; #ifdef __cplusplus } #endif #endif // ACTION_MOTOR_H__ /** @} */