Index: /trunk/fw_g473rct/.mxproject
===================================================================
--- /trunk/fw_g473rct/.mxproject	(revision 37)
+++ /trunk/fw_g473rct/.mxproject	(revision 38)
@@ -1,7 +1,7 @@
 [PreviousLibFiles]
-LibFiles=Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_adc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_adc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_adc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_def.h;Drivers\STM32G4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rcc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rcc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_bus.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_rcc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_system.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_utils.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_crs.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash_ramfunc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_gpio.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_gpio_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_gpio.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_exti.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_exti.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_dma.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_dma_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_dma.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_dmamux.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pwr.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pwr_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_pwr.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_cortex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_cortex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_crc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_crc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_crc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_fdcan.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_i2c.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_i2c.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_i2c_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rtc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_rtc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rtc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_spi.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_spi.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_spi_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_uart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_usart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_lpuart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_uart_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pcd.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pcd_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_usb.h;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ramfunc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_gpio.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_exti.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_cortex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_fdcan.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_usb.c;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_adc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_adc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_adc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_def.h;Drivers\STM32G4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rcc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rcc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_bus.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_rcc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_system.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_utils.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_crs.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash_ramfunc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_gpio.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_gpio_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_gpio.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_exti.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_exti.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_dma.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_dma_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_dma.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_dmamux.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pwr.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pwr_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_pwr.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_cortex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_cortex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_crc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_crc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_crc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_fdcan.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_i2c.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_i2c.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_i2c_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rtc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_rtc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rtc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_spi.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_spi.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_spi_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_uart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_usart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_lpuart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_uart_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pcd.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pcd_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_usb.h;Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g473xx.h;Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g4xx.h;Drivers\CMSIS\Device\ST\STM32G4xx\Include\system_stm32g4xx.h;Drivers\CMSIS\Device\ST\STM32G4xx\Include\system_stm32g4xx.h;Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\system_stm32g4xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_armclang_ltm.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv81mml.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm35p.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
+LibFiles=Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_adc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_adc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_adc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_def.h;Drivers\STM32G4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rcc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rcc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_bus.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_rcc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_system.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_utils.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_crs.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash_ramfunc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_gpio.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_gpio_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_gpio.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_exti.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_exti.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_dma.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_dma_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_dma.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_dmamux.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pwr.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pwr_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_pwr.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_cortex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_cortex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_crc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_crc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_crc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_fdcan.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_i2c.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_i2c.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_i2c_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_iwdg.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_iwdg.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rtc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_rtc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rtc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_spi.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_spi.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_spi_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_uart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_usart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_lpuart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_uart_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pcd.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pcd_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_usb.h;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ramfunc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_gpio.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_exti.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_cortex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_fdcan.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_iwdg.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_usb.c;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_adc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_adc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_adc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_def.h;Drivers\STM32G4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rcc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rcc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_bus.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_rcc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_system.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_utils.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_crs.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_flash_ramfunc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_gpio.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_gpio_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_gpio.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_exti.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_exti.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_dma.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_dma_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_dma.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_dmamux.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pwr.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pwr_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_pwr.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_cortex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_cortex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_crc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_crc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_crc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_fdcan.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_i2c.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_i2c.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_i2c_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_iwdg.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_iwdg.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rtc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_rtc.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_rtc_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_spi.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_spi.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_spi_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_uart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_usart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_lpuart.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_uart_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pcd.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_hal_pcd_ex.h;Drivers\STM32G4xx_HAL_Driver\Inc\stm32g4xx_ll_usb.h;Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g473xx.h;Drivers\CMSIS\Device\ST\STM32G4xx\Include\stm32g4xx.h;Drivers\CMSIS\Device\ST\STM32G4xx\Include\system_stm32g4xx.h;Drivers\CMSIS\Device\ST\STM32G4xx\Include\system_stm32g4xx.h;Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\system_stm32g4xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_armclang_ltm.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv81mml.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm35p.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
 
 [PreviousUsedCMakes]
-SourceFiles=Core\Src\main.c;Core\Src\gpio.c;Core\Src\adc.c;Core\Src\crc.c;Core\Src\dma.c;Core\Src\fdcan.c;Core\Src\i2c.c;Core\Src\rtc.c;Core\Src\spi.c;Core\Src\usart.c;Core\Src\usb.c;Core\Src\stm32g4xx_it.c;Core\Src\stm32g4xx_hal_msp.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ramfunc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_gpio.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_exti.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_cortex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_fdcan.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_usb.c;Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\system_stm32g4xx.c;Core\Src\system_stm32g4xx.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ramfunc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_gpio.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_exti.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_cortex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_fdcan.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_usb.c;Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\system_stm32g4xx.c;Core\Src\system_stm32g4xx.c;;;
+SourceFiles=Core\Src\main.c;Core\Src\gpio.c;Core\Src\adc.c;Core\Src\crc.c;Core\Src\dma.c;Core\Src\fdcan.c;Core\Src\i2c.c;Core\Src\iwdg.c;Core\Src\rtc.c;Core\Src\spi.c;Core\Src\usart.c;Core\Src\usb.c;Core\Src\stm32g4xx_it.c;Core\Src\stm32g4xx_hal_msp.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ramfunc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_gpio.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_exti.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_cortex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_fdcan.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_iwdg.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_usb.c;Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\system_stm32g4xx.c;Core\Src\system_stm32g4xx.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_adc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_adc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rcc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_flash_ramfunc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_gpio.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_exti.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_dma_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pwr_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_cortex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_crc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_fdcan.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_i2c_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_iwdg.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_rtc_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_spi_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_uart_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_hal_pcd_ex.c;Drivers\STM32G4xx_HAL_Driver\Src\stm32g4xx_ll_usb.c;Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\system_stm32g4xx.c;Core\Src\system_stm32g4xx.c;;;
 HeaderPath=Drivers\STM32G4xx_HAL_Driver\Inc;Drivers\STM32G4xx_HAL_Driver\Inc\Legacy;Drivers\CMSIS\Device\ST\STM32G4xx\Include;Drivers\CMSIS\Include;Core\Inc;
 CDefines=USE_HAL_DRIVER;STM32G473xx;USE_HAL_DRIVER;USE_HAL_DRIVER;
@@ -9,5 +9,5 @@
 [PreviousGenFiles]
 AdvancedFolderStructure=true
-HeaderFileListSize=13
+HeaderFileListSize=14
 HeaderFiles#0=..\Core\Inc\gpio.h
 HeaderFiles#1=..\Core\Inc\adc.h
@@ -16,15 +16,16 @@
 HeaderFiles#4=..\Core\Inc\fdcan.h
 HeaderFiles#5=..\Core\Inc\i2c.h
-HeaderFiles#6=..\Core\Inc\rtc.h
-HeaderFiles#7=..\Core\Inc\spi.h
-HeaderFiles#8=..\Core\Inc\usart.h
-HeaderFiles#9=..\Core\Inc\usb.h
-HeaderFiles#10=..\Core\Inc\stm32g4xx_it.h
-HeaderFiles#11=..\Core\Inc\stm32g4xx_hal_conf.h
-HeaderFiles#12=..\Core\Inc\main.h
+HeaderFiles#6=..\Core\Inc\iwdg.h
+HeaderFiles#7=..\Core\Inc\rtc.h
+HeaderFiles#8=..\Core\Inc\spi.h
+HeaderFiles#9=..\Core\Inc\usart.h
+HeaderFiles#10=..\Core\Inc\usb.h
+HeaderFiles#11=..\Core\Inc\stm32g4xx_it.h
+HeaderFiles#12=..\Core\Inc\stm32g4xx_hal_conf.h
+HeaderFiles#13=..\Core\Inc\main.h
 HeaderFolderListSize=1
 HeaderPath#0=..\Core\Inc
 HeaderFiles=;
-SourceFileListSize=13
+SourceFileListSize=14
 SourceFiles#0=..\Core\Src\gpio.c
 SourceFiles#1=..\Core\Src\adc.c
