/** * @file * @brief Implementation of startup system task. */ #ifndef STA_RTOS_SYSTEM_STARTUP_HPP #define STA_RTOS_SYSTEM_STARTUP_HPP #include /** * @defgroup STA_RTOS_Startup Startup task * @ingroup STA_RTOS_API * @brief Startup system task. * * Check @ref STA_RTOS_BuildConfig for configuration options. */ #ifdef DOXYGEN /** * @brief Enable module. * * @ingroup STA_RTOS_BuildConfig */ # define STA_RTOS_STARTUP_ENABLE #endif // DOXYGEN /** * @def STA_RTOS_STARTUP_TASK_NAME * @brief Set name of startup task. * * @ingroup STA_RTOS_BuildConfig */ #ifndef STA_RTOS_STARTUP_TASK_NAME # define STA_RTOS_STARTUP_TASK_NAME startup #endif // !STA_RTOS_STARTUP_TASK_NAME /** * @def STA_RTOS_STARTUP_ENTRY_FUNCTION * @brief Set name of startup task entry function. * * @ingroup STA_RTOS_BuildConfig */ #ifndef STA_RTOS_STARTUP_ENTRY_FUNCTION # define STA_RTOS_STARTUP_ENTRY_FUNCTION STA_RTOS_MAKE_ENTRY_NAME(STA_RTOS_STARTUP_TASK_NAME) #endif // !STA_RTOS_STARTUP_ENTRY_FUNCTION #include #ifdef STA_RTOS_STARTUP_ENABLE namespace sta { namespace rtos { /** * @brief Extra initialization run at start of startup task. * * May be overridden by application if required. * * @ingroup STA_RTOS_Startup */ void startupExtras(void * argument); } // namespace rtos } // namespace sta #endif // STA_RTOS_STARTUP_ENABLE #endif // STA_RTOS_SYSTEM_STARTUP_HPP