You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
676 B
35 lines
676 B
#ifndef SavButton_h
|
|
#define SavButton_h
|
|
#include "Arduino.h"
|
|
|
|
//#define DEBUG_SERIAL 1
|
|
|
|
typedef enum {
|
|
SB_NONE = 0,
|
|
SB_CLICK,
|
|
SB_AUTO_CLICK,
|
|
SB_LONG_CLICK,
|
|
}SBUTTON_CLICK;
|
|
|
|
|
|
class SButton {
|
|
private :
|
|
uint8_t Pin;
|
|
bool State;
|
|
bool Long_press_state;
|
|
bool Auto_press_state;
|
|
uint32_t Ms1;
|
|
uint32_t Ms2;
|
|
uint32_t Ms_auto_click;
|
|
uint16_t TM_bounce;
|
|
uint16_t TM_long_click;
|
|
uint16_t TM_auto_click;
|
|
uint16_t Period_auto_click;
|
|
public :
|
|
SButton(uint8_t pin,uint16_t tm1 = 50, uint16_t tm2 = 0, uint16_t tm3 = 0, uint16_t tm4 = 500);
|
|
void begin();
|
|
SBUTTON_CLICK Loop();
|
|
};
|
|
|
|
|
|
#endif
|
|
|