A class for buttons that increment and decrement some counter or setting. More...
#include <AH/Hardware/IncrementDecrementButtons.hpp>
Public Types | |
| enum | State { Nothing = 0, Increment, Decrement, Reset } |
| An enumeration of the different actions to be performed by the counter. More... | |
Public Member Functions | |
| IncrementDecrementButtons (const Button &incrementButton, const Button &decrementButton) | |
| Create a IncrementDecrementButtons object. More... | |
| void | begin () |
| State | update () |
| Update and return the state of the increment/decrement button. More... | |
| State | getState () const |
| Return the state of the increment/decrement button without updating it. More... | |
| void | invert () |
Protected Member Functions | |
| State | updateImplementation () |
Private Types | |
| enum | { Initial, LongPress, AfterReset } |
Private Attributes | |
| Button | incrementButton |
| Button | decrementButton |
| enum AH::IncrementDecrementButtons:: { ... } | longPressState = Initial |
| unsigned long | longPressRepeat |
| State | state = Nothing |
A class for buttons that increment and decrement some counter or setting.
It behaves the same way as a computer keyboard: when you press the increment (decrement) button, it increments (decrements) the counter once. If you keep on pressing it for longer than a certain threshold, it keeps on incrementing (decrementing) at a faster rate, until you release it.
If both the increment and the decrement button are pressed at once, it resets the counter.
Definition at line 25 of file IncrementDecrementButtons.hpp.
| enum State |
An enumeration of the different actions to be performed by the counter.
Definition at line 52 of file IncrementDecrementButtons.hpp.
|
private |
| Enumerator | |
|---|---|
| Initial | |
| LongPress | |
| AfterReset | |
Definition at line 87 of file IncrementDecrementButtons.hpp.
|
inline |
Create a IncrementDecrementButtons object.
| incrementButton | The button to increment the counter. The button is copied. |
| decrementButton | The button to decrement the counter. The button is copied. |
Definition at line 37 of file IncrementDecrementButtons.hpp.
|
inline |
Definition at line 42 of file IncrementDecrementButtons.hpp.
|
inline |
Update and return the state of the increment/decrement button.
Definition at line 62 of file IncrementDecrementButtons.hpp.
|
inline |
Return the state of the increment/decrement button without updating it.
Returns the same value as the last update call.
Definition at line 70 of file IncrementDecrementButtons.hpp.
|
inline |
Definition at line 74 of file IncrementDecrementButtons.hpp.
|
protected |
Definition at line 8 of file IncrementDecrementButtons.cpp.
|
private |
Definition at line 84 of file IncrementDecrementButtons.hpp.
|
private |
Definition at line 85 of file IncrementDecrementButtons.hpp.
| enum { ... } longPressState |
|
private |
Definition at line 92 of file IncrementDecrementButtons.hpp.
Definition at line 93 of file IncrementDecrementButtons.hpp.
1.8.16