/************************************************************************** * * Copyright (c) 2024-2025 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file WatchdogMgmt.h * * @author (last) Michael Garthwaite * @date (last) 11-Sep-2025 * * @author (original) Sean Nash * @date (original) 01-Aug-2024 * ***************************************************************************/ #ifndef __WATCHDOG_MGMT_H__ #define __WATCHDOG_MGMT_H__ #ifdef _TD_ #include "TDCommon.h" #endif #ifdef _DD_ #include "DDCommon.h" #endif #include "MessageSupport.h" /** * @defgroup WatchdogMgmt WatchdogMgmt * @brief The watchdog management unit provides functions for checking in * with and petting the watchdog. * * @addtogroup WatchdogMgmt * @{ */ // ********** public definitions ********** /// Enumeration of tasks that must check in with the watchdog manager. typedef enum Tasks { TASK_BG = 0, ///< Background task TASK_GENERAL, ///< General task TASK_PRIORITY, ///< Priority task TASK_TIMER, ///< Timer task NUM_OF_TASKS ///< Number of tasks } TASK_T; // ********** public function prototypes ********** void initWatchdogMgmt( void ); void execWatchdogMgmt( void ); void checkInWithWatchdogMgmt( TASK_T task ); SELF_TEST_STATUS_T execWatchdogTest( void ); void resetWatchdogPOSTState( void ); BOOL testWatchdogTaskCheckInOverride( MESSAGE_T *message ); /**@}*/ #endif