/*
 * watchdog_test.h
 *
 *  Created on: 4 Aug 2020
 *      Author: dsmit
 */

#ifndef WATCHDOG_TEST_H_
#define WATCHDOG_TEST_H_

#include "c4_error_codes.h"

/** @brief Test function for watchdog 1.
 *
 * Exercises detecting power-on reset (POR), software reset (SWR) and timeout
 * reset (TOUT) through the WDOG1 registers. The test also shows a watchdog
 * being constantly fed and also raising an interrupt prior to expiry.
 */
exit_code_t watchdog_test(void);

/** @brief Test Callisto 4 watchdog interfaces
 *
 * @param[in] wdog Watch dog to exercise.
 *
 * @return Test status
 * @retval ERR_OK All tests passed.
 */
exit_code_t watchdog_if_test(c4_wdog_t wdog);

#endif /* WATCHDOG_TEST_H_ */
