#include <AH/Hardware/Button.hpp>
A class for reading and debouncing buttons and switches.
Definition at line 15 of file Button.hpp.
Classes | |
struct | InternalState |
Public Types | |
enum | State { Pressed = 0b00 , Released = 0b11 , Falling = 0b10 , Rising = 0b01 } |
An enumeration of the different states a button can be in. More... | |
Public Member Functions | |
Button () | |
Construct a new Button object. | |
Button (pin_t pin) | |
Construct a new Button object. | |
Button (ArduinoPin_t pin) | |
Construct a new Button object. | |
void | begin () |
Initialize (enable the internal pull-up resistor). | |
void | invert () |
Invert the input state of this button (button pressed is HIGH instead of LOW ). | |
State | update () |
Read the button and return its new state. | |
State | getState () const |
Get the state of the button, without updating it. | |
unsigned long | previousBounceTime () const |
Return the time point (in milliseconds) when the button last bounced. | |
unsigned long | stableTime (unsigned long now) const |
Return the time (in milliseconds) that the button has been stable for, compared to the given time point. | |
unsigned long | stableTime () const |
Return the time (in milliseconds) that the button has been stable for. | |
Static Public Member Functions | |
static FlashString_t | getName (State state) |
Return the name of the state as a string. | |
static void | setDebounceTime (unsigned long debounceTime=BUTTON_DEBOUNCE_TIME) |
Set the debounce time for all Buttons. | |
static unsigned long | getDebounceTime () |
Get the debounce time. | |
Private Attributes | |
pin_t | pin |
struct AH::Button::InternalState | state |
Static Private Attributes | |
static unsigned long | debounceTime = BUTTON_DEBOUNCE_TIME |
Edit this in Settings.hpp. | |
An enumeration of the different states a button can be in.
Enumerator | |
---|---|
Pressed | Input went from low to low (0,0) |
Released | Input went from high to high (1,1) |
Falling | Input went from high to low (1,0) |
Rising | Input went from low to high (0,1) |
Definition at line 47 of file Button.hpp.
|
inline |
Construct a new Button object.
This constructor should not be used.
It is just a way to easily create arrays of buttons, and initializing them later.
Definition at line 24 of file Button.hpp.
Construct a new Button object.
pin | The digital pin to read from. The internal pull-up resistor will be enabled when begin is called. |
Definition at line 5 of file Button.cpp.
|
inline |
Construct a new Button object.
pin | The digital pin to read from. The internal pull-up resistor will be enabled when begin is called. |
Definition at line 35 of file Button.hpp.
void begin | ( | ) |
Initialize (enable the internal pull-up resistor).
Definition at line 7 of file Button.cpp.
void invert | ( | ) |
Invert the input state of this button (button pressed is HIGH
instead of LOW
).
Definition at line 9 of file Button.cpp.
Button::State update | ( | ) |
Read the button and return its new state.
The button is debounced, the debounce time can be set in Settings.hpp: BUTTON_DEBOUNCE_TIME.
Definition at line 11 of file Button.cpp.
Button::State getState | ( | ) | const |
Get the state of the button, without updating it.
Returns the same value as the last call to update.
Definition at line 32 of file Button.cpp.
|
static |
Return the name of the state as a string.
Definition at line 36 of file Button.cpp.
Return the time point (in milliseconds) when the button last bounced.
Definition at line 46 of file Button.cpp.
Return the time (in milliseconds) that the button has been stable for, compared to the given time point.
Definition at line 50 of file Button.cpp.
Return the time (in milliseconds) that the button has been stable for.
Definition at line 54 of file Button.cpp.
|
static |
Set the debounce time for all Buttons.
debounceTime | The new debounce time in milliseconds. |
Definition at line 56 of file Button.cpp.
Get the debounce time.
Definition at line 60 of file Button.cpp.
|
private |
Definition at line 124 of file Button.hpp.
|
private |
|
staticprivate |