@@ -33,11 +34,12 @@
 SourceFiles#4=..\Core\Src\fdcan.c
 SourceFiles#5=..\Core\Src\i2c.c
-SourceFiles#6=..\Core\Src\rtc.c
-SourceFiles#7=..\Core\Src\spi.c
-SourceFiles#8=..\Core\Src\usart.c
-SourceFiles#9=..\Core\Src\usb.c
-SourceFiles#10=..\Core\Src\stm32g4xx_it.c
-SourceFiles#11=..\Core\Src\stm32g4xx_hal_msp.c
-SourceFiles#12=..\Core\Src\main.c
+SourceFiles#6=..\Core\Src\iwdg.c
+SourceFiles#7=..\Core\Src\rtc.c
+SourceFiles#8=..\Core\Src\spi.c
+SourceFiles#9=..\Core\Src\usart.c
+SourceFiles#10=..\Core\Src\usb.c
+SourceFiles#11=..\Core\Src\stm32g4xx_it.c
+SourceFiles#12=..\Core\Src\stm32g4xx_hal_msp.c
+SourceFiles#13=..\Core\Src\main.c
 SourceFolderListSize=1
 SourcePath#0=..\Core\Src
Index: /trunk/fw_g473rct/Core/Inc/iwdg.h
===================================================================
--- /trunk/fw_g473rct/Core/Inc/iwdg.h	(revision 38)
+++ /trunk/fw_g473rct/Core/Inc/iwdg.h	(revision 38)
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+  ******************************************************************************
+  * @file    iwdg.h
+  * @brief   This file contains all the function prototypes for
+  *          the iwdg.c file
+  ******************************************************************************
+  * @attention
+  *
+  * Copyright (c) 2025 STMicroelectronics.
+  * All rights reserved.
+  *
+  * This software is licensed under terms that can be found in the LICENSE file
+  * in the root directory of this software component.
+  * If no LICENSE file comes with this software, it is provided AS-IS.
+  *
+  ******************************************************************************
+  */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __IWDG_H__
+#define __IWDG_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+extern IWDG_HandleTypeDef hiwdg;
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_IWDG_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __IWDG_H__ */
+
Index: /trunk/fw_g473rct/Core/Inc/main.h
===================================================================
--- /trunk/fw_g473rct/Core/Inc/main.h	(revision 37)
+++ /trunk/fw_g473rct/Core/Inc/main.h	(revision 38)
@@ -95,6 +95,7 @@
 #define ADC_DATA_READY_GPIO_Port GPIOD
 #define ADC_DATA_READY_EXTI_IRQn EXTI2_IRQn
-#define FAULT_Pin GPIO_PIN_7
-#define FAULT_GPIO_Port GPIOB
+#define FAULT_INT_Pin GPIO_PIN_7
+#define FAULT_INT_GPIO_Port GPIOB
+#define FAULT_INT_EXTI_IRQn EXTI9_5_IRQn
 #define COM_POWERPRO_RES_Pin GPIO_PIN_9
 #define COM_POWERPRO_RES_GPIO_Port GPIOB
Index: /trunk/fw_g473rct/Core/Inc/stm32g4xx_hal_conf.h
===================================================================
--- /trunk/fw_g473rct/Core/Inc/stm32g4xx_hal_conf.h	(revision 37)
+++ /trunk/fw_g473rct/Core/Inc/stm32g4xx_hal_conf.h	(revision 38)
@@ -47,5 +47,5 @@
 /*#define HAL_HRTIM_MODULE_ENABLED   */
 /*#define HAL_IRDA_MODULE_ENABLED   */
-/*#define HAL_IWDG_MODULE_ENABLED   */
+#define HAL_IWDG_MODULE_ENABLED
 #define HAL_I2C_MODULE_ENABLED
 /*#define HAL_I2S_MODULE_ENABLED   */
Index: /trunk/fw_g473rct/Core/Inc/stm32g4xx_it.h
===================================================================
--- /trunk/fw_g473rct/Core/Inc/stm32g4xx_it.h	(revision 37)
+++ /trunk/fw_g473rct/Core/Inc/stm32g4xx_it.h	(revision 38)
@@ -64,4 +64,5 @@
 void DMA1_Channel6_IRQHandler(void);
 void DMA1_Channel7_IRQHandler(void);
+void EXTI9_5_IRQHandler(void);
 void USART1_IRQHandler(void);
 void USART2_IRQHandler(void);
Index: /trunk/fw_g473rct/Core/Src/gpio.c
===================================================================
--- /trunk/fw_g473rct/Core/Src/gpio.c	(revision 37)
+++ /trunk/fw_g473rct/Core/Src/gpio.c	(revision 38)
@@ -91,12 +91,12 @@
   GPIO_InitStruct.Pin = ADC_DATA_READY_Pin;
   GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
-  GPIO_InitStruct.Pull = GPIO_NOPULL;
+  GPIO_InitStruct.Pull = GPIO_PULLUP;
   HAL_GPIO_Init(ADC_DATA_READY_GPIO_Port, &GPIO_InitStruct);
 
-  /*Configure GPIO pin : FAULT_Pin */
-  GPIO_InitStruct.Pin = FAULT_Pin;
-  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+  /*Configure GPIO pin : FAULT_INT_Pin */
+  GPIO_InitStruct.Pin = FAULT_INT_Pin;
+  GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
   GPIO_InitStruct.Pull = GPIO_PULLUP;
-  HAL_GPIO_Init(FAULT_GPIO_Port, &GPIO_InitStruct);
+  HAL_GPIO_Init(FAULT_INT_GPIO_Port, &GPIO_InitStruct);
 
   /*Configure GPIO pin : COM_POWERPRO_RES_Pin */
@@ -110,15 +110,10 @@
   HAL_NVIC_EnableIRQ(EXTI2_IRQn);
 
+  HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
+  HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
+
 }
 
 /* USER CODE BEGIN 2 */
-void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
-{
-  if (GPIO_Pin == ADC_DATA_READY_Pin)
-  {
-    newCurrentValue=1;
 
-     
-  }
-}
 /* USER CODE END 2 */
Index: /trunk/fw_g473rct/Core/Src/iwdg.c
===================================================================
--- /trunk/fw_g473rct/Core/Src/iwdg.c	(revision 38)
+++ /trunk/fw_g473rct/Core/Src/iwdg.c	(revision 38)
@@ -0,0 +1,56 @@
+/* USER CODE BEGIN Header */
+/**
+  ******************************************************************************
+  * @file    iwdg.c
+  * @brief   This file provides code for the configuration
+  *          of the IWDG instances.
+  ******************************************************************************
+  * @attention
+  *
+  * Copyright (c) 2025 STMicroelectronics.
+  * All rights reserved.
+  *
+  * This software is licensed under terms that can be found in the LICENSE file
+  * in the root directory of this software component.
+  * If no LICENSE file comes with this software, it is provided AS-IS.
+  *
+  ******************************************************************************
+  */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "iwdg.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+IWDG_HandleTypeDef hiwdg;
+
+/* IWDG init function */
+void MX_IWDG_Init(void)
+{
+
+  /* USER CODE BEGIN IWDG_Init 0 */
+
+  /* USER CODE END IWDG_Init 0 */
+
+  /* USER CODE BEGIN IWDG_Init 1 */
+
+  /* USER CODE END IWDG_Init 1 */
+  hiwdg.Instance = IWDG;
+  hiwdg.Init.Prescaler = IWDG_PRESCALER_32;
+  hiwdg.Init.Window = 1000;
+  hiwdg.Init.Reload = 1000;
+  if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
+  {
+    Error_Handler();
+  }
+  /* USER CODE BEGIN IWDG_Init 2 */
+
+  /* USER CODE END IWDG_Init 2 */
+
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
Index: /trunk/fw_g473rct/Core/Src/main.c
===================================================================
--- /trunk/fw_g473rct/Core/Src/main.c	(revision 37)
+++ /trunk/fw_g473rct/Core/Src/main.c	(revision 38)
@@ -24,4 +24,5 @@
 #include "fdcan.h"
 #include "i2c.h"
+#include "iwdg.h"
 #include "rtc.h"
 #include "spi.h"
@@ -62,5 +63,5 @@
 /* Private define ------------------------------------------------------------*/
 /* USER CODE BEGIN PD */
-
+#define MAX_OVERCURRENT_RETRYS	3
 /* USER CODE END PD */
 
@@ -157,4 +158,5 @@
   MX_CRC_Init();
   MX_RTC_Init();
+  MX_IWDG_Init();
   /* USER CODE BEGIN 2 */
   printf("Test debug io\r\n");
@@ -165,5 +167,5 @@
 
   startType_t startType = EEPROM_isFirstStart();
-
+  
   switch(startType)
   {
@@ -173,4 +175,5 @@
 	  case FIRST_START_ERROR:						EEPROM_fullRestore(&sys_data);		  break;
   }
+  HAL_IWDG_Refresh(&hiwdg);
 
   if(HAL_GPIO_ReadPin(GPIO_INPUT_BTN_MODE_GPIO_Port, GPIO_INPUT_BTN_MODE_Pin) == GPIO_PIN_RESET)
@@ -183,5 +186,5 @@
     }
   }
