Enable Watchdog (500ms)
diff --git a/firmware/apps/cardem/main.c b/firmware/apps/cardem/main.c
index 8b6be49..7660294 100644
--- a/firmware/apps/cardem/main.c
+++ b/firmware/apps/cardem/main.c
@@ -125,8 +125,9 @@
LED_Configure(LED_NUM_GREEN);
LED_Set(LED_NUM_RED);
- /* Disable watchdog */
- WDT_Disable(WDT);
+ /* Enable watchdog for 500ms, with no window */
+ WDT_Enable(WDT, WDT_MR_WDRSTEN | WDT_MR_WDDBGHLT | WDT_MR_WDIDLEHLT |
+ (WDT_GetPeriod(500) << 16) | WDT_GetPeriod(500));
req_ctx_init();
@@ -149,6 +150,7 @@
SIMtrace_USB_Initialize();
while (USBD_GetState() < USBD_STATE_CONFIGURED) {
+ WDT_Restart(WDT);
check_exec_dbg_cmd();
#if 0
if (i >= MAX_USB_ITER * 3) {
@@ -174,6 +176,7 @@
TRACE_INFO("entering main loop...\n\r");
while (1) {
+ WDT_Restart(WDT);
#if TRACE_LEVEL >= TRACE_LEVEL_DEBUG
const char rotor[] = { '-', '\\', '|', '/' };
putchar('\b');