rtos2-utils/include/sta/rtos/easy_config.hpp
2023-01-21 23:38:53 +01:00

52 lines
1.3 KiB
C++

/**
* @file
* @brief Helper for easy system task setup in `<sta/config.hpp>`.
*/
#ifndef STA_RTOS_EASY_CONFIG_HPP
#define STA_RTOS_EASY_CONFIG_HPP
/**
* @defgroup STA_RTOS_EasyConfig Easy Config
* @ingroup STA_RTOS_BuildConfig
* @brief Helpers for easy RTOS module setup.
*
* Use this header only inside the <sta/config.hpp> header of your application.
*/
#ifdef DOXYGEN
/**
* @brief Don't warn about use of <rtos/easy_config.hpp> outside of <sta/config.hpp>.
*
* @ingroup STA_RTOS_EasyConfig
*/
# define STA_RTOS_EASY_CONFIG_NO_WARNING
#endif // DOXYGEN
#if !defined(STA_CONFIG_HPP) && !defined(STA_RTOS_EASY_CONFIG_NO_WARNING)
#warning "Intended for use in <sta/config.hpp>"
#endif // !STA_CONFIG_HPP && !STA_RTOS_EASY_CONFIG_NO_WARNING
#ifdef DOXYGEN
/**
* @brief Enable all system tasks and required features.
*
* @ingroup STA_RTOS_EasyConfig
*/
# define STA_RTOS_EASY_CONFIG_SYSTEM_TASKS_ENABLE
#endif // DOXYGEN
#ifdef STA_RTOS_EASY_CONFIG_SYSTEM_TASKS_ENABLE
// Enable system events used by system tasks
# define STA_RTOS_SYSTEM_EVENT_ENABLE
// Enable system tasks
# define STA_RTOS_CAN_BUS_ENABLE
# define STA_RTOS_STARTUP_ENABLE
# define STA_RTOS_WATCHDOG_ENABLE
#endif // STA_RTOS_EASY_CONFIG_SYSTEM_TASKS_ENABLE
#endif // STA_RTOS_EASY_CONFIG_HPP