-
+  HAL_IWDG_Refresh(&hiwdg);
   LoadBackupRegister();
 
@@ -189,5 +192,5 @@
     // Modbus Initialisierung
   mbInit(&modbusData, sys_data.s.parameter.baudrate, sys_data.s.parameter.parityMode, sys_data.s.parameter.stopBit, &huart2);
-
+  HAL_IWDG_Refresh(&hiwdg);
     // STM32G0 Chiptemperatur Kalibrierung
   CHIP_TEMPERATURE_Calibration();
@@ -198,5 +201,5 @@
   HAL_ADCEx_Calibration_Start(&hadc4, ADC_DIFFERENTIAL_ENDED);
   HAL_ADCEx_Calibration_Start(&hadc5, ADC_SINGLE_ENDED);
-
+  HAL_IWDG_Refresh(&hiwdg);
 
   //SET_BIT(hadc2.Instance->CFGR, ADC_CFGR_DMAEN); //Enable DMA transfer for ADC slave (ADC12_CCR.MDMA = 0b00 -> MDMA mode disabled)
@@ -232,5 +235,7 @@
 
   // ADS1260 Initialierung
+  HAL_IWDG_Refresh(&hiwdg);
   ADS1260_init();
+  HAL_IWDG_Refresh(&hiwdg);
   printf("ADS1260 Init\n");
   OUTPUTS_Init();
@@ -241,6 +246,8 @@
     HAL_GPIO_WritePin(LED_ERROR_GPIO_Port, LED_ERROR_Pin, GPIO_PIN_SET);
     HAL_Delay(350);
+	HAL_IWDG_Refresh(&hiwdg);
     HAL_GPIO_WritePin(LED_ERROR_GPIO_Port, LED_ERROR_Pin, GPIO_PIN_RESET);
     HAL_Delay(350);
+	HAL_IWDG_Refresh(&hiwdg);
   }
 
@@ -255,5 +262,6 @@
 
     /* USER CODE BEGIN 3 */
-if (newADC12Data == 1)
+	HAL_IWDG_Refresh(&hiwdg);
+	if (newADC12Data == 1)
     {
 	  //Mit ADC_DIV2,Sample time 12,5Cycklen, ADC Clock 50Mhz, Oversampling 256
@@ -306,15 +314,35 @@
     }
 
-	 // Zeitbasis ms Systick;
+	
+	
+	// Zeitbasis ms Systick;
     newTime = HAL_GetTick();
-    timeDiff = newTime - oldTime;
-    oldTime = newTime;
-
-    if ((mode_button_disable_time > 0) && (timeDiff > 0))
-    {
-      mode_button_disable_time--;
-    }
-
-    // Zeitbasis Sekunde ber RTC
+    
+	if (newTime != oldTime) {
+	  
+	  oldTime = newTime;
+      
+	  if (mode_button_disable_time > 0) 
+      {
+        mode_button_disable_time--;
+      }
+
+	}
+   
+
+	if (sys_data.s.values.overcurrentRetryCounter > MAX_OVERCURRENT_RETRYS)
+	{
+	  printf("SHORT_CIRCUIT_PROTECTION\n");
+	  sys_data.s.values.lvpState = OUTPUTS_LVP_SHORT_PROTECTION;
+	  HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_NOT_ALLOWED);
+
+	  sys_data.s.values.lvpState = OUTPUTS_OVP_SHORT_PROTECTION;
+	  HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
+
+
+
+	}
+
+    // Zeitbasis Sekunde über RTC
     // muss immer sowohl das Zeit- als auch das Datumsregister lesen
     // da beide Shadowregister sind sonst wird die Zeit nicht mehr geupdatet
@@ -375,5 +403,5 @@
           case COMMAND_RESTORE_LAST_SAVED_VALUES:             EEPROM_readConfig(&sys_data);												  break;
           case COMMAND_STORE_WITH_SERIAL_NUMBER:              EEPROM_storeConfig(&sys_data,1);											  break;	// Seriennummer schreiben
-          case COMMAND_RESTART:                               NVIC_SystemReset();														  break;
+          case COMMAND_RESTART:                               while(1);																	  break;
           case COMMAND_BATTERY_CURRENT_OFFSET_CAL:            
 				ADS_1260_BatteryCurrentOffsetCalibrationStart(&sys_data); 
@@ -465,8 +493,9 @@
   * in the RCC_OscInitTypeDef structure.
   */
-  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSE
-                              |RCC_OSCILLATORTYPE_LSE;
+  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_LSI
+                              |RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE;
   RCC_OscInitStruct.HSEState = RCC_HSE_ON;
   RCC_OscInitStruct.LSEState = RCC_LSE_ON;
+  RCC_OscInitStruct.LSIState = RCC_LSI_ON;
   RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
@@ -768,4 +797,6 @@
   return  result;
 }
+
+
 /* USER CODE END 4 */
 
Index: /trunk/fw_g473rct/Core/Src/stm32g4xx_it.c
===================================================================
--- /trunk/fw_g473rct/Core/Src/stm32g4xx_it.c	(revision 37)
+++ /trunk/fw_g473rct/Core/Src/stm32g4xx_it.c	(revision 38)
@@ -23,5 +23,6 @@
 /* Private includes ----------------------------------------------------------*/
 /* USER CODE BEGIN Includes */
-#include "modbus.h"
+#include "sysdata.h"
+#include "ads1260.h"
 /* USER CODE END Includes */
 
@@ -67,5 +68,5 @@
 extern UART_HandleTypeDef huart2;
 /* USER CODE BEGIN EV */
-
+extern sys_data_t sys_data;
 /* USER CODE END EV */
 
@@ -321,4 +322,18 @@
 
 /**
+  * @brief This function handles EXTI line[9:5] interrupts.
+  */
+void EXTI9_5_IRQHandler(void)
+{
+  /* USER CODE BEGIN EXTI9_5_IRQn 0 */
+
+  /* USER CODE END EXTI9_5_IRQn 0 */
+  HAL_GPIO_EXTI_IRQHandler(FAULT_INT_Pin);
+  /* USER CODE BEGIN EXTI9_5_IRQn 1 */
+
+  /* USER CODE END EXTI9_5_IRQn 1 */
+}
+
+/**
   * @brief This function handles USART1 global interrupt / USART1 wake-up interrupt through EXTI line 25.
   */
@@ -344,9 +359,24 @@
   HAL_UART_IRQHandler(&huart2);
   /* USER CODE BEGIN USART2_IRQn 1 */
