Unit tests for Watchdog timer module.
Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
Macros | |
#define | FAIL 0 |
#define | SUCCESS 1 |
Functions | |
int | main (void) |
static void | run_interrupt_reset_test (const struct test_case *test) |
Run test to check interrupt is getting triggered when WDT timout ouccured and system reset will not happen since refresh wdt is done. More... | |
static void | run_reset_cause_test (const struct test_case *test) |
Run test to check last reset cause. More... | |
static void | run_wdt_interrupt_test (const struct test_case *test) |
Run test to check interrupt is getting triggered when WDT timout ouccured. More... | |
static void | wdt_reset_mode_enable (void) |
Configure WDT in reset mode. More... | |
static void | wdt_timer_callback (void) |
Interrupt callback for wdt timer overflow interrupt Change the state when the interrupt is triggered. More... | |
Variables | |
static volatile bool | wdt_int |
static volatile bool | wdt_rc |
#define FAIL 0 |
Referenced by run_interrupt_reset_test(), and run_wdt_interrupt_test().
#define SUCCESS 1 |
Referenced by run_interrupt_reset_test(), run_wdt_interrupt_test(), and wdt_timer_callback().
int main | ( | void | ) |
References usart_rs232_options::baudrate, board_init(), CHIP_RESET_CAUSE_BOD_CPU, CHIP_RESET_CAUSE_EXTRST, CHIP_RESET_CAUSE_POR, CHIP_RESET_CAUSE_WDT, CONF_TEST_BAUDRATE, CONF_TEST_CHARLENGTH, CONF_TEST_PARITY, CONF_TEST_STOPBITS, CONF_TEST_USART, DEFINE_TEST_ARRAY, DEFINE_TEST_CASE, DEFINE_TEST_SUITE, reset_cause_clear_causes(), reset_cause_get_causes(), run_interrupt_reset_test(), run_reset_cause_test(), run_wdt_interrupt_test(), stdio_serial_init(), sysclk_init(), test_suite_run(), wdt_disable(), wdt_rc, and wdt_reset_mode_enable().
|
static |
Run test to check interrupt is getting triggered when WDT timout ouccured and system reset will not happen since refresh wdt is done.
test | Current test case. |
References cpu_irq_disable, FAIL, INTERRUPT_SYSTEM_RESET_MODE, SUCCESS, test_assert_true, wdt_disable(), wdt_enable(), wdt_get_timeout_period(), wdt_int, wdt_reset, wdt_reset_interrupt_mode_enabled(), wdt_set_interrupt_callback(), wdt_set_timeout_period(), wdt_timeout_interrupt_flag_clear(), wdt_timeout_interrupt_flag_is_set(), WDT_TIMEOUT_PERIOD_32KCLK, and wdt_timer_callback().
Referenced by main().
|
static |
Run test to check last reset cause.
This test will pass if last reset was caused by a watchdog timeout.
test | Current test case. |
References test_assert_true, and wdt_rc.
Referenced by main().
|
static |
Run test to check interrupt is getting triggered when WDT timout ouccured.
This test will pass if ISR is serviced which is caused by a watchdog timeout.
test | Current test case. |
References cpu_irq_enable, delay_ms, FAIL, INTERRUPT_MODE, SUCCESS, test_assert_true, wdt_disable(), wdt_enable(), wdt_get_timeout_period(), wdt_int, wdt_interrupt_mode_enabled(), wdt_set_interrupt_callback(), wdt_set_timeout_period(), WDT_TIMEOUT_PERIOD_16KCLK, and wdt_timer_callback().
Referenced by main().
|
static |
Configure WDT in reset mode.
none. |
References SYSTEM_RESET_MODE, wdt_disable(), wdt_enable(), wdt_rc, wdt_set_timeout_period(), and WDT_TIMEOUT_PERIOD_32KCLK.
Referenced by main().
|
static |
Interrupt callback for wdt timer overflow interrupt Change the state when the interrupt is triggered.
none |
References SUCCESS, and wdt_int.
Referenced by run_interrupt_reset_test(), and run_wdt_interrupt_test().
|
static |
Referenced by run_interrupt_reset_test(), run_wdt_interrupt_test(), and wdt_timer_callback().
|
static |
Referenced by main(), run_reset_cause_test(), and wdt_reset_mode_enable().