30 explicit TapHold(uint16_t hold_threshold = 60)
31 : threshold_(hold_threshold) {}
34 void update(
bool pressed,
bool just_released) {
37 if (!hold_fired_ && ticks_ >= threshold_) {
44 if (!hold_fired_ && ticks_ > 0) {
48 release_from_hold_edge_ =
true;
71 bool e = release_from_hold_edge_;
72 release_from_hold_edge_ =
false;
77 bool holding()
const {
return hold_fired_; }
87 release_from_hold_edge_ =
false;
93 bool hold_fired_ =
false;
94 bool tap_edge_ =
false;
95 bool hold_edge_ =
false;
96 bool release_from_hold_edge_ =
false;
bool holding() const
Currently in held state (pressed past threshold, not yet released).
bool tapped()
True once after a short press (released before hold threshold).
uint16_t hold_ticks() const
Current tick count (0 when not pressed).
bool released_from_hold()
True once when released after a hold.
bool held()
True once when hold threshold is reached (while still pressed).
TapHold(uint16_t hold_threshold=60)
void update(bool pressed, bool just_released)
Call every tick with the button's current pressed state and release edge.
Root namespace for all Sound Byte Libs functionality.