-//MODBUS_UART_IRQHandler(&huart2);
+
   /* USER CODE END USART2_IRQn 1 */
 }
 
 /* USER CODE BEGIN 1 */
+void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
+{
+  if (GPIO_Pin == ADC_DATA_READY_Pin)
+  {
+    newCurrentValue=1;     
+  }
+  else if (GPIO_Pin == FAULT_INT_Pin)
+  {
+	sys_data.s.values.overcurrentRetryCounter++;
+    sys_data.s.values.overcurrentEventsTotal++;
+
+  }
+
+
+}
 
 /* USER CODE END 1 */
Index: /trunk/fw_g473rct/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_iwdg.c
===================================================================
--- /trunk/fw_g473rct/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_iwdg.c	(revision 38)
+++ /trunk/fw_g473rct/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_iwdg.c	(revision 38)
@@ -0,0 +1,282 @@
+/**
+  ******************************************************************************
+  * @file    stm32g4xx_hal_iwdg.c
+  * @author  MCD Application Team
+  * @brief   IWDG HAL module driver.
+  *          This file provides firmware functions to manage the following
+  *          functionalities of the Independent Watchdog (IWDG) peripheral:
+  *           + Initialization and Start functions
+  *           + IO operation functions
+  *
+  ******************************************************************************
+  * @attention
+  *
+  * Copyright (c) 2019 STMicroelectronics.
+  * All rights reserved.
+  *
+  * This software is licensed under terms that can be found in the LICENSE file
+  * in the root directory of this software component.
+  * If no LICENSE file comes with this software, it is provided AS-IS.
+  *
+  ******************************************************************************
+  @verbatim
+  ==============================================================================
+                    ##### IWDG Generic features #####
+  ==============================================================================
+  [..]
+    (+) The IWDG can be started by either software or hardware (configurable
+        through option byte).
+
+    (+) The IWDG is clocked by the Low-Speed Internal clock (LSI) and thus stays
+        active even if the main clock fails.
+
+    (+) Once the IWDG is started, the LSI is forced ON and both cannot be
+        disabled. The counter starts counting down from the reset value (0xFFF).
+        When it reaches the end of count value (0x000) a reset signal is
+        generated (IWDG reset).
+
+    (+) Whenever the key value 0x0000 AAAA is written in the IWDG_KR register,
+        the IWDG_RLR value is reloaded into the counter and the watchdog reset
+        is prevented.
+
+    (+) The IWDG is implemented in the VDD voltage domain that is still functional
+        in STOP and STANDBY mode (IWDG reset can wake up the CPU from STANDBY).
+        IWDGRST flag in RCC_CSR register can be used to inform when an IWDG
+        reset occurs.
+
+    (+) Debug mode: When the microcontroller enters debug mode (core halted),
+        the IWDG counter either continues to work normally or stops, depending
+        on DBG_IWDG_STOP configuration bit in DBG module, accessible through
+        __HAL_DBGMCU_FREEZE_IWDG() and __HAL_DBGMCU_UNFREEZE_IWDG() macros.
+
+    [..] Min-max timeout value @32KHz (LSI): ~125us / ~32.7s
+         The IWDG timeout may vary due to LSI clock frequency dispersion.
+         STM32G4xx devices provide the capability to measure the LSI clock
+         frequency (LSI clock is internally connected to TIM16 CH1 input capture).
+         The measured value can be used to have an IWDG timeout with an
+         acceptable accuracy.
+
+    [..] Default timeout value (necessary for IWDG_SR status register update):
+         Constant LSI_VALUE is defined based on the nominal LSI clock frequency.
+         This frequency being subject to variations as mentioned above, the
+         default timeout value (defined through constant HAL_IWDG_DEFAULT_TIMEOUT
+         below) may become too short or too long.
+         In such cases, this default timeout value can be tuned by redefining
+         the constant LSI_VALUE at user-application level (based, for instance,
+         on the measured LSI clock frequency as explained above).
+
+                     ##### How to use this driver #####
+  ==============================================================================
+  [..]
+    (#) Use IWDG using HAL_IWDG_Init() function to :
+      (++) Enable instance by writing Start keyword in IWDG_KEY register. LSI
+           clock is forced ON and IWDG counter starts counting down.
+      (++) Enable write access to configuration registers:
+          IWDG_PR, IWDG_RLR and IWDG_WINR.
+      (++) Configure the IWDG prescaler and counter reload value. This reload
+           value will be loaded in the IWDG counter each time the watchdog is
+           reloaded, then the IWDG will start counting down from this value.
+      (++) Depending on window parameter:
+        (+++) If Window Init parameter is same as Window register value,
+             nothing more is done but reload counter value in order to exit
+             function with exact time base.
+        (+++) Else modify Window register. This will automatically reload
+             watchdog counter.
+      (++) Wait for status flags to be reset.
+
+    (#) Then the application program must refresh the IWDG counter at regular
+        intervals during normal operation to prevent an MCU reset, using
+        HAL_IWDG_Refresh() function.
+
+     *** IWDG HAL driver macros list ***
+     ====================================
+     [..]
+       Below the list of most used macros in IWDG HAL driver:
+      (+) __HAL_IWDG_START: Enable the IWDG peripheral
+      (+) __HAL_IWDG_RELOAD_COUNTER: Reloads IWDG counter with value defined in
+          the reload register
+
+  @endverbatim
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32g4xx_hal.h"
+
+/** @addtogroup STM32G4xx_HAL_Driver
+  * @{
+  */
+
+#ifdef HAL_IWDG_MODULE_ENABLED
+/** @addtogroup IWDG
+  * @brief IWDG HAL module driver.
+  * @{
+  */
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/** @defgroup IWDG_Private_Defines IWDG Private Defines
+  * @{
+  */
+/* Status register needs up to 5 LSI clock periods divided by the clock
+   prescaler to be updated. The number of LSI clock periods is upper-rounded to
+   6 for the timeout value calculation.
+   The timeout value is calculated using the highest prescaler (256) and
+   the LSI_VALUE constant. The value of this constant can be changed by the user
+   to take into account possible LSI clock period variations.
+   The timeout value is multiplied by 1000 to be converted in milliseconds.
+   LSI startup time is also considered here by adding LSI_STARTUP_TIME
+   converted in milliseconds. */
+#define HAL_IWDG_DEFAULT_TIMEOUT        (((6UL * 256UL * 1000UL) / LSI_VALUE) + ((LSI_STARTUP_TIME / 1000UL) + 1UL))
+#define IWDG_KERNEL_UPDATE_FLAGS        (IWDG_SR_WVU | IWDG_SR_RVU | IWDG_SR_PVU)
+/**
+  * @}
+  */
+
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+/* Exported functions --------------------------------------------------------*/
+
+/** @addtogroup IWDG_Exported_Functions
+  * @{
+  */
+
+/** @addtogroup IWDG_Exported_Functions_Group1
+  *  @brief    Initialization and Start functions.
+  *
+@verbatim
+ ===============================================================================
+          ##### Initialization and Start functions #####
+ ===============================================================================
+ [..]  This section provides functions allowing to:
+      (+) Initialize the IWDG according to the specified parameters in the
+          IWDG_InitTypeDef of associated handle.
+      (+) Manage Window option.
+      (+) Once initialization is performed in HAL_IWDG_Init function, Watchdog
+          is reloaded in order to exit function with correct time base.
+
+@endverbatim
+  * @{
+  */
+
+/**
+  * @brief  Initialize the IWDG according to the specified parameters in the
+  *         IWDG_InitTypeDef and start watchdog. Before exiting function,
+  *         watchdog is refreshed in order to have correct time base.
+  * @param  hiwdg  pointer to a IWDG_HandleTypeDef structure that contains
+  *                the configuration information for the specified IWDG module.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg)
+{
+  uint32_t tickstart;
+
+  /* Check the IWDG handle allocation */
+  if (hiwdg == NULL)
+  {
+    return HAL_ERROR;
+  }
+
+  /* Check the parameters */
+  assert_param(IS_IWDG_ALL_INSTANCE(hiwdg->Instance));
+  assert_param(IS_IWDG_PRESCALER(hiwdg->Init.Prescaler));
+  assert_param(IS_IWDG_RELOAD(hiwdg->Init.Reload));
+  assert_param(IS_IWDG_WINDOW(hiwdg->Init.Window));
+
+  /* Enable IWDG. LSI is turned on automatically */
+  __HAL_IWDG_START(hiwdg);
+
+  /* Enable write access to IWDG_PR, IWDG_RLR and IWDG_WINR registers by writing
+  0x5555 in KR */
+  IWDG_ENABLE_WRITE_ACCESS(hiwdg);
+
+  /* Write to IWDG registers the Prescaler & Reload values to work with */
+  hiwdg->Instance->PR = hiwdg->Init.Prescaler;
+  hiwdg->Instance->RLR = hiwdg->Init.Reload;
+
+  /* Check pending flag, if previous update not done, return timeout */
+  tickstart = HAL_GetTick();
+
+  /* Wait for register to be updated */
+  while ((hiwdg->Instance->SR & IWDG_KERNEL_UPDATE_FLAGS) != 0x00u)
+  {
+    if ((HAL_GetTick() - tickstart) > HAL_IWDG_DEFAULT_TIMEOUT)
+    {
+      if ((hiwdg->Instance->SR & IWDG_KERNEL_UPDATE_FLAGS) != 0x00u)
+      {
+        return HAL_TIMEOUT;
+      }
+    }
+  }
+
+  /* If window parameter is different than current value, modify window
+  register */
+  if (hiwdg->Instance->WINR != hiwdg->Init.Window)
+  {
+    /* Write to IWDG WINR the IWDG_Window value to compare with. In any case,
+    even if window feature is disabled, Watchdog will be reloaded by writing
+    windows register */
+    hiwdg->Instance->WINR = hiwdg->Init.Window;
+  }
+  else
+  {
+    /* Reload IWDG counter with value defined in the reload register */
+    __HAL_IWDG_RELOAD_COUNTER(hiwdg);
+  }
+
+  /* Return function status */
+  return HAL_OK;
+}
+
+
+/**
+  * @}
+  */
+
+
+/** @addtogroup IWDG_Exported_Functions_Group2
+  *  @brief   IO operation functions
+  *
+@verbatim
+ ===============================================================================
+                      ##### IO operation functions #####
+ ===============================================================================
+ [..]  This section provides functions allowing to:
+      (+) Refresh the IWDG.
+
+@endverbatim
+  * @{
+  */
+
+/**
+  * @brief  Refresh the IWDG.
+  * @param  hiwdg  pointer to a IWDG_HandleTypeDef structure that contains
+  *                the configuration information for the specified IWDG module.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg)
+{
+  /* Reload IWDG counter with value defined in the reload register */
+  __HAL_IWDG_RELOAD_COUNTER(hiwdg);
+
+  /* Return function status */
+  return HAL_OK;
+}
+
+
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */
+
+#endif /* HAL_IWDG_MODULE_ENABLED */
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */
Index: /trunk/fw_g473rct/SES/inc/battery_voltage.h
===================================================================
--- /trunk/fw_g473rct/SES/inc/battery_voltage.h	(revision 37)
+++ /trunk/fw_g473rct/SES/inc/battery_voltage.h	(revision 38)
@@ -16,5 +16,16 @@
 
 //--- GLOBALE DEFINES ----------------------------------------------------------
