From 13e3463276114dff838fc8fe281754eecfbe9538 Mon Sep 17 00:00:00 2001 From: Florian Date: Thu, 20 May 2021 20:43:54 +0200 Subject: Timer App (#355) * built timer app * Style improvements * making sure buttons stay hidden when the app is reopened and reappear after the timer runs out * more sensible calculations of time deltas. eliminated that mysterious scaling factor * changing the timer icon --- src/components/timer/TimerController.h | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/components/timer/TimerController.h (limited to 'src/components/timer/TimerController.h') diff --git a/src/components/timer/TimerController.h b/src/components/timer/TimerController.h new file mode 100644 index 00000000..5a0b293e --- /dev/null +++ b/src/components/timer/TimerController.h @@ -0,0 +1,36 @@ +#pragma once + +#include +#include "app_timer.h" +#include "portmacro_cmsis.h" + +namespace Pinetime { + namespace System { + class SystemTask; + } + namespace Controllers { + + class TimerController { + public: + TimerController(Pinetime::System::SystemTask& systemTask); + + void Init(); + + void StartTimer(uint32_t duration); + + void StopTimer(); + + uint32_t GetTimeRemaining(); + + bool IsRunning(); + + private: + System::SystemTask& systemTask; + + static void timerEnd(void* p_context); + + TickType_t endTicks; + bool timerRunning = false; + }; + } +} \ No newline at end of file -- cgit v1.2.3-70-g09d2