| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #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_IN_CHECK_COUNT 10
- #define ELECT_IN_CHECK_FAST_COUNT 2
- #define ELECT_GPIO_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE)
- #define ELECT_LEFT_OPEN_GPIO GPIOC
- #define ELECT_LEFT_OPEN_PIN GPIO_Pin_1
- #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_RIGHT_OPEN_GPIO GPIOC
- #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_LEFT_IN_GPIO GPIOC
- #define ELECT_LEFT_IN_PIN GPIO_Pin_0
- #define ELECT_LEFT_IN_IN GPIO_ReadInputDataBit(ELECT_LEFT_IN_GPIO, ELECT_LEFT_IN_PIN)
- #define ELECT_RIGHT_IN_GPIO GPIOC
- #define ELECT_RIGHT_IN_PIN GPIO_Pin_2
- #define ELECT_RIGHT_IN_IN GPIO_ReadInputDataBit(ELECT_RIGHT_IN_GPIO, ELECT_RIGHT_IN_PIN)
- typedef enum{
- ELECT_WORK_NULL,
- ELECT_WORK_START,
- ELECT_WORK_END,
- }elect_work_type_e;
- typedef void (*elect_work_stat_func)(elect_work_type_e type);
- typedef void (*elect_in_upload_func)(uint8_t idx, bool stat);
- typedef bool (*elect_get_level_func)(void);
- typedef struct{
- const uint8_t idx;
- elect_work_type_e type;
- uint32_t workTime;
- elect_work_stat_func func;
- uint8_t elect_in_stat;
- bool elect_in_finish;
- uint8_t elect_in_on_count;
- uint8_t elect_in_off_count;
- uint8_t elect_default_count;
- elect_get_level_func get_level;
- }elect_work_s;
- typedef enum
- {
- ELECT_QUEUE_TIME = 0,
- ELECT_QUEUE_IN_TIME = 1,
- }ELECT_QUEUE_TYPE;
- void vUser_elect_task_init(void);
- void vUser_elect_task_start(void);
- void vUser_elect_start(uint8_t addr);
- void vUser_elect_open(uint8_t idx);
- void vUser_elect_set_upload_stat_func(elect_in_upload_func func);
- extern tmosTaskID elect_task_id;
- #ifdef __cplusplus
- }
- #endif
- #endif // LED_H__
- /** @} */
|