AceButton
1.8.1
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 ACE_BUTTON_DEPRECATED __attribute__((deprecated))
34 #elif defined(_MSC_VER)
35 #define ACE_BUTTON_DEPRECATED __declspec(deprecated)
37 #pragma message("WARNING: Implement ACE_BUTTON_DEPRECATED for this compiler")
38 #define ACE_BUTTON_DEPRECATED
41 namespace ace_button {
177 uint8_t buttonState);
182 #if ! defined(ARDUINO_ARCH_AVR)
226 return mDoubleClickDelay;
231 return mLongPressDelay;
241 return mRepeatPressDelay;
248 return mRepeatPressInterval;
253 mDebounceDelay = debounceDelay;
258 mClickDelay = clickDelay;
263 mDoubleClickDelay = doubleClickDelay;
268 mLongPressDelay = longPressDelay;
273 mRepeatPressDelay = repeatPressDelay;
278 mRepeatPressInterval = repeatPressInterval;
293 virtual unsigned long getClock() {
return millis(); }
304 return digitalRead(pin);
312 return mFeatureFlags & features;
317 mFeatureFlags |= features;
322 mFeatureFlags &= ~features;
357 uint8_t buttonState)
const {
359 if (! mEventHandler)
return;
364 eventHandler->
handleEvent(button, eventType, buttonState);
368 eventHandler(button, eventType, buttonState);
377 mEventHandler =
reinterpret_cast<void*
>(eventHandler);
386 mEventHandler = eventHandler;
395 return &sSystemButtonConfig;
410 void* mEventHandler =
nullptr;