diff options
Diffstat (limited to 'src/DisplayApp/DisplayApp.h')
| -rw-r--r-- | src/DisplayApp/DisplayApp.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/DisplayApp/DisplayApp.h b/src/DisplayApp/DisplayApp.h index e89ff64..b15c358 100644 --- a/src/DisplayApp/DisplayApp.h +++ b/src/DisplayApp/DisplayApp.h @@ -5,6 +5,7 @@ #include <drivers/SpiMaster.h> #include <Components/Gfx/Gfx.h> #include <bits/unique_ptr.h> +#include <queue.h> extern const FONT_INFO lCD_70ptFontInfo; @@ -12,6 +13,9 @@ namespace Pinetime { namespace Applications { class DisplayApp { public: + enum class States {Idle, Running}; + enum class Messages : uint8_t {GoToSleep, GoToRunning} ; + DisplayApp(); void Start(); void Minutes(uint8_t m); @@ -19,6 +23,8 @@ namespace Pinetime { void SetTime(uint8_t minutes, uint8_t hours); + void PushMessage(Messages msg); + private: TaskHandle_t taskHandle; static void Process(void* instance); @@ -29,13 +35,20 @@ namespace Pinetime { const FONT_INFO largeFont {lCD_70ptFontInfo.height, lCD_70ptFontInfo.startChar, lCD_70ptFontInfo.endChar, lCD_70ptFontInfo.spacePixels, lCD_70ptFontInfo.charInfo, lCD_70ptFontInfo.data}; void Refresh(); - - uint8_t seconds = 0; uint8_t minutes = 0; uint8_t hours = 0; char currentChar[4]; uint32_t deltaSeconds = 0; + + States state = States::Running; + void RunningState(); + void IdleState(); + QueueHandle_t msgQueue; + + static constexpr uint8_t queueSize = 10; + static constexpr uint8_t itemSize = 1; + }; } } |
