ref: 0ce98c7ac7ba66acaf504be9bb042796e12f2733
src/components/timer/TimerController.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#pragma once #include <cstdint> #include "app_timer.h" #include "portmacro_cmsis.h" namespace Pinetime { namespace System { class SystemTask; } namespace Controllers { class TimerController { public: TimerController() = default; void Init(); void StartTimer(uint32_t duration); void StopTimer(); uint32_t GetTimeRemaining(); bool IsRunning(); void OnTimerEnd(); void Register(System::SystemTask* systemTask); private: System::SystemTask* systemTask = nullptr; TickType_t endTicks; bool timerRunning = false; }; } } |