45 lines
834 B
C++
45 lines
834 B
C++
//
|
|
// Klubhaus Doorbell — ESP32-32E target
|
|
//
|
|
|
|
#include "DisplayDriverTFT.h"
|
|
#include "board_config.h"
|
|
#include "secrets.h"
|
|
|
|
#include <KlubhausCore.h>
|
|
|
|
DisplayDriverTFT tftDriver;
|
|
DisplayManager display(&tftDriver);
|
|
DoorbellLogic logic(&display);
|
|
|
|
void setup() {
|
|
Serial.begin(115200);
|
|
delay(500);
|
|
|
|
logic.begin(FW_VERSION, BOARD_NAME, wifiNetworks, wifiNetworkCount);
|
|
logic.finishBoot();
|
|
}
|
|
|
|
void loop() {
|
|
// Read touch
|
|
TouchEvent evt = display.readTouch();
|
|
|
|
// State machine tick
|
|
logic.update();
|
|
|
|
// Render current screen
|
|
display.render(logic.getScreenState());
|
|
|
|
// Handle tap gestures
|
|
logic.handleTouch(evt);
|
|
|
|
// Handle hold-to-silence gesture
|
|
logic.updateHold(evt);
|
|
|
|
// Serial console
|
|
logic.processSerial();
|
|
|
|
// Yield to WiFi/BT stack
|
|
delay(LOOP_YIELD_MS);
|
|
}
|