-#define BATTERY_VOLTAGE_VOLTAGE_DIVIDER       6.0
+#if defined SYSTEM_VOLTAGE_12V
+  #define BATTERY_VOLTAGE_VOLTAGE_DIVIDER       6.0
+#elif defined SYSTEM_VOLTAGE_24V
+  #define BATTERY_VOLTAGE_VOLTAGE_DIVIDER       11.0
+#elif defined SYSTEM_VOLTAGE_48V
+  #define BATTERY_VOLTAGE_VOLTAGE_DIVIDER       21.0
+#else
+  #error "System voltage not defined"
+#endif
+
+
+
 #define BATTERY_VOLTAGE_ADC_RESOLUTION		  32768.0 //65536/2 da im differential mode
 #define BATTERY_VOLTAGE_ADC_OFFSET			  32768.0
Index: /trunk/fw_g473rct/SES/inc/outputs.h
===================================================================
--- /trunk/fw_g473rct/SES/inc/outputs.h	(revision 37)
+++ /trunk/fw_g473rct/SES/inc/outputs.h	(revision 38)
@@ -30,4 +30,5 @@
 #define OUTPUTS_LVP_SHUNT_UNDERTEMPERATURE		5
 #define OUTPUTS_LVP_CHIP_UNDERTEMPERATURE		6
+#define OUTPUTS_LVP_SHORT_PROTECTION			7
 
 #define OUTPUTS_OVP_UNKNOWN						-1
@@ -39,4 +40,5 @@
 #define OUTPUTS_OVP_SHUNT_UNDERTEMPERATURE		5
 #define OUTPUTS_OVP_CHIP_UNDERTEMPERATURE		6
+#define OUTPUTS_OVP_SHORT_PROTECTION			7
 
 #define OUTPUTS_LVP_MODE_AUTO					0U
Index: /trunk/fw_g473rct/SES/inc/sysdata.h
===================================================================
--- /trunk/fw_g473rct/SES/inc/sysdata.h	(revision 37)
+++ /trunk/fw_g473rct/SES/inc/sysdata.h	(revision 38)
@@ -189,6 +189,8 @@
 	/* 2 of 8 */ uint16_t ovp_sense;                                            // 168
 	/* 4 of 8 */ uint16_t lvp_sense;                                            // 169
-	/* 6 of 8 */ uint32_t detectedCapacityAtActualCRate;						// 170,171
-	/* 8 of 8 */ uint32_t detectedEnergyAtActualCRate;							// 172,173
+	/* 6 of 8 */ uint16_t overcurrentRetryCounter;								// 170
+	/* 8 of 8 */ uint16_t overcurrentEventsTotal;								// 171
+	/* 2 of 8 */ uint16_t overcurrentMeasurement;								// 172
+	/* 4 of 8 */ uint16_t overcurrentMaxValue;									// 173
 	/* 6 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 174
 	/* 8 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 175
@@ -226,8 +228,6 @@
 	/* 8 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 239
 	/* 4 of 8 */ int64_t  mAs_AutoModeU;										// 240-243
-	/* 6 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 244
-	/* 8 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 245
-	/* 2 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 246
-	/* 4 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 247
+	/* 6 of 8 */ uint32_t detectedCapacityAtActualCRate;						// 244,245
+	/* 8 of 8 */ uint32_t detectedEnergyAtActualCRate;							// 246,247
 	/* 6 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 248
 	/* 8 of 8 */ uint16_t UNIQUE_NAME(reserved);								// 249
Index: /trunk/fw_g473rct/SES/smartPro.emProject
===================================================================
--- /trunk/fw_g473rct/SES/smartPro.emProject	(revision 37)
+++ /trunk/fw_g473rct/SES/smartPro.emProject	(revision 38)
@@ -6,6 +6,6 @@
     c_preprocessor_definitions="DEBUG"
     gcc_debugging_level="Level 3"
-    gcc_omit_frame_pointer="Yes"
     gcc_optimization_level="None" />
+  <configuration Name="Debug125A_24V" />
   <configuration
     Name="Release125A_12V"
@@ -14,4 +14,5 @@
     gcc_omit_frame_pointer="Yes"
     gcc_optimization_level="Level 2 balanced" />
+  <configuration Name="Release125A_24V" />
   <project Name="smartPro">
     <configuration
@@ -52,8 +53,14 @@
       Name="Debug125A_12V"
       arm_compiler_variant="gcc"
