/** * @file * @brief RTOS timer implementation. */ #ifndef STA_RTOS_TIMER_HPP #define STA_RTOS_TIMER_HPP #include #include namespace sta { /** * @brief Implementation of Timer using CMSIS RTOS2. * * @ingroup STA_RTOS_API */ class RtosTimer : public Timer { public: RtosTimer(); RtosTimer(void (*callback)(void *arg), void *arg); ~RtosTimer(); void start(uint32_t millis) override; void stop() override; private: osTimerId_t timer_id_; /**< CMSIS RTOS2 Timer */ osTimerAttr_t timer_attr_; /**< CMSIS RTOS2 Timer attributes */ }; } // namespace sta #endif // STA_RTOS_TIMER_HPP