Advertisement
alexander_seredinov

su_button.h

Jun 25th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.13 KB | None | 0 0
  1. #ifndef SU_BUTTON_H
  2. #define SU_BUTTON_H
  3.  
  4. #include "main.h"
  5.  
  6. #define BUTTON_DOWN_DEFAULT_PIN_STATE       GPIO_PIN_RESET
  7. #define BUTTON_UP_DEFAULT_PIN_STATE         GPIO_PIN_SET
  8.  
  9. typedef enum  {
  10.     BE_DOWN,
  11.     BE_UP,
  12.     BE_LONG_PRESS
  13. } Su_ButtonEvent;
  14.  
  15.  
  16. typedef void (*Su_OnButtonEventCallback)(int index, Su_ButtonEvent be);
  17.  
  18. extern uint32_t su_btnGetDebounceTimeoutMs(void);
  19. extern void         su_btnSetDebounceTimeout(uint32_t ms);
  20.    
  21. extern uint32_t su_btnGetLongPressIntervalMs(void);
  22. extern void         su_btnSetLongPressIntervalMs(uint32_t ms);
  23.  
  24. extern uint32_t su_btnGetMaxButtonsCount(void);
  25.  
  26. extern uint32_t su_btnGetButtonsCount(void);
  27. extern void         su_btnSetButtonsCount(uint32_t count);
  28.  
  29. extern void su_btnSetupPin(uint32_t button_index, GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
  30.  
  31. extern void su_btnSetEventCallback(uint32_t button_index, Su_ButtonEvent be, Su_OnButtonEventCallback ecb);
  32.  
  33. extern void su_btnSetAllEventsCallback(uint32_t button_index, Su_OnButtonEventCallback ecb);
  34.  
  35. extern void su_btnSetupPinStates(int button_index, GPIO_PinState ps_down, GPIO_PinState ps_up);
  36.  
  37. extern void su_btnDoPolling(void);
  38.  
  39. #endif //SU_BUTTON_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement