/** * @file * @brief RTOS event implementation. */ #ifndef STA_RTOS_EVENT_HPP #define STA_RTOS_EVENT_HPP #include #include namespace sta { /** * @brief Implementation of Event using CMSIS RTOS2. * * @ingroup STA_RTOS_API */ class RtosEvent : public Event { public: RtosEvent(); ~RtosEvent(); void set(uint32_t flags) override; void clear(uint32_t flags) override; uint32_t get() override; uint32_t wait(uint32_t flags, uint32_t timeout = osWaitForever) override; private: osEventFlagsId_t event_id; /**< CMSIS RTOS2 Event Flag */ }; } // namespace sta #endif // STA_RTOS_EVENT_HPP