diff --git a/stm-firmware/safety/watchdog.c b/stm-firmware/safety/watchdog.c index d4f318b..44d4ee6 100644 --- a/stm-firmware/safety/watchdog.c +++ b/stm-firmware/safety/watchdog.c @@ -1,22 +1,22 @@ /* Reflow Oven Controller -* -* Copyright (C) 2020 Mario Hüttel -* -* This file is part of the Reflow Oven Controller Project. -* -* The reflow oven controller is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2 as -* published by the Free Software Foundation. -* -* The Reflow Oven Control Firmware is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with the reflow oven controller project. -* If not, see . -*/ + * + * Copyright (C) 2020 Mario Hüttel + * + * This file is part of the Reflow Oven Controller Project. + * + * The reflow oven controller is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * The Reflow Oven Control Firmware is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the reflow oven controller project. + * If not, see . + */ /** * @addtogroup watchdog @@ -50,7 +50,8 @@ int watchdog_setup(uint8_t prescaler) RCC->CSR |= RCC_CSR_LSION; __DSB(); /** - Wait for the oscillator to be ready */ - while (!(RCC->CSR & RCC_CSR_LSIRDY)); + while (!(RCC->CSR & RCC_CSR_LSIRDY)) + ; if (prescaler == 4U) prescaler_reg_val = 0UL; @@ -68,23 +69,24 @@ int watchdog_setup(uint8_t prescaler) prescaler_reg_val = 6UL; /** - (De)activate the watchdog during debug access according to @ref WATCHDOG_HALT_DEBUG */ - if (WATCHDOG_HALT_DEBUG) { + if (WATCHDOG_HALT_DEBUG) DBGMCU->APB1FZ |= DBGMCU_APB1_FZ_DBG_IWDG_STOP; - } else { + else DBGMCU->APB1FZ &= ~DBGMCU_APB1_FZ_DBG_IWDG_STOP; - } /** - Unlock registers */ IWDG->KR = STM32_WATCHDOG_REGISTER_ACCESS_KEY; /** - Wait until prescaler can be written */ - while (IWDG->SR & IWDG_SR_PVU); + while (IWDG->SR & IWDG_SR_PVU) + ; /** - Write prescaler value */ IWDG->PR = prescaler_reg_val; /* - Wait until reload value can be written */ - while (IWDG->SR & IWDG_SR_RVU); + while (IWDG->SR & IWDG_SR_RVU) + ; /** - Set reload value fixed to 0xFFF */ IWDG->RLR = 0xFFFU;