-      c_preprocessor_definitions="DEVICETYPE=125" />
+      c_preprocessor_definitions="DEVICETYPE=125;SYSTEM_VOLTAGE_12V" />
+    <configuration
+      Name="Debug125A_24V"
+      c_preprocessor_definitions="DEVICETYPE=125;SYSTEM_VOLTAGE_24V" />
     <configuration
       Name="Release125A_12V"
-      c_preprocessor_definitions="DEVICETYPE=125" />
+      c_preprocessor_definitions="DEVICETYPE=125;SYSTEM_VOLTAGE_24V" />
+    <configuration
+      Name="Release125A_24V"
+      c_preprocessor_definitions="DEVICETYPE=125;SYSTEM_VOLTAGE_24V" />
     <folder Name="CMSIS Files">
       <file file_name="STM32G4xx/Device/Include/stm32g4xx.h" />
@@ -76,4 +83,5 @@
         <file file_name="../Core/Inc/gpio.h" />
         <file file_name="../Core/Inc/i2c.h" />
+        <file file_name="../Core/Inc/iwdg.h" />
         <file file_name="../Core/Inc/main.h" />
         <file file_name="../Core/Inc/spi.h" />
@@ -90,4 +98,5 @@
         <file file_name="../Core/Src/gpio.c" />
         <file file_name="../Core/Src/i2c.c" />
+        <file file_name="../Core/Src/iwdg.c" />
         <file file_name="../Core/Src/main.c" />
         <file file_name="../Core/Src/rtc.c" />
@@ -123,4 +132,5 @@
         <file file_name="../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_i2c.h" />
         <file file_name="../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_i2c_ex.h" />
+        <file file_name="../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_iwdg.h" />
         <file file_name="../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pcd.h" />
         <file file_name="../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pcd_ex.h" />
@@ -168,4 +178,5 @@
         <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c" />
         <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c_ex.c" />
+        <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_iwdg.c" />
         <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd.c" />
         <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pcd_ex.c" />
Index: /trunk/fw_g473rct/SES/src/ads1260.c
===================================================================
--- /trunk/fw_g473rct/SES/src/ads1260.c	(revision 37)
+++ /trunk/fw_g473rct/SES/src/ads1260.c	(revision 38)
@@ -45,8 +45,9 @@
 #include "ads1260.h"
 #include "spi.h"
-#include "math.h"
+//#include "math.h"
 #include "main.h"
 #include "eeprom.h"
 #include <stdio.h>
+#include "iwdg.h"
 //      --- EXTERNE VARIABLEN --------------------------------------------------------
 
@@ -765,4 +766,5 @@
   /* 3*/ HAL_GPIO_WritePin(ADC_START_CONV_GPIO_Port, ADC_START_CONV_Pin, GPIO_PIN_SET);
          HAL_Delay(150); // Delay weil die Vref braucht zeit um sich zu stabilisieren (siehe Datenblatt Seite 9)
+		 HAL_IWDG_Refresh(&hiwdg);
   /* 1*/ //HAL_GPIO_WritePin(ADC_POWER_DOWN_GPIO_Port, ADC_POWER_DOWN_Pin, GPIO_PIN_RESET);
          //HAL_Delay(150); // Delay weil die Vref braucht zeit um sich zu stabilisieren (siehe Datenblatt Seite 9)
@@ -771,6 +773,8 @@
   /* 2*/ HAL_GPIO_WritePin(ADC_RESET_GPIO_Port, ADC_RESET_Pin, GPIO_PIN_RESET);
          HAL_Delay(150); // Delay weil die Vref braucht zeit um sich zu stabilisieren (siehe Datenblatt Seite 9)
+		 HAL_IWDG_Refresh(&hiwdg);
   /* 2*/ HAL_GPIO_WritePin(ADC_RESET_GPIO_Port, ADC_RESET_Pin, GPIO_PIN_SET);
          HAL_Delay(150); // Delay weil die Vref braucht zeit um sich zu stabilisieren (siehe Datenblatt Seite 9)
+		 HAL_IWDG_Refresh(&hiwdg);
   /* 3*/ HAL_GPIO_WritePin(ADC_START_CONV_GPIO_Port, ADC_START_CONV_Pin, GPIO_PIN_RESET);
 
@@ -781,4 +785,5 @@
   /* 5*/ ADS_1260_SetExternalReference(&hspi3);
          HAL_Delay(150);
+		 HAL_IWDG_Refresh(&hiwdg);
   /* 6*/ ADS_1260_SetDataRate(&hspi3, DATA_RATE_20);
   //  /* 7*/ ADS_1260_SetDigitalFilter(&hspi1, FILTER_SINC4);
@@ -789,10 +794,14 @@
 
          ADS_1260_ActivateStatusData();
+		 HAL_IWDG_Refresh(&hiwdg);
          ADS_1260_ActivateLock();
+		 HAL_IWDG_Refresh(&hiwdg);
 
   /*10*/ //ADS_1260_SelfOffsetCalibration(&hspi1);
          HAL_Delay(150);
+		 HAL_IWDG_Refresh(&hiwdg);
   /*x*/  ads1260DataCoversionState = ADC_STATE_READY_FOR_CONVERSION;
          ADS1260_StartConversion();
+		 HAL_IWDG_Refresh(&hiwdg);
 }
 
Index: /trunk/fw_g473rct/SES/src/battery_voltage.c
===================================================================
--- /trunk/fw_g473rct/SES/src/battery_voltage.c	(revision 37)
+++ /trunk/fw_g473rct/SES/src/battery_voltage.c	(revision 38)
@@ -17,6 +17,6 @@
 
 //	--- LOKALE DEFINES - bitte hier dokumentieren --------------------------------
+
 #define BATTERY_VOLTAGE_FILTER  32
-
 
 
Index: /trunk/fw_g473rct/SES/src/eeprom.c
===================================================================
--- /trunk/fw_g473rct/SES/src/eeprom.c	(revision 37)
+++ /trunk/fw_g473rct/SES/src/eeprom.c	(revision 38)
@@ -223,13 +223,41 @@
 	/* iBatFull					*/											10,				// I-batt full 10%, 10A bei 100Ah akku
 	/* tBatFull					*/											2,				// t-batt full 2 Sekunden
-	/* uBatFull					*/											0,				// 14V olt Ubatt full, Neu: Bei 0: Erkung von Lipro LVP als 0% 
-	/* uBatEmpty				*/											11312,				// 11,312V Ubatt Empty
+#if defined SYSTEM_VOLTAGE_12V
+	/* uBatFull					*/											14000,				// 14V olt Ubatt full, Neu: Bei 0: Erkung von Lipro LVP als 0% 
+	/* uBatEmpty				*/											12400,				// 11,312V Ubatt Empty
+#elif defined SYSTEM_VOLTAGE_24V
+	/* uBatFull					*/											28000,				// 14V olt Ubatt full, Neu: Bei 0: Erkung von Lipro LVP als 0% 
+	/* uBatEmpty				*/											24800,				// 11,312V Ubatt Empty
+#elif defined SYSTEM_VOLTAGE_48V
+	/* uBatFull					*/											56000,				// 14V olt Ubatt full, Neu: Bei 0: Erkung von Lipro LVP als 0% 
+	/* uBatEmpty				*/											49600,				// 11,312V Ubatt Empty
+#else
+  #error "System voltage not defined"
+#endif
+
+
 	/* socCalcMode				*/											1,				// SoC calculation mode: 0(default)
 	/* cellRatedDischargeTime	*/											2,				// cell rated current discharge time [C/x]. For example, if 40Ah cell is rated as 0.5c, then rated discharge time is 2
-
+#if defined SYSTEM_VOLTAGE_12V
 	/* lvpStart	*/															12000,			// uint16_t lvpStart; Spannung ab der die LOW Voltage Protection aktiv wird in mV
 	/* lvpStop	*/															12500,			// uint16_t lvpStop; Spannung ab der die LOW Voltage Protection wieder inaktiv wird
 	/* ovpStart	*/															14800,			// uint16_t  ovpStart; Spannung ab der die OVER Voltage Protection aktiv wird in mV
 	/* ovpStop	*/															14000,			// uint16_t  ovpStop; Spannung ab der die OVER Voltage Protection wieder inaktiv wird
