/** * @brief Implementation of watchdog system task. * * Configuration: * STA_RTOS2_WATCHDOG_ENABLE: Enable module * STA_RTOS2_WATCHDOG_TIMER_PERIOD: Set period in ticks of heartbeat timer (default: 1000) * STA_RTOS2_WATCHDOG_TIMER_HANDLE: Override variable name of heartbeat timer handle (default: heartbeatHandle) * STA_RTOS2_WATCHDOG_TIMER_CALLBACK: Override name of heartbeat timer callback function (default: heartbeatCallback) * STA_RTOS2_WATCHDOG_HANDLE: Override variable name of watchdog task handle (default: watchdogHandle) * STA_RTOS2_WATCHDOG_ENTRY_FUNCTION: Override name of watchdog task entry function (default: watchdogTask) */ #ifndef STA_RTOS2_WATCHDOG_HPP #define STA_RTOS2_WATCHDOG_HPP #include #ifdef STA_RTOS2_WATCHDOG_ENABLE #include // Watchdog task flags // #define STA_WATCHDOG_FLAG_HEARTBEAT 0x00001000U namespace sta { /** * @brief Start heartbeat timer for watchdog. */ void startWatchdogTimer(); /** * @brief Send notification to watchdog task. */ void notifyWatchdog(uint32_t flags); } // namespace sta #endif // STA_RTOS2_WATCHDOG_ENABLE #endif // STA_RTOS2_WATCHDOG_HPP