| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #ifndef LED_H__
- #define LED_H__
- #include <stdint.h>
- #include <stdbool.h>
- #include "define.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define LED_INTERVAL 10
- #define LED_COMB_INTERVAL 1
- #define LED_GPIO_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE)
- #define DEV_LED_GPIO GPIOA
- #define DEV_LED_PIN GPIO_Pin_2
- #define DEV_LED_ON GPIO_ResetBits(DEV_LED_GPIO, DEV_LED_PIN)
- #define DEV_LED_OFF GPIO_SetBits(DEV_LED_GPIO, DEV_LED_PIN)
- #define SET_DEV_LED(X) if(X==true){DEV_LED_ON;}else{DEV_LED_OFF;}
- typedef enum
- {
- LED_QUEUE_PLAY = 0,
- LED_QUEUE_TIME = 1,
- }LED_QUEUE_TYPE;
- typedef enum{
- STAT_LED = 0,
- LED_TYPE_MAX = 1,
- }LED_TYPE;
- typedef enum{
- LED_STAT_OFF = 0,
- LED_STAT_ON = 1
- }LED_STAT;
- typedef enum{
- LED_WORK_OFF = 0,
- LED_WORK_ON = 1,
- LED_WORK_INVERT = 2,
- LED_WORK_MAX = 3,
- }LED_WORK_STAT;
- typedef void (*led_work_stat_func)(bool stat);
- typedef struct{
- LED_STAT stat;
- LED_WORK_STAT work_stat;
- uint32_t single_flicker_period;
- uint32_t flicker_period ;
- uint32_t flicker_onperiod;
- uint32_t flicker_count;
- led_work_stat_func set_work_stat;
- }led_work_s;
- void led_task_init(void);
- void led_task_start(void);
- bool set_led_indication(LED_TYPE type, LED_WORK_STAT work_stat, ...);
- void Set_Led_Queue(LED_QUEUE_TYPE type);
- void led_enter_ota(void);
- void led_data_ota(void);
- #ifdef __cplusplus
- }
- #endif
- #endif // LED_H__
- /** @} */
|