WatchyWatchFace/src/Watchy.h
2023-05-29 18:25:42 +03:00

34 lines
No EOL
786 B
C++

#pragma once
#include "config.h"
#include "WatchyDisplay.h"
#include "WatchyRTC.h"
#include <WiFi.h>
#include <WiFiUdp.h>
#include <NTPClient.h>
class Watchy
{
public:
Watchy();
void Init();
void DeepSleep();
void VibeMotor(uint8_t intervalMs = 100, uint8_t length = 20);
float GetBatteryVoltage();
void ConnectWiFi();
void SyncNTPTime();
void DisconnectWiFi();
void ShowWatchFace(bool partialRefresh = false);
// Called after hardware is setup
virtual void Setup() = 0;
virtual void HandleButtonPress(uint64_t buttonMask) = 0;
virtual void DrawWatchFace(bool partialRefresh = false) = 0;
protected:
static void DisplayBusyCallback(const void *);
static WatchyDisplayBase m_displayBase;
static WatchyDisplay m_display;
static WatchyRTC m_RTC;
};