#include #include "Button.h" #include "mode/Mode.h" #include "mode/ModeTimer.h" void stepMode(); void readConsole(); void buttonCallback(ButtonEvent event); Display display; ModeTimer mode; Button button(23, buttonCallback); void setup() { WiFi.disconnect(); delay(500); Serial.begin(115200); Serial.println("\n\n\nStartup!"); beepSetup(); display.setup(); mode.init(); } void loop() { stepMode(); readConsole(); } void stepMode() { const uint64_t now = millis(); static uint64_t lastMillis = 0; const uint64_t deltaMillis = now - lastMillis; lastMillis = now; mode.step(deltaMillis); mode.draw(display); } void readConsole() { const auto code = Serial.read(); if (code == ' ') { mode.buttonOK(); } if (code == 'x') { mode.buttonESC(); } } void buttonCallback(const ButtonEvent event) { if (event == BUTTON_PRESSED) { mode.buttonOK(); } if (BUTTON_PRESSED_LONG) { mode.buttonESC(); } }