/** * @brief Helper for easy system task setup in . * * Define STA_OS2_SYSTEM_TASKS_ENABLE before including this header * to enable all system tasks and required features. */ #ifndef STA_OS2_EASY_CONFIG_HPP #define STA_OS2_EASY_CONFIG_HPP #ifndef STA_CONFIG_HPP #warning "Intended for use in " #endif // STA_CONFIG_HPP #ifdef STA_OS2_SYSTEM_TASKS_ENABLE // Enable system events used by system tasks # define STA_OS2_SYSTEM_EVENT_ENABLE // Enable system tasks # define STA_OS2_WATCHDOG_ENABLE # define STA_OS2_STARTUP_ENABLE #endif // STA_OS2_SYSTEM_TASKS_ENABLE #define STA_OS2_MAKE_NAME(prefix, suffix) prefix ## suffix #define STA_OS2_MAKE_HANDLE_NAME(x) STA_OS2_MAKE_NAME(x, Handle) #define STA_OS2_MAKE_CALLBACK_NAME(x) STA_OS2_MAKE_NAME(x, Callback) #define STA_OS2_MAKE_TASK_NAME(x) STA_OS2_MAKE_NAME(x, Task) // Use common base name for watchdog timer handle and callback #ifdef STA_OS2_WATCHDOG_TIMER_NAME # define STA_OS2_WATCHDOG_TIMER_HANDLE STA_OS2_MAKE_HANDLE_NAME(STA_OS2_WATCHDOG_TIMER_NAME) # define STA_OS2_WATCHDOG_TIMER_CALLBACK STA_OS2_MAKE_CALLBACK_NAME(STA_OS2_WATCHDOG_TIMER_NAME) #endif // STA_OS2_WATCHDOG_TIMER_NAME // Use common base name for watchdog task handle and entry function #ifdef STA_OS2_WATCHDOG_NAME # define STA_OS2_WATCHDOG_HANDLE STA_OS2_MAKE_HANDLE_NAME(STA_OS2_WATCHDOG_NAME) # define STA_OS2_WATCHDOG_ENTRY_FUNCTION STA_OS2_MAKE_TASK_NAME(STA_OS2_WATCHDOG_NAME) #endif // STA_OS2_WATCHDOG_NAME #endif // STA_OS2_EASY_CONFIG_HPP