AceButton
1.6
An adjustable, compact, event-driven button library for Arduino.
|
25 #ifndef ACE_BUTTON_BUTTON_CONFIG_H
26 #define ACE_BUTTON_BUTTON_CONFIG_H
29 #include "IEventHandler.h"
32 #if defined(__GNUC__) || defined(__clang__)
33 #define DEPRECATED __attribute__((deprecated))
34 #elif defined(_MSC_VER)
35 #define DEPRECATED __declspec(deprecated)
37 #pragma message("WARNING: You need to implement DEPRECATED for this compiler")
41 namespace ace_button {
177 uint8_t buttonState);
182 #if defined(ESP8266) || defined(ESP32)
209 return mDoubleClickDelay;
214 return mLongPressDelay;
224 return mRepeatPressDelay;
231 return mRepeatPressInterval;
236 mDebounceDelay = debounceDelay;
241 mClickDelay = clickDelay;
246 mDoubleClickDelay = doubleClickDelay;
251 mLongPressDelay = longPressDelay;
256 mRepeatPressDelay = repeatPressDelay;
261 mRepeatPressInterval = repeatPressInterval;
276 virtual unsigned long getClock() {
return millis(); }
287 return digitalRead(pin);
295 return mFeatureFlags & features;
300 mFeatureFlags |= features;
305 mFeatureFlags &= ~features;
340 uint8_t buttonState)
const {
342 if (! mEventHandler)
return;
347 eventHandler->
handleEvent(button, eventType, buttonState);
351 eventHandler(button, eventType, buttonState);
360 mEventHandler =
reinterpret_cast<void*
>(eventHandler);
369 mEventHandler = eventHandler;
378 return &sSystemButtonConfig;
393 void* mEventHandler =
nullptr;