42 lines
920 B
C
42 lines
920 B
C
#ifndef __BSP_KEY_H__
|
|
#define __BSP_KEY_H__
|
|
|
|
// #include "CONFIG.h"
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
#define KEY_TIMOUT_MS 3000
|
|
#define KEY_LONG_PRESS_MS 5000
|
|
#define KEY_SACN_MS 40
|
|
|
|
#define KEY_SCAN_EVT (0x0001 << 0)
|
|
#define KEY_WAKEUP_EVT (0x0001 << 1)
|
|
#define KEY_RELEASE_EVT (0x0001 << 2)
|
|
#define KEY_IDLE_TIMEOUT_EVT (0x0001 << 3)
|
|
|
|
// KEY_B_PIN at PB0, low->active
|
|
#define KEY_B_PIN GPIO_Pin_0
|
|
// #define KEY_B_PIN GPIO_Pin_0
|
|
|
|
#define IS_KEY_Vaild() ((GPIOB_ReadPortPin(KEY_B_PIN) ? 0 : 1))
|
|
|
|
typedef enum
|
|
{
|
|
kKeyShort = 0,
|
|
kKeyLong,
|
|
kKeyRelease,
|
|
} TeAppEvtType;
|
|
|
|
typedef void (*app_task_evt_handler_t)(TeAppEvtType app_task_evt_type);
|
|
|
|
void BSP_KEY_EnterLowpower(void);
|
|
void BSP_KEY_ExitLowpower(void);
|
|
|
|
void BSP_KEY_Init(app_task_evt_handler_t handler);
|
|
|
|
void KEY_ProcessLoop(void);
|
|
|
|
|
|
#endif // !__BSP_KEY_H__
|