/** * @brief CMSIS RTOS2 mutex implementation. */ #ifndef STA_RTOS2_MUTEX_HPP #define STA_RTOS2_MUTEX_HPP #include #include namespace sta { /** * @brief Implementation of `Mutex` interface using CMSIS RTOS2. */ class Rtos2Mutex : public Mutex { public: /** * @param handle CMSIS RTOS2 mutex */ Rtos2Mutex(osMutexId_t * handle); void acquire() override; void release() override; private: osMutexId_t * handle_; /**< CMSIS RTOS2 mutex */ }; } // namespace sta #endif // STA_OS2_MUTEX_HPP