1 #ifndef HEADER_LUMITRONIX_IFLEX_WORKSHOP_BUTTON
2 #define HEADER_LUMITRONIX_IFLEX_WORKSHOP_BUTTON
12 static constexpr
auto LUMITRONIX_IFLEX_WORKSHOP_BUTTON_A_PIN{12};
13 static constexpr
auto LUMITRONIX_IFLEX_WORKSHOP_BUTTON_B_PIN{11};
14 static constexpr decltype(::millis()) LUMITRONIX_IFLEX_WORKSHOP_BUTTON_DEBOUNCE{50};
28 decltype(::millis()) lastStateChange{0};
35 ::pinMode(pin, INPUT_PULLUP);
51 decltype(::millis()) const now = ::millis();
53 if (currentState == lastState) {
54 if ((now - lastStateChange) > LUMITRONIX_IFLEX_WORKSHOP_BUTTON_DEBOUNCE) {
55 stableState = lastState;
60 lastState = currentState;
61 lastStateChange = now;
65 if (LOW == ::digitalRead(pin)) {