#pragma once #include #include #include namespace Pinetime { namespace System { class SystemTask; } namespace Controllers { class MotorController { public: MotorController() = default; void RunForDuration(uint8_t motorDuration); void StartRinging(); void StopRinging(); protected: friend class Pinetime::System::SystemTask; void Init(System::SystemTask* systemTask); private: System::SystemTask* systemTask = nullptr; static void Ring(TimerHandle_t xTimer); static void StopMotor(TimerHandle_t xTimer); TimerHandle_t shortVibTimer; TimerHandle_t longVibTimer; }; } }