// // Watchdog: configure and initialize the watchdog peripheral // #include "stm32f0xx_hal.h" #include "config.h" #include "system/watchdog.h" #ifdef WATCHDOG_ENABLE static IWDG_HandleTypeDef hiwdg; #endif void watchdog_init(void) { #ifdef WATCHDOG_ENABLE hiwdg.Instance = IWDG; hiwdg.Init.Prescaler = IWDG_PRESCALER_4; hiwdg.Init.Window = 4095; hiwdg.Init.Reload = 4095; HAL_IWDG_Init(&hiwdg); watchdog_feed(); HAL_IWDG_Start(&hiwdg); #endif } void watchdog_feed(void) { #ifdef WATCHDOG_ENABLE HAL_IWDG_Refresh(&hiwdg); #endif }