Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef SU_BUTTON_H
- #define SU_BUTTON_H
- #include "main.h"
- #define BUTTON_DOWN_DEFAULT_PIN_STATE GPIO_PIN_RESET
- #define BUTTON_UP_DEFAULT_PIN_STATE GPIO_PIN_SET
- typedef enum {
- BE_DOWN,
- BE_UP,
- BE_LONG_PRESS
- } Su_ButtonEvent;
- typedef void (*Su_OnButtonEventCallback)(int index, Su_ButtonEvent be);
- extern uint32_t su_btnGetDebounceTimeoutMs(void);
- extern void su_btnSetDebounceTimeout(uint32_t ms);
- extern uint32_t su_btnGetLongPressIntervalMs(void);
- extern void su_btnSetLongPressIntervalMs(uint32_t ms);
- extern uint32_t su_btnGetMaxButtonsCount(void);
- extern uint32_t su_btnGetButtonsCount(void);
- extern void su_btnSetButtonsCount(uint32_t count);
- extern void su_btnSetupPin(uint32_t button_index, GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
- extern void su_btnSetEventCallback(uint32_t button_index, Su_ButtonEvent be, Su_OnButtonEventCallback ecb);
- extern void su_btnSetAllEventsCallback(uint32_t button_index, Su_OnButtonEventCallback ecb);
- extern void su_btnSetupPinStates(int button_index, GPIO_PinState ps_down, GPIO_PinState ps_up);
- extern void su_btnDoPolling(void);
- #endif //SU_BUTTON_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement