enum ButtonStates delay_debounce(enum ButtonStates button_state ... That’s no good. The Arduino “Bounce” library, which otherwise uses a similar method, counts time with non-blocking ...
There are simple ways to debounce inputs like adding a delay after a button is pressed ... [stockyu] has included some example Arduino code for others to use. It’s an interesting take on ...