+#elif defined SYSTEM_VOLTAGE_24V
+	/* lvpStart	*/															24000,			// uint16_t lvpStart; Spannung ab der die LOW Voltage Protection aktiv wird in mV
+	/* lvpStop	*/															25000,			// uint16_t lvpStop; Spannung ab der die LOW Voltage Protection wieder inaktiv wird
+	/* ovpStart	*/															29600,			// uint16_t  ovpStart; Spannung ab der die OVER Voltage Protection aktiv wird in mV
+	/* ovpStop	*/															28000,			// uint16_t  ovpStop; Spannung ab der die OVER Voltage Protection wieder inaktiv wird
+
+#elif defined SYSTEM_VOLTAGE_48V
+	/* lvpStart	*/															48000,			// uint16_t lvpStart; Spannung ab der die LOW Voltage Protection aktiv wird in mV
+	/* lvpStop	*/															50000,			// uint16_t lvpStop; Spannung ab der die LOW Voltage Protection wieder inaktiv wird
+	/* ovpStart	*/															59200,			// uint16_t  ovpStart; Spannung ab der die OVER Voltage Protection aktiv wird in mV
+	/* ovpStop	*/															56000,			// uint16_t  ovpStop; Spannung ab der die OVER Voltage Protection wieder inaktiv wird
+#else
+  #error "System voltage not defined"
+#endif
+
+
 
 #if (DEVICETYPE == 500)
@@ -247,6 +275,6 @@
 	/* chargeStopHighTemperatureStart	*/									6000,			// 80°C int16_t chargeStopHighTemperatureStart;	Abschalttemperatur Ladung wegen zu hoher Temperatur
 	/* chargeStopHighTemperatureStop	*/									5500,			// 75°C int16_t chargeStopHighTemperatureStop;	Wiedereinschalttemperatur
-	/* chargeStopLowTemperatureStart	*/									-3000,			// -35°C int16_t chargeStopLowTemperatureStart;	Abschalttemperatur Ladung wegen zu niedriger Temperatur
-	/* chargeStopLowTemperatureStop		*/									-2500,			// -30°C int16_t chargeStopLowTemperatureStop; Wiedereinschalttemperatur
+	/* chargeStopLowTemperatureStart	*/									-2500,			// -35°C int16_t chargeStopLowTemperatureStart;	Abschalttemperatur Ladung wegen zu niedriger Temperatur
+	/* chargeStopLowTemperatureStop		*/									-2000,			// -30°C int16_t chargeStopLowTemperatureStop; Wiedereinschalttemperatur
 	/* dischargeStopHighTemperatureStart*/									6000,			// 80°C int16_t dischargeStopHighTemperatureStart; Abschalttemperatur Entladung wegen zu hoher Temperatur
 	/* dischargeStopHighTemperatureStop	*/									5500,			// 75°C int16_t dischargeStopHighTemperatureStop; Wiedereinschalttemperatur
@@ -256,5 +284,13 @@
 	/* uBatEmptyCompStartTemp	*/											50,				// 5°C We start calculating uBatEmpty compensations only when cell temperature is lower than this value
 	/* uBatEmptyCompStopTemp	*/											-200,			// -20°C We stop calculating uBatEmpty compensations when cell temperature is lower than this value
+#if defined SYSTEM_VOLTAGE_12V
 	/* uBatEmptyCompStopVolt	*/											10000,			// 10V uBatEmpty voltage at temperatures lower than -20°C
+#elif defined SYSTEM_VOLTAGE_24V
+/* uBatEmptyCompStopVolt	*/												20000,			// 10V uBatEmpty voltage at temperatures lower than -20°C
+#elif defined SYSTEM_VOLTAGE_48V
+/* uBatEmptyCompStopVolt	*/												40000,			// 10V uBatEmpty voltage at temperatures lower than -20°C
+#else
+  #error "System voltage not defined"
+#endif
 
 	/* extraDischargeStrom_mA	*/											7,				// mA, current that LiPro consumes itself
@@ -262,5 +298,13 @@
 	/* Battery Empty Detection Mode*/										1,				// Auto, from BMS
 	/* AUX MODE */															AUX_MODE_HEATER,// Heizung
+#if defined SYSTEM_VOLTAGE_12V
 	/* AUX SETPOINT ON */													13600,			// Erkennung Ladegerät ab 13,6V
+#elif defined SYSTEM_VOLTAGE_24V
+	/* AUX SETPOINT ON */													27200,			// Erkennung Ladegerät ab 13,6V
+#elif defined SYSTEM_VOLTAGE_48V
+	/* AUX SETPOINT ON */													54400,			// Erkennung Ladegerät ab 13,6V
+#else
+#error No valid device type
+#endif
 	/* AUX SETPOINT OFF */													100,			// Batterie Entladung wird erkannt bei -100mA
 	/* AUX Inverted */														0,				// Nicht invertiert
Index: /trunk/fw_g473rct/SES/src/esr.c
===================================================================
--- /trunk/fw_g473rct/SES/src/esr.c	(revision 37)
+++ /trunk/fw_g473rct/SES/src/esr.c	(revision 38)
@@ -12,6 +12,5 @@
 int32_t current_buffer[SAMPLE_ARRAY_SIZE];  
 int32_t voltage_buffer[SAMPLE_ARRAY_SIZE];
-//int32_t current_buffer_fast[SAMPLE_ARRAY_SIZE];  
-//int32_t voltage_buffer_fast[SAMPLE_ARRAY_SIZE];
+
 
 extern uint16_t adc12Data[SAMPLE_ARRAY_SIZE][2];
Index: /trunk/fw_g473rct/SES/src/outputs.c
===================================================================
--- /trunk/fw_g473rct/SES/src/outputs.c	(revision 37)
+++ /trunk/fw_g473rct/SES/src/outputs.c	(revision 38)
@@ -118,5 +118,5 @@
 			//Temperabschaltung Start 80°C
 			//Temperaturabschaltung Stop -99°C
