17#ifndef SBL_COMPONENTS_CONTROL_BUTTON_HPP_
18#define SBL_COMPONENTS_CONTROL_BUTTON_HPP_
38 : threshold_(config.debounce_count),
39 counter_(0), stable_(false), raw_(false),
40 pressed_edge_(false), released_edge_(false),
54 if (logical_state == stable_) {
60 if (counter_ >= threshold_) {
62 bool was_pressed = stable_;
63 stable_ = logical_state;
66 if (stable_ && !was_pressed) {
69 }
else if (!stable_ && was_pressed) {
70 released_edge_ =
true;
85 bool raw()
const {
return raw_; }
93 bool e = pressed_edge_;
94 pressed_edge_ =
false;
104 bool e = released_edge_;
105 released_edge_ =
false;
122 pressed_edge_ =
false;
123 released_edge_ =
false;
134 uint32_t held_ticks_;
Root namespace for all Sound Byte Libs functionality.