WatchyWatchFace/src/Watchy.h

34 lines
786 B
C
Raw Normal View History

2023-05-29 13:03:05 +03:00
#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);
2023-05-29 18:25:28 +03:00
// Called after hardware is setup
virtual void Setup() = 0;
virtual void HandleButtonPress(uint64_t buttonMask) = 0;
virtual void DrawWatchFace(bool partialRefresh = false) = 0;
2023-05-29 13:03:05 +03:00
protected:
static void DisplayBusyCallback(const void *);
static WatchyDisplayBase m_displayBase;
2023-05-29 18:25:28 +03:00
static WatchyDisplay m_display;
2023-05-29 13:03:05 +03:00
static WatchyRTC m_RTC;
};