2022-05-24 14:02:18 +02:00

71 lines
1.4 KiB
C++

/**
* @file
* @brief Implementation of startup system task.
*/
#ifndef STA_RTOS_SYSTEM_STARTUP_HPP
#define STA_RTOS_SYSTEM_STARTUP_HPP
#include <sta/rtos/system/names.hpp>
/**
* @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 <sta/config.hpp>
#ifdef STA_RTOS_STARTUP_ENABLE
namespace sta
{
/**
* @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 sta
#endif // STA_RTOS_STARTUP_ENABLE
#endif // STA_RTOS_SYSTEM_STARTUP_HPP