54 volatile bool pulseClickEnabled;
60 volatile bool secureModeEnabled;
66 volatile bool isPressed;
72 volatile bool singleClicked;
78 volatile bool pulseClicked;
84 volatile unsigned long buttonFallTimeMillis;
89 unsigned long pulseDelayStartMillis;
94 unsigned long pulseClicksMinimumIntervalMillis;
99 unsigned long prevPulseClickResponseTimeMillis;
105 volatile bool antiMisclickActivated;
110 void (*
volatile callback)(void);
121 bool isButtonPressed();
126 void scheduledCallback();
132 bool anyOtherButtonsPressed();
138 void setAntiMisclickActive(
const bool active);
143 void stateChangedCallback();
162 Node(
Button *
const button, Node *
const next);
168 static Node *
volatile activeButtonsListHead;
173 void registerButtonToActiveList();
178 void unregisterButtonFromActiveList();
188 static const unsigned long DEFAULT_PULSE_DELAY_START_MILLIS;
193 static const unsigned long DEFAULT_PULSE_CLICKS_MINIMUM_INTERVAL_MILLIS;
200 Button(
const uint32_t pin);