-			if (sys_data.s.values.lvpState != OUTPUTS_LVP_OVERCURRENT)
+			if ((sys_data.s.values.lvpState != OUTPUTS_LVP_OVERCURRENT) && (sys_data.s.values.lvpState != OUTPUTS_LVP_SHORT_PROTECTION))
 			{
 				//Andere Fehler, automatisches zurücksetzen, wenn keine Fehlerbedingungen mehr vorliegen
@@ -209,5 +209,5 @@
 			//Wenn Abschaltung aufgrund zu hohem Lade/Lastrom erfolgt ist, dann muss Rücksetzen durch Reset Button erfolgen 
 			//Andere Fehler, automatisches zurücksetzen, wenn keine Fehlerbedingungen mehr vorliegen
-			if (sys_data.s.values.ovpState != OUTPUTS_OVP_OVERCURRENT)
+			if ((sys_data.s.values.ovpState != OUTPUTS_OVP_OVERCURRENT) && (sys_data.s.values.ovpState != OUTPUTS_OVP_SHORT_PROTECTION) )
 			{
 				printf("OUTPUT OVP OK\n");
Index: /trunk/fw_g473rct/SES/src/shunt_voltage.c
===================================================================
--- /trunk/fw_g473rct/SES/src/shunt_voltage.c	(revision 37)
+++ /trunk/fw_g473rct/SES/src/shunt_voltage.c	(revision 38)
@@ -19,5 +19,17 @@
 #define ADC_RESOLUTION						  32768 //65536/2 da im differential mode
 #define ADC_OFFSET							  32768
-#define SHUNT_VOLTAGE_DIVIDER				  6
+
+#if defined SYSTEM_VOLTAGE_12V
+  #define SHUNT_VOLTAGE_DIVIDER       6.0
+#elif defined SYSTEM_VOLTAGE_24V
+  #define SHUNT_VOLTAGE_DIVIDER       11.0
+#elif defined SYSTEM_VOLTAGE_48V
+  #define SHUNT_VOLTAGE_DIVIDER       21.0
+#else
+  #error "System voltage not defined"
+#endif
+
+
+
 //	--- LOKALE TYPE DEFS - bitte hier dokumentieren-------------------------------
 
Index: /trunk/fw_g473rct/cmake/stm32cubemx/CMakeLists.txt
===================================================================
--- /trunk/fw_g473rct/cmake/stm32cubemx/CMakeLists.txt	(revision 37)
+++ /trunk/fw_g473rct/cmake/stm32cubemx/CMakeLists.txt	(revision 38)
@@ -27,4 +27,5 @@
     ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/fdcan.c
     ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/i2c.c
+    ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/iwdg.c
     ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/rtc.c
     ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/spi.c
@@ -62,4 +63,5 @@
     ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c
     ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c_ex.c
+    ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_iwdg.c
     ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rtc.c
     ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rtc_ex.c
Index: /trunk/fw_g473rct/fw_g473rct.ioc
===================================================================
--- /trunk/fw_g473rct/fw_g473rct.ioc	(revision 37)
+++ /trunk/fw_g473rct/fw_g473rct.ioc	(revision 38)
@@ -253,4 +253,8 @@
 I2C4.IPParameters=Timing
 I2C4.Timing=0x20B182BE
+IWDG.IPParameters=Prescaler,Window,Reload
+IWDG.Prescaler=IWDG_PRESCALER_32
+IWDG.Reload=1000
+IWDG.Window=1000
 KeepUserPlacement=false
 Mcu.CPN=STM32G473RCT6
@@ -259,12 +263,13 @@
 Mcu.IP1=ADC2
 Mcu.IP10=I2C4
-Mcu.IP11=NVIC
-Mcu.IP12=RCC
-Mcu.IP13=RTC
-Mcu.IP14=SPI3
-Mcu.IP15=SYS
-Mcu.IP16=USART1
-Mcu.IP17=USART2
-Mcu.IP18=USB
+Mcu.IP11=IWDG
+Mcu.IP12=NVIC
+Mcu.IP13=RCC
+Mcu.IP14=RTC
+Mcu.IP15=SPI3
+Mcu.IP16=SYS
+Mcu.IP17=USART1
+Mcu.IP18=USART2
+Mcu.IP19=USB
 Mcu.IP2=ADC3
 Mcu.IP3=ADC4
@@ -275,5 +280,5 @@
 Mcu.IP8=FDCAN3
 Mcu.IP9=I2C3
-Mcu.IPNb=19
+Mcu.IPNb=20
 Mcu.Name=STM32G473R(B-C-E)Tx
 Mcu.Package=LQFP64
@@ -324,13 +329,14 @@
 Mcu.Pin49=VP_CRC_VS_CRC
 Mcu.Pin5=PC0
-Mcu.Pin50=VP_RTC_VS_RTC_Activate
-Mcu.Pin51=VP_SYS_V_VREFBUF
-Mcu.Pin52=VP_SYS_VS_Systick
-Mcu.Pin53=VP_SYS_VS_DBSignals
+Mcu.Pin50=VP_IWDG_VS_IWDG
+Mcu.Pin51=VP_RTC_VS_RTC_Activate
+Mcu.Pin52=VP_SYS_V_VREFBUF
+Mcu.Pin53=VP_SYS_VS_Systick
+Mcu.Pin54=VP_SYS_VS_DBSignals
 Mcu.Pin6=PC1
 Mcu.Pin7=PA0
 Mcu.Pin8=PA1
 Mcu.Pin9=PA2
-Mcu.PinsNb=54
+Mcu.PinsNb=55
 Mcu.ThirdParty0=STMicroelectronics.X-CUBE-EEPRMA1.5.2.0
 Mcu.ThirdPartyNb=1
@@ -349,4 +355,5 @@
 NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
 NVIC.EXTI2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
+NVIC.EXTI9_5_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
 NVIC.ForceEnableDMAVector=true
 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
@@ -453,9 +460,10 @@
 PB6.Mode=FDCAN_Activate
 PB6.Signal=FDCAN2_TX
-PB7.GPIOParameters=GPIO_PuPd,GPIO_Label
-PB7.GPIO_Label=FAULT
+PB7.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI
+PB7.GPIO_Label=FAULT_INT
+PB7.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING
 PB7.GPIO_PuPd=GPIO_PULLUP
 PB7.Locked=true
-PB7.Signal=GPIO_Input
+PB7.Signal=GPXTI7
 PB9.GPIOParameters=GPIO_Label
 PB9.GPIO_Label=COM_POWERPRO_RES
@@ -496,7 +504,8 @@
 PC9.Mode=I2C
 PC9.Signal=I2C3_SDA
-PD2.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI
+PD2.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI
 PD2.GPIO_Label=ADC_DATA_READY
 PD2.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING
+PD2.GPIO_PuPd=GPIO_PULLUP
 PD2.Locked=true
 PD2.Signal=GPXTI2
@@ -537,5 +546,5 @@
 ProjectManager.UAScriptBeforePath=
 ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_ADC2_Init-ADC2-false-HAL-true,6-MX_ADC3_Init-ADC3-false-HAL-true,7-MX_ADC4_Init-ADC4-false-HAL-true,8-MX_ADC5_Init-ADC5-false-HAL-true,9-MX_FDCAN2_Init-FDCAN2-false-HAL-true,10-MX_FDCAN3_Init-FDCAN3-false-HAL-true,11-MX_I2C3_Init-I2C3-false-HAL-true,12-MX_I2C4_Init-I2C4-false-HAL-true,13-MX_SPI3_Init-SPI3-false-HAL-true,14-MX_USART1_UART_Init-USART1-false-HAL-true,15-MX_USART2_UART_Init-USART2-false-HAL-true,16-MX_USB_PCD_Init-USB-false-HAL-true,17-MX_CRC_Init-CRC-false-HAL-true,18-MX_RTC_Init-RTC-false-HAL-true
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_ADC2_Init-ADC2-false-HAL-true,6-MX_ADC3_Init-ADC3-false-HAL-true,7-MX_ADC4_Init-ADC4-false-HAL-true,8-MX_ADC5_Init-ADC5-false-HAL-true,9-MX_FDCAN2_Init-FDCAN2-false-HAL-true,10-MX_FDCAN3_Init-FDCAN3-false-HAL-true,11-MX_I2C3_Init-I2C3-false-HAL-true,12-MX_I2C4_Init-I2C4-false-HAL-true,13-MX_SPI3_Init-SPI3-false-HAL-true,14-MX_USART1_UART_Init-USART1-false-HAL-true,15-MX_USART2_UART_Init-USART2-false-HAL-true,16-MX_USB_PCD_Init-USB-false-HAL-true,17-MX_CRC_Init-CRC-false-HAL-true,18-MX_RTC_Init-RTC-false-HAL-true,19-MX_IWDG_Init-IWDG-false-HAL-true
 RCC.ADC12CLockSelection=RCC_ADC12CLKSOURCE_PLL
 RCC.ADC12Freq_Value=25000000
@@ -595,4 +604,6 @@
 SH.GPXTI2.0=GPIO_EXTI2
 SH.GPXTI2.ConfNb=1
+SH.GPXTI7.0=GPIO_EXTI7
+SH.GPXTI7.ConfNb=1
 SPI3.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_8
 SPI3.CLKPhase=SPI_PHASE_2EDGE
@@ -621,4 +632,6 @@
 VP_CRC_VS_CRC.Mode=CRC_Activate
 VP_CRC_VS_CRC.Signal=CRC_VS_CRC
+VP_IWDG_VS_IWDG.Mode=IWDG_Activate
+VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG
 VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled
 VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate
