| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #ifndef USER_ELECT_H__
- #define USER_ELECT_H__
- #include <stdint.h>
- #include <stdbool.h>
- #include "define.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define ELECT_COUNT 2
- #define ELECT_INTERVAL 10
- #define ELECT_GPIO_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD, ENABLE)
- #define ELECT_LEFT_OPEN_GPIO GPIOC
- #define ELECT_LEFT_OPEN_PIN GPIO_Pin_12
- #define ELECT_LEFT_OPEN_ON GPIO_WriteBit(ELECT_LEFT_OPEN_GPIO, ELECT_LEFT_OPEN_PIN, Bit_SET)
- #define ELECT_LEFT_OPEN_OFF GPIO_WriteBit(ELECT_LEFT_OPEN_GPIO, ELECT_LEFT_OPEN_PIN, Bit_RESET)
- #define ELECT_LEFT_CLOSE_GPIO GPIOC
- #define ELECT_LEFT_CLOSE_PIN GPIO_Pin_11
- #define ELECT_LEFT_CLOSE_ON GPIO_WriteBit(ELECT_LEFT_CLOSE_GPIO, ELECT_LEFT_CLOSE_PIN, Bit_SET)
- #define ELECT_LEFT_CLOSE_OFF GPIO_WriteBit(ELECT_LEFT_CLOSE_GPIO, ELECT_LEFT_CLOSE_PIN, Bit_RESET)
- #define ELECT_RIGHT_OPEN_GPIO GPIOA
- #define ELECT_RIGHT_OPEN_PIN GPIO_Pin_3
- #define ELECT_RIGHT_OPEN_ON GPIO_WriteBit(ELECT_RIGHT_OPEN_GPIO, ELECT_RIGHT_OPEN_PIN, Bit_SET)
- #define ELECT_RIGHT_OPEN_OFF GPIO_WriteBit(ELECT_RIGHT_OPEN_GPIO, ELECT_RIGHT_OPEN_PIN, Bit_RESET)
- #define ELECT_RIGHT_CLOSE_GPIO GPIOD
- #define ELECT_RIGHT_CLOSE_PIN GPIO_Pin_4
- #define ELECT_RIGHT_CLOSE_ON GPIO_WriteBit(ELECT_RIGHT_CLOSE_GPIO, ELECT_RIGHT_CLOSE_PIN, Bit_SET)
- #define ELECT_RIGHT_CLOSE_OFF GPIO_WriteBit(ELECT_RIGHT_CLOSE_GPIO, ELECT_RIGHT_CLOSE_PIN, Bit_RESET)
- typedef enum{
- ELECT_WORK_NULL,
- ELECT_WORK_START,
- ELECT_WORK_END,
- }elect_work_type_e;
- typedef void (*elect_work_stat_func)(bool stat, elect_work_type_e type);
- typedef struct{
- const uint8_t idx;
- bool stat;
- elect_work_type_e type;
- uint32_t workTime;
- elect_work_stat_func func;
- }elect_work_s;
- typedef enum
- {
- ELECT_QUEUE_TIME = 0,
- ELECT_QUEUE_START = 1,
- }ELECT_QUEUE_TYPE;
- typedef void (*vUser_elect_upload_stat_func)(uint8_t idx, bool stat);
- void elect_task_init(void);
- void elect_task_start(void);
- void elect_start(uint8_t addr);
- void set_elect_work_stat(uint8_t idx, bool stat);
- void vUser_elect_set_upload_stat_func(vUser_elect_upload_stat_func func);
- extern tmosTaskID elect_task_id;
- #ifdef __cplusplus
- }
- #endif
- #endif // LED_H__
- /** @} */
|