AceButton
1.10.0
An adjustable, compact, event-driven button library for Arduino.
|
An implementation of ButtonConfig that uses digitalReadFast() instead of digitalRead() to support 3 buttons. More...
#include <ButtonConfigFast3.h>
Public Member Functions | |
int | readButton (uint8_t pin) override |
Return the HIGH or LOW state of the button. More... | |
Public Member Functions inherited from ace_button::ButtonConfig | |
ButtonConfig ()=default | |
Constructor. | |
virtual | ~ButtonConfig ()=default |
If the ButtonConfig is created and deleted on the heap, a virtual destructor is technically required by the C++ language to prevent memory leaks. More... | |
uint16_t | getDebounceDelay () const |
Milliseconds to wait for debouncing. | |
uint16_t | getClickDelay () const |
Milliseconds to wait for a possible click. | |
uint16_t | getDoubleClickDelay () const |
Milliseconds between the first and second click to register as a double-click. | |
uint16_t | getLongPressDelay () const |
Milliseconds for a long press event. | |
uint16_t | getRepeatPressDelay () const |
Milliseconds that a button needs to be Pressed down before the start of the sequence of RepeatPressed events. More... | |
uint16_t | getRepeatPressInterval () const |
Milliseconds between two successive RepeatPressed events. | |
uint16_t | getHeartBeatInterval () const |
Milliseconds between two successive HeartBeat events. | |
void | setDebounceDelay (uint16_t debounceDelay) |
Set the debounceDelay milliseconds. | |
void | setClickDelay (uint16_t clickDelay) |
Set the clickDelay milliseconds. | |
void | setDoubleClickDelay (uint16_t doubleClickDelay) |
Set the doubleClickDelay milliseconds. | |
void | setLongPressDelay (uint16_t longPressDelay) |
Set the longPressDelay milliseconds. | |
void | setRepeatPressDelay (uint16_t repeatPressDelay) |
Set the repeatPressDelay milliseconds. | |
void | setRepeatPressInterval (uint16_t repeatPressInterval) |
Set the repeatPressInterval milliseconds. | |
void | setHeartBeatInterval (uint16_t heartBeatInterval) |
Set the heartBeatInterval milliseconds. | |
virtual unsigned long | getClock () |
Return the milliseconds of the internal clock. More... | |
bool | isFeature (FeatureFlagType features) const |
Check if the given features are enabled. | |
void | setFeature (FeatureFlagType features) |
Enable the given features. | |
void | clearFeature (FeatureFlagType features) |
Disable the given features. | |
void | resetFeatures () |
Disable all (externally visible) features. More... | |
EventHandler | getEventHandler () const ACE_BUTTON_DEPRECATED |
Return the eventHandler function pointer. More... | |
void | dispatchEvent (AceButton *button, uint8_t eventType, uint8_t buttonState) const |
Dispatch the event to the handler. More... | |
void | setEventHandler (EventHandler eventHandler) |
Install the EventHandler function pointer. More... | |
void | setIEventHandler (IEventHandler *eventHandler) |
Install the IEventHandler object pointer. More... | |
Additional Inherited Members | |
Public Types inherited from ace_button::ButtonConfig | |
typedef uint16_t | FeatureFlagType |
Type of the feature flag. More... | |
typedef void(* | EventHandler) (AceButton *button, uint8_t eventType, uint8_t buttonState) |
The event handler signature. More... | |
Static Public Member Functions inherited from ace_button::ButtonConfig | |
static ButtonConfig * | getSystemButtonConfig () |
Return a pointer to the singleton instance of the ButtonConfig which is attached to all AceButton instances by default. | |
Static Public Attributes inherited from ace_button::ButtonConfig | |
static const uint16_t | kDebounceDelay = 20 |
Default milliseconds returned by getDebounceDelay(). | |
static const uint16_t | kClickDelay = 200 |
Default milliseconds returned by getClickDelay(). | |
static const uint16_t | kDoubleClickDelay = 400 |
Default milliseconds returned by getDoubleClickDelay(). | |
static const uint16_t | kLongPressDelay = 1000 |
Default milliseconds returned by getLongPressDelay(). | |
static const uint16_t | kRepeatPressDelay = 1000 |
Default milliseconds returned by getRepeatPressDelay(). | |
static const uint16_t | kRepeatPressInterval = 200 |
Default milliseconds returned by getRepeatPressInterval(). | |
static const uint16_t | kHeartBeatInterval = 5000 |
Default milliseconds returned by getHeartBeatInterval(). | |
static const FeatureFlagType | kFeatureClick = 0x01 |
Flag to activate the AceButton::kEventClicked event. | |
static const FeatureFlagType | kFeatureDoubleClick = 0x02 |
Flag to activate the AceButton::kEventDoubleClicked event. More... | |
static const FeatureFlagType | kFeatureLongPress = 0x04 |
Flag to activate the AceButton::kEventLongPress event. | |
static const FeatureFlagType | kFeatureRepeatPress = 0x08 |
Flag to activate the AceButton::kEventRepeatPressed event. | |
static const FeatureFlagType | kFeatureSuppressAfterClick = 0x10 |
Flag to suppress kEventReleased after a kEventClicked. | |
static const FeatureFlagType | kFeatureSuppressAfterDoubleClick = 0x20 |
Flag to suppress kEventReleased after a kEventDoubleClicked. More... | |
static const FeatureFlagType | kFeatureSuppressAfterLongPress = 0x40 |
Flag to suppress kEventReleased after a kEventLongPressed. | |
static const FeatureFlagType | kFeatureSuppressAfterRepeatPress = 0x80 |
Flag to suppress kEventReleased after a kEventRepeatPressed. | |
static const FeatureFlagType | kFeatureSuppressClickBeforeDoubleClick = 0x100 |
Flag to suppress kEventClicked before a kEventDoubleClicked. More... | |
static const FeatureFlagType | kFeatureHeartBeat = 0x200 |
Flag to enable periodic kEventHeartBeat. | |
static const FeatureFlagType | kInternalFeatureIEventHandler = 0x8000 |
Internal flag to indicate that mEventHandler is an IEventHandler object pointer instead of an EventHandler function pointer. | |
static const FeatureFlagType | kFeatureSuppressAll |
Convenience flag to suppress all suppressions. More... | |
An implementation of ButtonConfig that uses digitalReadFast() instead of digitalRead() to support 3 buttons.
The primary motivation for using digitalReadFast() in this library is the reduction of flash memory, not the improvement in performance.
T_PIN0 | physical pin used by button 0 |
T_PIN1 | physical pin used by button 1 |
T_PIN2 | physical pin used by button 2 |
Definition at line 43 of file ButtonConfigFast3.h.
|
inlineoverridevirtual |
Return the HIGH or LOW state of the button.
Override to use something other than digitalRead(). The return type is 'int' instead of uint16_t because that's the return type of digitalRead().
Note: This should have been a const function. I cannot change it now without breaking backwards compatibility.
Reimplemented from ace_button::ButtonConfig.
Definition at line 45 of file ButtonConfigFast3.h.