/** * @file * @brief Constants and macros for use with CMSIS RTOS2. */ #ifndef STA_RTOS_DEFS_HPP #define STA_RTOS_DEFS_HPP /** * @defgroup STA_RTOS RTOS * @brief STA RTOS library. */ /** * @defgroup STA_RTOS_API API * @ingroup STA_RTOS * @brief Public interface. */ /** * @defgroup STA_RTOS_BuildConfig Build config * @ingroup STA_RTOS * @brief Build configuration options. */ /** * @defgroup STA_RTOS_IPC Interprocess communication * @ingroup STA_RTOS_API * @brief Classes for interprocess communication. */ /** * @defgroup STA_RTOS_SYNC Process synchronization * @ingroup STA_RTOS_API * @brief Classes for process synchronization. */ /** * @ingroup STA_RTOS_API * @{ */ // See limits defined in cmsis_os2.c /** * @brief Number of usable bits in task notification flags. */ #define STA_RTOS_MAX_BITS_THREAD_NOTIFY 31U /** * @brief Number of usable bits in event group flags. */ #define STA_RTOS_MAX_BITS_EVENT_GROUPS 24U /** * @brief Mask for valid task notification flag bits. */ #define STA_RTOS_THREAD_FLAGS_VALID_BITS ( ( 1UL << STA_RTOS_MAX_BITS_THREAD_NOTIFY ) - 1U ) /** * @brief Mask for valid event group flag bits. */ #define STA_RTOS_EVENT_FLAGS_VALID_BITS ( ( 1UL << STA_RTOS_MAX_BITS_EVENT_GROUPS ) - 1U ) /** @} */ #endif // STA_RTOS_DEFS_HPP