- Timestamp:
- Sep 7, 2025, 3:51:43 PM (7 weeks ago)
- Location:
- trunk/fw_g473rct
- Files:
-
- 82 added
- 25 edited
-
.mxproject (modified) (4 diffs)
-
Core/Inc/main.h (modified) (2 diffs)
-
Core/Inc/rtc.h (added)
-
Core/Inc/stm32g4xx_hal_conf.h (modified) (1 diff)
-
Core/Inc/stm32g4xx_it.h (modified) (1 diff)
-
Core/Src/adc.c (modified) (2 diffs)
-
Core/Src/crc.c (modified) (1 diff)
-
Core/Src/gpio.c (modified) (5 diffs)
-
Core/Src/main.c (modified) (9 diffs)
-
Core/Src/rtc.c (added)
-
Core/Src/spi.c (modified) (2 diffs)
-
Core/Src/stm32g4xx_it.c (modified) (1 diff)
-
Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rtc.h (added)
-
Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rtc_ex.h (added)
-
Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_rtc.h (added)
-
Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rtc.c (added)
-
Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rtc_ex.c (added)
-
SES/Output/Debug125A_12V (added)
-
SES/Output/Debug125A_12V/Exe (added)
-
SES/Output/Debug125A_12V/Exe/smartPro.elf (added)
-
SES/Output/Debug125A_12V/Exe/smartPro.map (added)
-
SES/Output/Debug125A_12V/Obj (added)
-
SES/Output/Debug125A_12V/Obj/smartPro (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/SEGGER_THUMB_Startup.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/STM32G4xx_Startup.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/adc.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/ads1260.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/ah_counter.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/battery_voltage.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/chip_temperature.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/crc.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/dma.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/eeprom.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/efficiency.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/esr.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/fast_current-4af47574.o.tmp (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/fast_current.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/fdcan.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/gpio.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/i2c.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/int_bat_voltage.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/main.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/modbus.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/outputs.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/ref_voltage.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/rtc.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/self_discharge.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/shunt_temperature.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/shunt_voltage.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/smartPro_files.ind (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/spi.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g473xx_Vectors.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_adc.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_adc_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_cortex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_crc.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_crc_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_dma.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_dma_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_exti.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_fdcan.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_flash.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_flash_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_flash_ramfunc.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_gpio.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_i2c.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_i2c_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_msp.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_pcd.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_pcd_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_pwr.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_pwr_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_rcc.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_rcc_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_rtc.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_rtc_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_spi.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_spi_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_uart.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_hal_uart_ex.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_it.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_ll_adc.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/stm32g4xx_ll_usb.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/sysdata.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/system_stm32g4xx.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/template.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/usart.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/usb.d (added)
-
SES/Output/Debug125A_12V/Obj/smartPro/wh_counter.d (added)
-
SES/inc/battery_voltage.h (modified) (1 diff)
-
SES/inc/doku.h (modified) (7 diffs)
-
SES/inc/fast_current.h (modified) (1 diff)
-
SES/inc/sysdata.h (modified) (3 diffs)
-
SES/smartPro.emProject (modified) (4 diffs)
-
SES/smartPro.emSession (modified) (11 diffs)
-
SES/smartPro_Debug125A_12V.jlink (added)
-
SES/src/ads1260.c (modified) (3 diffs)
-
SES/src/battery_voltage.c (modified) (3 diffs)
-
SES/src/eeprom.c (modified) (11 diffs)
-
SES/src/esr.c (modified) (8 diffs)
-
SES/src/fast_current.c (modified) (2 diffs)
-
SES/src/main.c (modified) (4 diffs)
-
SES/src/ref_voltage.c (added)
-
SES/src/sysdata.c (modified) (2 diffs)
-
cmake/stm32cubemx/CMakeLists.txt (modified) (2 diffs)
-
fw_g473rct.ioc (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fw_g473rct/.mxproject
r20 r25 1 1 [PreviousLibFiles] 2 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_ 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_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_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;2 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; 3 3 4 4 [PreviousUsedCMakes] 5 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\ 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_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_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;;;5 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;;; 6 6 HeaderPath=Drivers\STM32G4xx_HAL_Driver\Inc;Drivers\STM32G4xx_HAL_Driver\Inc\Legacy;Drivers\CMSIS\Device\ST\STM32G4xx\Include;Drivers\CMSIS\Include;Core\Inc; 7 7 CDefines=USE_HAL_DRIVER;STM32G473xx;USE_HAL_DRIVER;USE_HAL_DRIVER; … … 9 9 [PreviousGenFiles] 10 10 AdvancedFolderStructure=true 11 HeaderFileListSize=1 211 HeaderFileListSize=13 12 12 HeaderFiles#0=..\Core\Inc\gpio.h 13 13 HeaderFiles#1=..\Core\Inc\adc.h … … 16 16 HeaderFiles#4=..\Core\Inc\fdcan.h 17 17 HeaderFiles#5=..\Core\Inc\i2c.h 18 HeaderFiles#6=..\Core\Inc\spi.h 19 HeaderFiles#7=..\Core\Inc\usart.h 20 HeaderFiles#8=..\Core\Inc\usb.h 21 HeaderFiles#9=..\Core\Inc\stm32g4xx_it.h 22 HeaderFiles#10=..\Core\Inc\stm32g4xx_hal_conf.h 23 HeaderFiles#11=..\Core\Inc\main.h 18 HeaderFiles#6=..\Core\Inc\rtc.h 19 HeaderFiles#7=..\Core\Inc\spi.h 20 HeaderFiles#8=..\Core\Inc\usart.h 21 HeaderFiles#9=..\Core\Inc\usb.h 22 HeaderFiles#10=..\Core\Inc\stm32g4xx_it.h 23 HeaderFiles#11=..\Core\Inc\stm32g4xx_hal_conf.h 24 HeaderFiles#12=..\Core\Inc\main.h 24 25 HeaderFolderListSize=1 25 26 HeaderPath#0=..\Core\Inc 26 27 HeaderFiles=; 27 SourceFileListSize=1 228 SourceFileListSize=13 28 29 SourceFiles#0=..\Core\Src\gpio.c 29 30 SourceFiles#1=..\Core\Src\adc.c … … 32 33 SourceFiles#4=..\Core\Src\fdcan.c 33 34 SourceFiles#5=..\Core\Src\i2c.c 34 SourceFiles#6=..\Core\Src\spi.c 35 SourceFiles#7=..\Core\Src\usart.c 36 SourceFiles#8=..\Core\Src\usb.c 37 SourceFiles#9=..\Core\Src\stm32g4xx_it.c 38 SourceFiles#10=..\Core\Src\stm32g4xx_hal_msp.c 39 SourceFiles#11=..\Core\Src\main.c 35 SourceFiles#6=..\Core\Src\rtc.c 36 SourceFiles#7=..\Core\Src\spi.c 37 SourceFiles#8=..\Core\Src\usart.c 38 SourceFiles#9=..\Core\Src\usb.c 39 SourceFiles#10=..\Core\Src\stm32g4xx_it.c 40 SourceFiles#11=..\Core\Src\stm32g4xx_hal_msp.c 41 SourceFiles#12=..\Core\Src\main.c 40 42 SourceFolderListSize=1 41 43 SourcePath#0=..\Core\Src -
trunk/fw_g473rct/Core/Inc/main.h
r24 r25 58 58 59 59 /* Private defines -----------------------------------------------------------*/ 60 #define AUX_EN ABLE_Pin GPIO_PIN_1361 #define AUX_EN ABLE_GPIO_Port GPIOC60 #define AUX_EN_Pin GPIO_PIN_13 61 #define AUX_EN_GPIO_Port GPIOC 62 62 #define ADC_START_CONV_Pin GPIO_PIN_0 63 63 #define ADC_START_CONV_GPIO_Port GPIOC 64 64 #define ADC_RESET_Pin GPIO_PIN_1 65 65 #define ADC_RESET_GPIO_Port GPIOC 66 #define LED_FUNC _Pin GPIO_PIN_467 #define LED_FUNC _GPIO_Port GPIOA66 #define LED_FUNCTION_Pin GPIO_PIN_4 67 #define LED_FUNCTION_GPIO_Port GPIOA 68 68 #define LED_ERROR_Pin GPIO_PIN_5 69 69 #define LED_ERROR_GPIO_Port GPIOA … … 94 94 #define ADC_DATA_READY_Pin GPIO_PIN_2 95 95 #define ADC_DATA_READY_GPIO_Port GPIOD 96 #define ADC_DATA_READY_EXTI_IRQn EXTI2_IRQn 96 97 #define FAULT_Pin GPIO_PIN_7 97 98 #define FAULT_GPIO_Port GPIOB -
trunk/fw_g473rct/Core/Inc/stm32g4xx_hal_conf.h
r20 r25 57 57 /*#define HAL_QSPI_MODULE_ENABLED */ 58 58 /*#define HAL_RNG_MODULE_ENABLED */ 59 /*#define HAL_RTC_MODULE_ENABLED */ 59 #define HAL_RTC_MODULE_ENABLED 60 60 /*#define HAL_SAI_MODULE_ENABLED */ 61 61 /*#define HAL_SMARTCARD_MODULE_ENABLED */ -
trunk/fw_g473rct/Core/Inc/stm32g4xx_it.h
r23 r25 56 56 void PendSV_Handler(void); 57 57 void SysTick_Handler(void); 58 void EXTI2_IRQHandler(void); 58 59 void DMA1_Channel1_IRQHandler(void); 59 60 void DMA1_Channel2_IRQHandler(void); -
trunk/fw_g473rct/Core/Src/adc.c
r24 r25 92 92 sConfig.Channel = ADC_CHANNEL_1; 93 93 sConfig.Rank = ADC_REGULAR_RANK_1; 94 sConfig.SamplingTime = ADC_SAMPLETIME_ 6CYCLES_5;94 sConfig.SamplingTime = ADC_SAMPLETIME_92CYCLES_5; 95 95 sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED; 96 96 sConfig.OffsetNumber = ADC_OFFSET_NONE; … … 148 148 sConfig.Channel = ADC_CHANNEL_3; 149 149 sConfig.Rank = ADC_REGULAR_RANK_1; 150 sConfig.SamplingTime = ADC_SAMPLETIME_ 6CYCLES_5;150 sConfig.SamplingTime = ADC_SAMPLETIME_92CYCLES_5; 151 151 sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED; 152 152 sConfig.OffsetNumber = ADC_OFFSET_NONE; -
trunk/fw_g473rct/Core/Src/crc.c
r20 r25 39 39 /* USER CODE END CRC_Init 1 */ 40 40 hcrc.Instance = CRC; 41 hcrc.Init.DefaultPolynomialUse = DEFAULT_POLYNOMIAL_ENABLE; 42 hcrc.Init.DefaultInitValueUse = DEFAULT_INIT_VALUE_ENABLE; 41 hcrc.Init.DefaultPolynomialUse = DEFAULT_POLYNOMIAL_DISABLE; 42 hcrc.Init.DefaultInitValueUse = DEFAULT_INIT_VALUE_DISABLE; 43 hcrc.Init.GeneratingPolynomial = 7; 44 hcrc.Init.CRCLength = CRC_POLYLENGTH_8B; 45 hcrc.Init.InitValue = 0xFF; 43 46 hcrc.Init.InputDataInversionMode = CRC_INPUTDATA_INVERSION_NONE; 44 47 hcrc.Init.OutputDataInversionMode = CRC_OUTPUTDATA_INVERSION_DISABLE; -
trunk/fw_g473rct/Core/Src/gpio.c
r20 r25 23 23 24 24 /* USER CODE BEGIN 0 */ 25 25 #include "ads1260.h" 26 26 /* USER CODE END 0 */ 27 27 … … 53 53 54 54 /*Configure GPIO pin Output Level */ 55 HAL_GPIO_WritePin(GPIOC, AUX_EN ABLE_Pin|ADC_START_CONV_Pin|ADC_RESET_Pin, GPIO_PIN_RESET);55 HAL_GPIO_WritePin(GPIOC, AUX_EN_Pin|ADC_START_CONV_Pin|ADC_RESET_Pin, GPIO_PIN_RESET); 56 56 57 57 /*Configure GPIO pin Output Level */ 58 HAL_GPIO_WritePin(GPIOA, LED_FUNC _Pin|LED_ERROR_Pin, GPIO_PIN_RESET);58 HAL_GPIO_WritePin(GPIOA, LED_FUNCTION_Pin|LED_ERROR_Pin, GPIO_PIN_RESET); 59 59 60 60 /*Configure GPIO pin Output Level */ 61 61 HAL_GPIO_WritePin(GPIOB, BUZZER_Pin|DISCHARGE_ENABLE_Pin|CHARGE_ENABLE_Pin, GPIO_PIN_RESET); 62 62 63 /*Configure GPIO pins : AUX_EN ABLE_Pin ADC_START_CONV_Pin ADC_RESET_Pin */64 GPIO_InitStruct.Pin = AUX_EN ABLE_Pin|ADC_START_CONV_Pin|ADC_RESET_Pin;63 /*Configure GPIO pins : AUX_EN_Pin ADC_START_CONV_Pin ADC_RESET_Pin */ 64 GPIO_InitStruct.Pin = AUX_EN_Pin|ADC_START_CONV_Pin|ADC_RESET_Pin; 65 65 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 66 66 GPIO_InitStruct.Pull = GPIO_NOPULL; … … 68 68 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 69 69 70 /*Configure GPIO pins : LED_FUNC _Pin LED_ERROR_Pin */71 GPIO_InitStruct.Pin = LED_FUNC _Pin|LED_ERROR_Pin;70 /*Configure GPIO pins : LED_FUNCTION_Pin LED_ERROR_Pin */ 71 GPIO_InitStruct.Pin = LED_FUNCTION_Pin|LED_ERROR_Pin; 72 72 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 73 73 GPIO_InitStruct.Pull = GPIO_NOPULL; … … 90 90 /*Configure GPIO pin : ADC_DATA_READY_Pin */ 91 91 GPIO_InitStruct.Pin = ADC_DATA_READY_Pin; 92 GPIO_InitStruct.Mode = GPIO_MODE_IT_ RISING;92 GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; 93 93 GPIO_InitStruct.Pull = GPIO_NOPULL; 94 94 HAL_GPIO_Init(ADC_DATA_READY_GPIO_Port, &GPIO_InitStruct); … … 100 100 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 101 101 102 /* EXTI interrupt init*/ 103 HAL_NVIC_SetPriority(EXTI2_IRQn, 0, 0); 104 HAL_NVIC_EnableIRQ(EXTI2_IRQn); 105 102 106 } 103 107 104 108 /* USER CODE BEGIN 2 */ 109 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) 110 { 111 if (GPIO_Pin == ADC_DATA_READY_Pin) 112 { 113 newCurrentValue=1; 105 114 115 116 } 117 } 106 118 /* USER CODE END 2 */ -
trunk/fw_g473rct/Core/Src/main.c
r24 r25 24 24 #include "fdcan.h" 25 25 #include "i2c.h" 26 #include "rtc.h" 26 27 #include "spi.h" 27 28 #include "usart.h" … … 31 32 /* Private includes ----------------------------------------------------------*/ 32 33 /* USER CODE BEGIN Includes */ 34 #include <stdio.h> 35 #include "sysdata.h" 36 #include "wh_counter.h" 37 #include "ah_counter.h" 38 #include "eeprom.h" 39 #include "modbus.h" 40 #include "chip_temperature.h" 41 #include "battery_voltage.h" 42 #include "ads1260.h" 43 #include "shunt_voltage.h" 44 #include "fast_current.h" 45 #include "int_bat_voltage.h" 46 #include "chip_temperature.h" 47 #include "shunt_temperature.h" 48 #include "esr.h" 49 #include "ads1260.h" 50 #include "outputs.h" 51 #include "crc.h" 52 #include "efficiency.h" 53 #include "self_discharge.h" 33 54 34 55 /* USER CODE END Includes */ … … 52 73 53 74 /* USER CODE BEGIN PV */ 54 75 modbus_t modbusData __attribute__((section(".RAM1"))); 76 77 __IO uint16_t adc12Data[SAMPLE_ARRAY_SIZE][2] __attribute__((section(".RAM1"))); 78 __IO uint32_t adc1Data[1] __attribute__((section(".RAM1"))); 79 __IO uint32_t adc2Data[1] __attribute__((section(".RAM1"))); 80 __IO uint32_t adc3Data[3] __attribute__((section(".RAM1"))); 81 __IO uint32_t adc4Data[1] __attribute__((section(".RAM1"))); 82 __IO uint32_t adc5Data[4] __attribute__((section(".RAM1"))); 83 int silentmode =0; 84 static volatile uint32_t newADC12Data = 0; 85 static volatile uint32_t newADC3Data = 0; 86 static volatile uint32_t newADC4Data = 0; 87 static volatile uint32_t newADC5Data = 0; 55 88 /* USER CODE END PV */ 56 89 … … 58 91 void SystemClock_Config(void); 59 92 /* USER CODE BEGIN PFP */ 60 93 bool SetFlashReadProtection(bool state); 94 uint8_t printprotectionstate(void); 95 bool SetBootFromFlashAndReadOutProtection(void); 96 void LoadBackupRegister(void); 97 void SaveBackupRegister(void); 61 98 /* USER CODE END PFP */ 62 99 … … 74 111 75 112 /* USER CODE BEGIN 1 */ 113 uint8_t firstStartCatcher; 114 int mode_button_disable_time=0; 115 uint32_t oldTime = 0; 116 uint32_t newTime = 0; 117 uint32_t timeDiff; 118 uint8_t sekunde = 0; 119 uint8_t sekundeOld = 0; 120 uint32_t dummyDate; 76 121 77 122 /* USER CODE END 1 */ … … 110 155 MX_USB_PCD_Init(); 111 156 MX_CRC_Init(); 157 MX_RTC_Init(); 112 158 /* USER CODE BEGIN 2 */ 113 159 printf("Test debug io\r\n"); 160 SYS_DATA_Init(); 161 WH_COUNTER_Init(); 162 AH_COUNTER_Init(); 163 164 165 startType_t startType = EEPROM_isFirstStart(); 166 167 switch(startType) 168 { 169 case FIRST_START_AFTER_ERASE: EEPROM_fullRestore(&sys_data); break; 170 case FIRST_START_AFTER_COMPARTIBLE_UPDATE: EEPROM_readConfig(&sys_data); break; 171 case FIRST_START_AFTER_INCOMPARTIBLE_UPDATE: EEPROM_factoryRestore(&sys_data, 0); break; // Preserving calibration and settings 172 case FIRST_START_ERROR: EEPROM_fullRestore(&sys_data); break; 173 } 174 175 if(HAL_GPIO_ReadPin(GPIO_INPUT_BTN_MODE_GPIO_Port, GPIO_INPUT_BTN_MODE_Pin) == GPIO_PIN_RESET) 176 { 177 HAL_Delay(50); 178 if(HAL_GPIO_ReadPin(GPIO_INPUT_BTN_MODE_GPIO_Port, GPIO_INPUT_BTN_MODE_Pin) == GPIO_PIN_RESET) 179 { 180 printf("factory restore...\n"); 181 EEPROM_factoryRestore(&sys_data, 1); 182 } 183 } 184 185 // Modbus Initialisierung 186 mbInit(&modbusData, sys_data.s.parameter.baudrate, sys_data.s.parameter.parityMode, sys_data.s.parameter.stopBit, &huart2); 187 188 // STM32G0 Chiptemperatur Kalibrierung 189 CHIP_TEMPERATURE_Calibration(); 190 191 HAL_ADCEx_Calibration_Start(&hadc1, ADC_DIFFERENTIAL_ENDED); 192 HAL_ADCEx_Calibration_Start(&hadc2, ADC_DIFFERENTIAL_ENDED); 193 HAL_ADCEx_Calibration_Start(&hadc3, ADC_SINGLE_ENDED); 194 HAL_ADCEx_Calibration_Start(&hadc4, ADC_DIFFERENTIAL_ENDED); 195 HAL_ADCEx_Calibration_Start(&hadc5, ADC_SINGLE_ENDED); 196 197 198 //SET_BIT(hadc2.Instance->CFGR, ADC_CFGR_DMAEN); //Enable DMA transfer for ADC slave (ADC12_CCR.MDMA = 0b00 -> MDMA mode disabled) 199 //HAL_DMA_Start(hadc2.DMA_Handle,(uint32_t)&hadc2.Instance->DR, (uint32_t)adc2Data,1); //Start ADC slave DMA 200 //SET_BIT(hadc1.Instance->CFGR, ADC_CFGR_DMAEN); //Enable DMA transfer for ADC master (ADC12_CCR.MDMA = 0b00 -> MDMA mode disabled) 201 202 //HAL_ADC_Start_DMA(&hadc2, (uint32_t*)adc2Data, 1); 203 if (HAL_ADCEx_MultiModeStart_DMA(&hadc1,(uint32_t *)adc12Data,SAMPLE_ARRAY_SIZE)) //Start ADC interleaved mode 204 { 205 /* Start Error */ 206 Error_Handler(); 207 } 208 209 if (HAL_ADC_Start_DMA(&hadc3, (uint32_t *) adc3Data , 3)) 210 { 211 /* Start Error */ 212 Error_Handler(); 213 } 214 215 if (HAL_ADC_Start_DMA(&hadc4, (uint32_t *) adc4Data , 1)) 216 { 217 /* Start Error */ 218 Error_Handler(); 219 } 220 221 222 if (HAL_ADC_Start_DMA(&hadc5, (uint32_t *) adc5Data , 4)) 223 { 224 /* Start Error */ 225 Error_Handler(); 226 } 227 228 229 // ADS1260 Initialierung 230 ADS1260_init(); 231 printf("ADS1260 Init\n"); 232 OUTPUTS_Init(); 233 234 //Display Adress with Error LED blinks 235 for (int n = 0; n < sys_data.s.parameter.slave_address; n++) 236 { 237 HAL_GPIO_WritePin(LED_ERROR_GPIO_Port, LED_ERROR_Pin, GPIO_PIN_SET); 238 HAL_Delay(350); 239 HAL_GPIO_WritePin(LED_ERROR_GPIO_Port, LED_ERROR_Pin, GPIO_PIN_RESET); 240 HAL_Delay(350); 241 } 242 243 LoadBackupRegister(); 114 244 /* USER CODE END 2 */ 115 245 … … 121 251 122 252 /* USER CODE BEGIN 3 */ 253 if (newADC12Data == 1) 254 { 255 //Mit ADC_DIV2,Sample time 12,5Cycklen, ADC Clock 50Mhz, Oversampling 256 256 //Tconv = 6400 Takte = 0,128ms Pro Konvertierung. Also für 100 messwerte 12,8mS 257 BATTERY_VOLTAGE_Exec( adc12Data[0][1]); 258 FAST_CURRENT_Exec(adc12Data[0][0]); 259 sys_data.s.values.esrCalcStatus = ESR_FAST_Exec(); 260 newADC12Data = 0; 261 262 } 263 264 265 if (newADC3Data == 1) 266 { 267 SHUNT_TEMPERATURE_Exec(adc3Data[0]); 268 } 269 270 271 if (newADC4Data == 1) 272 { 273 SHUNT_VOLTAGE_Exec( adc4Data[0]); 274 } 275 276 277 if (newADC5Data == 1) 278 { 279 CHIP_TEMPERATURE_Exec(adc5Data[0]); 280 INT_BAT_VOLTAGE_Exec( adc5Data[1]); 281 sys_data.s.values.ovp_sense = (adc5Data[2] * VREF * 21 ) / 65536.0; 282 sys_data.s.values.lvp_sense = (adc5Data[3] * VREF * 21 ) / 65536.0; 283 } 284 285 286 if (newCurrentValue == 1) 287 { 288 ADS1260_ConversionFinished(); 289 ESR_Exec(); 290 291 newCurrentValue = 0; 292 293 } 294 295 // Zeitbasis ms Systick; 296 newTime = HAL_GetTick(); 297 timeDiff = newTime - oldTime; 298 oldTime = newTime; 299 300 if ((mode_button_disable_time > 0) && (timeDiff > 0)) 301 { 302 mode_button_disable_time--; 303 } 304 305 // Zeitbasis Sekunde ber RTC 306 // muss immer sowohl das Zeit- als auch das Datumsregister lesen 307 // da beide Shadowregister sind sonst wird die Zeit nicht mehr geupdatet 308 sekunde = hrtc.Instance->TR & 0x0000000F; 309 dummyDate = hrtc.Instance->DR; 310 311 312 313 if (sekundeOld != sekunde) 314 { 315 sekundeOld = sekunde; 316 317 sys_data.s.values.onTime++; 318 // Funktions Led blinken 319 if (silentmode == 0) 320 { 321 HAL_GPIO_TogglePin(LED_FUNCTION_GPIO_Port, LED_FUNCTION_Pin); 322 HAL_GPIO_TogglePin(AUX_EN_GPIO_Port, AUX_EN_Pin); 323 } 324 325 326 // Amperestundenzhler 327 AH_COUNTER_Exec(); 328 329 WH_COUNTER_Exec(); 330 331 // LVP 332 OUTPUTS_CheckLVP(); 333 334 // OVP 335 OUTPUTS_CheckOVP(); 336 337 SaveBackupRegister(); 338 339 sys_data.s.values.selfDischargeStatus = SELF_DISCHARGE_Exec(); 340 341 sys_data.s.values.efficiency = EFFICIENCY_Exec(); 342 343 344 } 345 346 347 if(sys_data.s.parameter.command != 0) 348 { 349 if (modbusData.current_query == MB_QUERY_NOTHING) 350 { 351 //printf("CMD = %d\n", sys_data.s.parameter.command); 352 switch (sys_data.s.parameter.command ) 353 { 354 case COMMAND_STORE_CONFIG: EEPROM_storeConfig(&sys_data,0); break; 355 case COMMAND_FULL_RESTORE: EEPROM_fullRestore(&sys_data); break; 356 case COMMAND_FACTORY_RESTORE: EEPROM_factoryRestore(&sys_data, 1); break; 357 case COMMAND_RESTORE_LAST_SAVED_VALUES: EEPROM_readConfig(&sys_data); break; 358 case COMMAND_STORE_WITH_SERIAL_NUMBER: EEPROM_storeConfig(&sys_data,1); break; // Seriennummer schreiben 359 case COMMAND_RESTART: NVIC_SystemReset(); break; 360 case COMMAND_BATTERY_CURRENT_OFFSET_CAL: ADS_1260_BatteryCurrentOffsetCalibrationStart(&sys_data); break; 361 case COMMAND_BATTERY_CURRENT_OFFSET_COMMONMODE_CAL: ADS_1260_BatteryCurrentOffsetCommonModeErrorComepensationStart(&sys_data); break; 362 case COMMAND_BATTERY_CURRENT_OFFSET_TEMP_CAL: ADS_1260_BatteryCurrentOffsetTemperatureErrorComepensationStart(); break; 363 case COMMAND_BATTERY_CURRENT_GAIN_CAL: ADS_1260_BatteryCurrentGainCalibrationStart(&sys_data); break; 364 case COMMAND_BATTERY_CURRENT_GAIN_TEMP_SHUNT_CAL: ADS_1260_BatteryCurrentGainTemperatureCalibrationShuntStart(); break; 365 // case COMMAND_BATTERY_CURRENT_GAIN_TEMP_CHIP_CAL: ADS_1260_BatteryCurrentGainTemperatureCalibrationChipStart(); break; 366 case COMMAND_SET_RDP_LEVEL0: SetFlashReadProtection(false); break; 367 case COMMAND_SET_RDP_LEVEL1: SetFlashReadProtection(true); break; 368 case COMMAND_SET_RDP_LEVEL1_AND_BOOTSEL: SetBootFromFlashAndReadOutProtection(); break; 369 default: printf("UNKNOWN COMMAND\n"); 370 } 371 sys_data.s.parameter.command = 0; 372 } 373 else 374 { 375 //printf("wait with execution till modbus communnikation finished\n"); 376 } 377 } 378 379 if((HAL_GPIO_ReadPin(GPIO_INPUT_BTN_MODE_GPIO_Port, GPIO_INPUT_BTN_MODE_Pin) == GPIO_PIN_RESET) && (mode_button_disable_time == 0)) 380 { 381 HAL_Delay(10); 382 //Taste weiterhin gedrckt? 383 if(HAL_GPIO_ReadPin(GPIO_INPUT_BTN_MODE_GPIO_Port, GPIO_INPUT_BTN_MODE_Pin) == GPIO_PIN_RESET) 384 { 385 //Ja, dann Silent Mode umschalten 386 mode_button_disable_time=500; 387 if (silentmode == 0) 388 { 389 silentmode = 1; 390 HAL_GPIO_WritePin(LED_FUNCTION_GPIO_Port, LED_FUNCTION_Pin,GPIO_PIN_SET); 391 } 392 else 393 { 394 silentmode = 0; 395 } 396 } 397 } 398 399 // Modbus Kommunikation 400 401 // printf("data12d1=%d,data12d2=%d,data5=%d\r\n", adc12Data[0], adc12Data[1] , adc5Data[2]); 402 if (mbGetFrameComplete(&modbusData) == true) 403 { 404 if (mbSlaveCheckModbusRtuQuery(&modbusData) == RESPOND_TO_QUERY) 405 { 406 if (silentmode == 0) 407 { 408 mbSlaveProcessRtuQuery(&modbusData); 409 } 410 } 411 else 412 { 413 huart1.RxState = HAL_UART_STATE_BUSY_RX; 414 } 415 } 416 417 123 418 } 124 419 /* USER CODE END 3 */ … … 138 433 HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1); 139 434 435 /** Configure LSE Drive Capability 436 */ 437 HAL_PWR_EnableBkUpAccess(); 438 __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW); 439 140 440 /** Initializes the RCC Oscillators according to the specified parameters 141 441 * in the RCC_OscInitTypeDef structure. 142 442 */ 143 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSE; 443 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSE 444 |RCC_OSCILLATORTYPE_LSE; 144 445 RCC_OscInitStruct.HSEState = RCC_HSE_ON; 446 RCC_OscInitStruct.LSEState = RCC_LSE_ON; 145 447 RCC_OscInitStruct.HSI48State = RCC_HSI48_ON; 146 448 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; … … 172 474 173 475 /* USER CODE BEGIN 4 */ 174 476 void LoadBackupRegister() 477 { 478 if (HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR1) == 0xBEBE) 479 { 480 printf("BackupRegisterData available\r\n"); 481 sys_data.s.values.dischargeTotalAh = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR2); 482 } 483 484 485 } 486 487 488 void SaveBackupRegister(void) 489 { 490 static uint32_t lastTime; 491 492 493 uint32_t time = sys_data.s.values.onTime; 494 495 // Alle 24 Stunden führen wir ein Speicherbefehl durch um die Counter zu speichern 496 if (time != lastTime) 497 { 498 lastTime = time; 499 HAL_PWR_EnableBkUpAccess(); 500 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR1, 0xBEBE); 501 502 // Total Energie und Ah Umsatz der Batterie (seit inbetriebnahme) 503 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, sys_data.s.values.dischargeTotalAh); 504 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR3, sys_data.s.values.chargeTotalAh); 505 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR4, sys_data.s.values.dischargeTotalWh); 506 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR5, sys_data.s.values.chargeTotalWh); 507 508 // Betriebszeit 509 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR6, sys_data.s.values.onTime); 510 511 // Erkannte Kapazitäten 512 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR7, sys_data.s.values.detectedCapacity); 513 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR8, sys_data.s.values.detectedEnergy); 514 515 516 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR8, sys_data.s.values.mAh_AutoMode); 517 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR8, sys_data.s.values.mWh_AutoMode); 518 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR8, sys_data.s.values.mAhCounter); 519 520 521 522 523 524 } 525 526 527 } 528 529 530 531 void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) 532 { 533 if (hadc->Instance==ADC1) 534 { 535 newADC12Data=1; 536 } 537 538 if (hadc->Instance==ADC3) 539 { 540 newADC3Data=1; 541 } 542 543 544 if (hadc->Instance==ADC4) 545 { 546 newADC4Data=1; 547 } 548 549 if (hadc->Instance==ADC5) 550 { 551 newADC5Data=1; 552 } 553 } 554 555 556 557 /** 558 559 * @brief Set flash read protection. 560 561 * @param [in] state: Flash read protection state, true: enable protection, false: disable protection. 562 563 * @retval true: Successful operation. 564 565 * @retval false: Operation failed. 566 567 */ 568 569 bool SetFlashReadProtection(bool state) 570 { 571 572 FLASH_OBProgramInitTypeDef OptionsBytesStruct = {0}; 573 HAL_FLASHEx_OBGetConfig(&OptionsBytesStruct); 574 575 if(state == true) 576 { 577 printf("Start enable readout protection\n"); 578 if(OptionsBytesStruct.RDPLevel == OB_RDP_LEVEL_0) 579 { 580 OptionsBytesStruct.OptionType = OPTIONBYTE_RDP; 581 OptionsBytesStruct.RDPLevel = OB_RDP_LEVEL_1; 582 if (HAL_FLASH_Unlock() != HAL_OK) 583 { 584 printf("Flash unlock error\n"); 585 } 586 if (HAL_FLASH_OB_Unlock() != HAL_OK) 587 { 588 printf("Flash ob unlock error\n"); 589 } 590 591 printf("...Flash unlock\n"); 592 if(HAL_FLASHEx_OBProgram(&OptionsBytesStruct) != HAL_OK) 593 { 594 printf("...Enable lock error\n"); 595 HAL_FLASH_OB_Lock(); 596 return false; 597 } 598 HAL_FLASH_OB_Lock(); 599 printf("Flash Optionbyte locked\n"); 600 HAL_FLASH_Lock(); 601 printf("Flash locked\n"); 602 printf("...Enable lock process finished\n"); 603 } 604 else 605 { 606 printf("...Flash lock already active\n"); 607 } 608 } 609 else 610 { 611 if(OptionsBytesStruct.RDPLevel == OB_RDP_LEVEL_1) 612 { 613 OptionsBytesStruct.OptionType = OPTIONBYTE_RDP; 614 OptionsBytesStruct.RDPLevel = OB_RDP_LEVEL_0; 615 616 if (HAL_FLASH_Unlock() != HAL_OK) 617 { 618 printf("Flash unlock error\n"); 619 return false; 620 } 621 printf("...Flash unlocked\n"); 622 623 if (HAL_FLASH_OB_Unlock() != HAL_OK) 624 { 625 printf("Flash ob unlock error\n"); 626 return false; 627 } 628 printf("...Flash ob unlocked\n"); 629 630 if(HAL_FLASHEx_OBProgram(&OptionsBytesStruct) != HAL_OK) 631 { 632 HAL_FLASH_OB_Lock(); 633 printf("Flash Optionbyte programm failed\n"); 634 return false; 635 } 636 637 printf("Flash Optionbyte programmed\n"); 638 HAL_FLASH_OB_Lock(); 639 printf("Flash Optionbyte locked\n"); 640 HAL_FLASH_Lock(); 641 printf("Flash locked\n"); 642 printf("...Disable lock process finished\n"); 643 644 ; 645 } 646 } 647 return true; 648 } 649 650 bool SetBootFromFlashAndReadOutProtection(void) 651 { 652 653 FLASH_OBProgramInitTypeDef OptionsBytesStruct = {0}; 654 HAL_FLASHEx_OBGetConfig(&OptionsBytesStruct); 655 656 //Konfiguriere RDP fr Readoutprotection and USER OPTION BYTE FR Boot from Flash 657 OptionsBytesStruct.OptionType = OPTIONBYTE_USER | OPTIONBYTE_RDP; 658 659 //Set Readout Protection Level 1 660 OptionsBytesStruct.OptionType = OPTIONBYTE_USER|OPTIONBYTE_RDP; 661 OptionsBytesStruct.RDPLevel = OB_RDP_LEVEL_1; 662 663 //Selecting Boot from Main Flash Memory 664 OptionsBytesStruct.USERType = OB_USER_nBOOT0 | OB_USER_nSWBOOT0 | OB_USER_nBOOT1 ; 665 OptionsBytesStruct.USERConfig = OB_USER_nBOOT0 | OB_USER_nSWBOOT0; 666 667 if (HAL_FLASH_Unlock() != HAL_OK) 668 { 669 printf("Flash unlock error\n"); 670 } 671 if (HAL_FLASH_OB_Unlock() != HAL_OK) 672 { 673 printf("Flash ob unlock error\n"); 674 } 675 676 printf("...Flash unlock\n"); 677 if(HAL_FLASHEx_OBProgram(&OptionsBytesStruct) != HAL_OK) 678 { 679 printf("...Enable lock error\n"); 680 HAL_FLASH_OB_Lock(); 681 return false; 682 } 683 HAL_FLASH_OB_Lock(); 684 printf("Flash Optionbyte locked\n"); 685 HAL_FLASH_Lock(); 686 printf("Flash locked\n"); 687 printf("...Enable lock process finished\n"); 688 689 return true; 690 } 691 uint8_t printprotectionstate(void) 692 { 693 FLASH_OBProgramInitTypeDef OptionsBytesStruct = {0}; 694 HAL_FLASHEx_OBGetConfig(&OptionsBytesStruct); 695 uint8_t result = 0; 696 697 if(OptionsBytesStruct.RDPLevel == OB_RDP_LEVEL_0) 698 { 699 //OptionsBytesStruct.OptionType = OPTIONBYTE_RDP; 700 //OptionsBytesStruct.RDPLevel = OB_RDP_LEVEL_1; 701 printf("PROTECTION: OB_RDP_LEVEL_0\n"); 702 result = 0; 703 } 704 else if(OptionsBytesStruct.RDPLevel == OB_RDP_LEVEL_1) 705 { 706 printf("PROTECTION: OB_RDP_LEVEL_1\n"); 707 result = 1; 708 } 709 else if(OptionsBytesStruct.RDPLevel == OB_RDP_LEVEL_2) 710 { 711 printf("PROTECTION: OB_RDP_LEVEL_2\n"); 712 result = 2; 713 } 714 return result; 715 } 175 716 /* USER CODE END 4 */ 176 717 -
trunk/fw_g473rct/Core/Src/spi.c
r20 r25 41 41 hspi3.Init.Mode = SPI_MODE_MASTER; 42 42 hspi3.Init.Direction = SPI_DIRECTION_2LINES; 43 hspi3.Init.DataSize = SPI_DATASIZE_ 4BIT;43 hspi3.Init.DataSize = SPI_DATASIZE_8BIT; 44 44 hspi3.Init.CLKPolarity = SPI_POLARITY_LOW; 45 hspi3.Init.CLKPhase = SPI_PHASE_ 1EDGE;45 hspi3.Init.CLKPhase = SPI_PHASE_2EDGE; 46 46 hspi3.Init.NSS = SPI_NSS_HARD_OUTPUT; 47 hspi3.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_ 2;47 hspi3.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; 48 48 hspi3.Init.FirstBit = SPI_FIRSTBIT_MSB; 49 49 hspi3.Init.TIMode = SPI_TIMODE_DISABLE; … … 51 51 hspi3.Init.CRCPolynomial = 7; 52 52 hspi3.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; 53 hspi3.Init.NSSPMode = SPI_NSS_PULSE_ ENABLE;53 hspi3.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; 54 54 if (HAL_SPI_Init(&hspi3) != HAL_OK) 55 55 { -
trunk/fw_g473rct/Core/Src/stm32g4xx_it.c
r23 r25 209 209 210 210 /** 211 * @brief This function handles EXTI line2 interrupt. 212 */ 213 void EXTI2_IRQHandler(void) 214 { 215 /* USER CODE BEGIN EXTI2_IRQn 0 */ 216 217 /* USER CODE END EXTI2_IRQn 0 */ 218 HAL_GPIO_EXTI_IRQHandler(ADC_DATA_READY_Pin); 219 /* USER CODE BEGIN EXTI2_IRQn 1 */ 220 221 /* USER CODE END EXTI2_IRQn 1 */ 222 } 223 224 /** 211 225 * @brief This function handles DMA1 channel1 global interrupt. 212 226 */ -
trunk/fw_g473rct/SES/inc/battery_voltage.h
r22 r25 16 16 17 17 //--- GLOBALE DEFINES ---------------------------------------------------------- 18 #define BATTERY_VOLTAGE_VOLTAGE_DIVIDER 6.0 19 #define BATTERY_VOLTAGE_ADC_RESOLUTION 32768.0 //65536/2 da im differential mode 20 #define BATTERY_VOLTAGE_ADC_OFFSET 32768.0 18 21 19 22 //--- GLOBALE VARIABLEN PROTOTYPEN --------------------------------------------- -
trunk/fw_g473rct/SES/inc/doku.h
r20 r25 1 1 /* 2 3 Neue Version für smartPro 4 5 - VDD muss jetzt nicht mehr berechnet werden, da wir eine echte Referenz haben. Deshalb entfällt die Anzeige im Register 101. Diese wurde ersetzt durch die 6 Spannung der neuen Backup Batterie 7 - Register Position für mWs und mWh getauscht, damit besser lesbar und ggf weniger Datenübetragung notwendig 8 - Register Position für mAs und mAh getauscht, damit besser lesbar und ggf weniger Datenübetragung notwendig 9 10 11 12 ----- ALT greenMeter------- 2 13 Achtung: 3 14 - IMMER NEUE HEX und NEUE BIN DATEI erzeugen!!! 4 - Bin Datei f ür Encryption Tool15 - Bin Datei fr Encryption Tool 5 16 - Hex für Prüfprogramm, automatische Programmierung 6 17 … … 22 33 2.0 COMMON MODE ERROR COMPENSATION 23 34 - Temperatur kalt, Raumtemperartur 24 - Busspannung 24,00V (Dabei änder sich der gemessene Strom um z.B. -120mA )35 - Busspannung 24,00V (Dabei nder sich der gemessene Strom um z.B. -120mA ) 25 36 - Busstrom 0,0A - Lastschalter aus!! 26 37 - Warten bis Mittwelwert stabilisert … … 30 41 2.1 (OPTIONAL) 31 42 - Common Mode Error Kompensation testen 32 - Spannung auf 32V erh öhen43 - Spannung auf 32V erhhen 33 44 - Fehler Strommessung < +- 5VmA 34 45 - Spannung auf 6V verringern … … 41 52 42 53 3.0 OFFSET TEMP COMPENSATION 43 - Kein erheblicher Fehler. Kompensation kann zun ächst entfallen54 - Kein erheblicher Fehler. Kompensation kann zunchst entfallen 44 55 45 56 4.0 GAIN CAL 46 - SHUNT Überbrücken57 - SHUNT berbrcken 47 58 - 250A einstellen 48 59 - warten bis stabil, +- 2mA 49 - SHUNT ÜBERBRÜCKUNG ÖFFNEN60 - SHUNT BERBRCKUNG FFNEN 50 61 - Warten auf Mittelwertbildung (10 Sekunden) 51 62 - COMMAND 10 … … 53 64 54 65 5.0 GAIN TEMP CAL 55 - Warten bis Shunt Temp um 10 °C gestiegen ist.66 - Warten bis Shunt Temp um 10C gestiegen ist. 56 67 - 57 68 */ … … 63 74 //--------------------- 64 75 //Test Shunt Spannungsmessung: 65 //Mit greenSwitch als Hauptschalter nur bis 32V m öglich. Da Überspannungsschutzdiode im greenSwitch aktiv wird76 //Mit greenSwitch als Hauptschalter nur bis 32V mglich. Da berspannungsschutzdiode im greenSwitch aktiv wird 66 77 // Sollwer: Read: Strom am Shunt: 67 78 // 0 V 0,09 V 0,0 mA … … 79 90 80 91 /* 81 Pr üfung Common Mode Error nach Kalibrierung 12/24V92 Prfung Common Mode Error nach Kalibrierung 12/24V 82 93 - Muster 1 hatte bei 0V - 8 mA 83 94 - Muster 1 hatte bei 2V - 6 mA -
trunk/fw_g473rct/SES/inc/fast_current.h
r24 r25 16 16 17 17 //--- GLOBALE DEFINES ---------------------------------------------------------- 18 #define FAST_CURRENT_I_SENSE_GAIN 40.0 19 #define FAST_CURRENT_ADC_OFFSET 32768 20 #define FAST_CURRENT_ADC_RESOLUTION 32768 //65536/2 da im differential mode 21 22 23 #if (DEVICETYPE == 500) 24 #define FAST_CURRENT_SHUNT_RESISTOR 0.000125 25 #elif (DEVICETYPE == 250) 26 #define FAST_CURRENT_SHUNT_RESISTOR 0.000250 27 #elif (DEVICETYPE == 125) 28 #define FAST_CURRENT_SHUNT_RESISTOR 0.000500 29 #else 30 #error No valid device type 31 #endif 32 33 18 34 19 35 //--- GLOBALE VARIABLEN PROTOTYPEN --------------------------------------------- -
trunk/fw_g473rct/SES/inc/sysdata.h
r23 r25 170 170 /* 8 of 8 */ uint32_t lastTimeVbatEmpty; // 146-147 [s] 171 171 /* 4 of 8 */ uint32_t onTime; // 148-149 [s] Runtime Zähler zum speichern der Statistik Werte im EEPROM und als Betriebszeitzähler 172 /* 8 of 8 */ uint32_t dischargeTotalAh; // 150-151 [ mAs]173 /* 4 of 8 */ uint32_t chargeTotalAh; // 152-153 [ mAs]174 /* 8 of 8 */ uint32_t dischargeTotalWh; // 154-155 [ mAs]175 /* 4 of 8 */ uint32_t chargeTotalWh; // 156-157 [ mAs]172 /* 8 of 8 */ uint32_t dischargeTotalAh; // 150-151 [Ah] 173 /* 4 of 8 */ uint32_t chargeTotalAh; // 152-153 [Ah] 174 /* 8 of 8 */ uint32_t dischargeTotalWh; // 154-155 [Wh] 175 /* 4 of 8 */ uint32_t chargeTotalWh; // 156-157 [Wh] 176 176 /* 6 of 8 */ uint16_t fullCyclesCnt; // 158 177 /* 8 of 8 */ uint16_t volatile UNIQUE_NAME(reserved); // 159 178 /* 8 of 8 */ int64_t mAs_AutoMode; // 160-163 179 /* 8 of 8 */ int64_t mWs_AutoMode; // 164-167 180 /* 2 of 8 */ uint16_t ovp_sense; // 168 181 /* 4 of 8 */ uint16_t lvp_sense; // 169 177 /* 8 of 8 */ uint16_t volatile UNIQUE_NAME(reserved); // 159 178 /* 4 of 8 */ int32_t mAh_AutoMode; // 160-161 179 /* 6 of 8 */ uint16_t UNIQUE_NAME(reserved); // 162 180 /* 8 of 8 */ uint16_t UNIQUE_NAME(reserved); // 163 181 /* 4 of 8 */ int32_t mWh_AutoMode; // 164-165 182 /* 6 of 8 */ uint16_t UNIQUE_NAME(reserved); // 166 183 /* 8 of 8 */ uint16_t UNIQUE_NAME(reserved); // 167 184 /* 2 of 8 */ uint16_t ovp_sense; // 168 185 /* 4 of 8 */ uint16_t lvp_sense; // 169 182 186 /* 6 of 8 */ uint16_t UNIQUE_NAME(reserved); // 170 183 187 /* 8 of 8 */ uint16_t UNIQUE_NAME(reserved); // 171 … … 186 190 /* 6 of 8 */ uint16_t UNIQUE_NAME(reserved); // 174 187 191 /* 8 of 8 */ uint16_t UNIQUE_NAME(reserved); // 175 188 /* 2 of 8 */ uint16_t UNIQUE_NAME(reserved); // 176 189 /* 4 of 8 */ uint16_t UNIQUE_NAME(reserved); // 177 190 /* 6 of 8 */ uint16_t UNIQUE_NAME(reserved); // 178 191 /* 8 of 8 */ uint16_t UNIQUE_NAME(reserved); // 179 192 192 193 193 194 // --- DEBUG WERTE 194 /* 4 of 8 */ int32_t mAh_AutoMode; // 180-181[mWh]195 /* 8 of 8 */ int 32_t mWh_AutoMode; // 182-183 [mWh]195 /* 8 of 8 */ int64_t mAs_AutoMode; // 176-179 [mWh] 196 /* 8 of 8 */ int64_t mWs_AutoMode; // 180-183 [mWh] 196 197 /* 8 of 8 */ int64_t mWsCounter; // 184-187 [mWs] 197 198 /* 4 of 8 */ int32_t mWhCounter; // 188-189 [mWh] … … 209 210 /* 4 of 8 */ int16_t selfDischargeStatus; // 206 210 211 /* 6 of 8 */ uint16_t selfDischargeTime; // 207 211 /* 8 of 8 */ uint8_t message[2 4]; // 208-219 ASCII-char message, limited to 8letters212 /* 8 of 8 */ uint8_t message[20]; // 208-219 ASCII-char message, limited to 20 letters 212 213 /* 4 of 8 */ int32_t current_buffer[SAMPLE_ARRAY_SIZE]; // 220-283 213 214 /* 8 of 8 */ int32_t voltage_buffer[SAMPLE_ARRAY_SIZE]; // 284-347 -
trunk/fw_g473rct/SES/smartPro.emProject
r24 r25 83 83 <folder Name="src"> 84 84 <file file_name="../Core/Src/adc.c" /> 85 <file file_name="../Core/Src/crc.c" /> 85 86 <file file_name="../Core/Src/dma.c" /> 86 87 <file file_name="../Core/Src/fdcan.c" /> 87 88 <file file_name="../Core/Src/gpio.c" /> 88 89 <file file_name="../Core/Src/i2c.c" /> 90 <file file_name="../Core/Src/main.c" /> 91 <file file_name="../Core/Src/rtc.c" /> 89 92 <file file_name="../Core/Src/spi.c" /> 90 93 <file file_name="../Core/Src/stm32g4xx_hal_msp.c" /> … … 151 154 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_adc_ex.c" /> 152 155 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cortex.c" /> 156 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_crc.c" /> 157 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_crc_ex.c" /> 153 158 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma.c" /> 154 159 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dma_ex.c" /> … … 167 172 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c" /> 168 173 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc_ex.c" /> 174 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rtc.c" /> 175 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rtc_ex.c" /> 169 176 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_spi.c" /> 170 177 <file file_name="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_spi_ex.c" /> … … 213 220 <file file_name="src/fast_current.c" /> 214 221 <file file_name="src/int_bat_voltage.c" /> 215 <file file_name="src/main.c" /> 222 <file file_name="src/main.c"> 223 <configuration Name="Common" build_exclude_from_build="Yes" /> 224 </file> 216 225 <file file_name="src/modbus.c" /> 217 226 <file file_name="src/outputs.c" /> -
trunk/fw_g473rct/SES/smartPro.emSession
r20 r25 10 10 <FrameBufferWindow width="0" keepAspectRatio="0" zoomToFitWindow="0" showGrid="0" addressSpace="" format="0" height="0" autoEvaluate="0" scaleFactor="1" refreshPeriod="0" name="PowerPro_Debug" addressText="" accessByDisplayWidth="0"/> 11 11 <FrameBufferWindow width="0" keepAspectRatio="0" zoomToFitWindow="0" showGrid="0" addressSpace="" format="0" height="0" autoEvaluate="0" scaleFactor="1" refreshPeriod="0" name="PowerPro_Release" addressText="" accessByDisplayWidth="0"/> 12 <FrameBufferWindow width="0" keepAspectRatio="0" zoomToFitWindow="0" showGrid="0" addressSpace="" format="0" height="0" autoEvaluate="0" scaleFactor="1" refreshPeriod="0" name="smartPro_Debug" addressText="" accessByDisplayWidth="0"/> 13 <FrameBufferWindow width="0" keepAspectRatio="0" zoomToFitWindow="0" showGrid="0" addressSpace="" format="0" height="0" autoEvaluate="0" scaleFactor="1" refreshPeriod="0" name="smartPro_Debug125A_12V" addressText="" accessByDisplayWidth="0"/> 12 14 </FrameBuffer> 13 15 <Memory1> … … 15 17 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="PowerPro_Debug" sizeText="" addressText=""/> 16 18 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="PowerPro_Release" sizeText="" addressText=""/> 19 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="smartPro_Debug" sizeText="" addressText=""/> 20 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="smartPro_Debug125A_12V" sizeText="" addressText=""/> 17 21 </Memory1> 18 22 <Memory2> … … 20 24 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="PowerPro_Debug" sizeText="" addressText=""/> 21 25 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="PowerPro_Release" sizeText="" addressText=""/> 26 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="smartPro_Debug" sizeText="" addressText=""/> 27 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="smartPro_Debug125A_12V" sizeText="" addressText=""/> 22 28 </Memory2> 23 29 <Memory3> … … 25 31 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="PowerPro_Debug" sizeText="" addressText=""/> 26 32 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="PowerPro_Release" sizeText="" addressText=""/> 33 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="smartPro_Debug" sizeText="" addressText=""/> 34 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="smartPro_Debug125A_12V" sizeText="" addressText=""/> 27 35 </Memory3> 28 36 <Memory4> … … 30 38 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="PowerPro_Debug" sizeText="" addressText=""/> 31 39 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="PowerPro_Release" sizeText="" addressText=""/> 40 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="smartPro_Debug" sizeText="" addressText=""/> 41 <MemoryWindow addressSpace="" dataSize="1" autoEvaluate="0" viewMode="0" viewType="4" addressOrder="0" columnsText="" refreshPeriod="0" name="smartPro_Debug125A_12V" sizeText="" addressText=""/> 32 42 </Memory4> 33 43 <Project> 34 44 <ProjectSessionItem path="smartPro"/> 35 45 <ProjectSessionItem path="smartPro;smartPro"/> 36 <ProjectSessionItem path="smartPro;smartPro;Source Files"/> 46 <ProjectSessionItem path="smartPro;smartPro;core"/> 47 <ProjectSessionItem path="smartPro;smartPro;core;inc"/> 48 <ProjectSessionItem path="smartPro;smartPro;core;src"/> 49 <ProjectSessionItem path="smartPro;smartPro;HAL"/> 50 <ProjectSessionItem path="smartPro;smartPro;HAL;inc"/> 51 <ProjectSessionItem path="smartPro;smartPro;HAL;src"/> 52 <ProjectSessionItem path="smartPro;smartPro;inc"/> 53 <ProjectSessionItem path="smartPro;smartPro;Script Files"/> 54 <ProjectSessionItem path="smartPro;smartPro;src"/> 55 <ProjectSessionItem path="smartPro;smartPro;System Files_segger"/> 56 <ProjectSessionItem path="smartPro;smartPro;systemfiles_st"/> 37 57 </Project> 38 58 <Register1> … … 40 60 <RegisterWindow invisibleNodes="" visibleNodes="TIM16/TIM16_CR1;TIM16/TIM16_CR2;TIM16/TIM16_DIER;TIM16/TIM16_SR;TIM16/TIM16_EGR;TIM16/TIM16_CCMR1_input;TIM16/TIM16_CCMR1_output;TIM16/TIM16_CCER;TIM16/TIM16_CNT;TIM16/TIM16_PSC;TIM16/TIM16_ARR;TIM16/TIM16_RCR;TIM16/TIM16_CCR1;TIM16/TIM16_BDTR;TIM16/TIM16_DCR;TIM16/TIM16_DMAR;TIM16/TIM16_AF1;TIM16/TIM16_TISEL;TIM17/TIM17_CR1;TIM17/TIM17_CR2;TIM17/TIM17_DIER;TIM17/TIM17_SR;TIM17/TIM17_EGR;TIM17/TIM17_CCMR1_input;TIM17/TIM17_CCMR1_output;TIM17/TIM17_CCER;TIM17/TIM17_CNT;TIM17/TIM17_PSC;TIM17/TIM17_ARR;TIM17/TIM17_RCR;TIM17/TIM17_CCR1;TIM17/TIM17_BDTR;TIM17/TIM17_DCR;TIM17/TIM17_DMAR;TIM17/TIM17_AF1;TIM17/TIM17_TISEL" binaryNodes="" asciiNodes="" openNodes="TIM16/TIM16_SR;TIM16/TIM16_CCER;TIM16/TIM16_CCR1;TIM17" name="PowerPro_Debug" decimalNodes="TIM17/TIM17_ARR;TIM17/TIM17_CCR1" octalNodes="" unsignedNodes="TIM16/TIM16_CNT;TIM16/TIM16_CCR1"/> 41 61 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="PowerPro_Release" decimalNodes="" octalNodes="" unsignedNodes=""/> 62 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/BASEPRI;CPU/FAULTMASK;CPU/CONTROL;CPU/internal;ADC1/ISR;ADC1/IER;ADC1/CR;ADC1/CFGR;ADC1/CFGR2;ADC1/SMPR1;ADC1/SMPR2;ADC1/TR1;ADC1/TR2;ADC1/TR3;ADC1/SQR1;ADC1/SQR2;ADC1/SQR3;ADC1/SQR4;ADC1/DR;ADC1/JSQR;ADC1/OFR1;ADC1/OFR2;ADC1/OFR3;ADC1/OFR4;ADC1/JDR1;ADC1/JDR2;ADC1/JDR3;ADC1/JDR4;ADC1/AWD2CR;ADC1/AWD3CR;ADC1/DIFSEL;ADC1/CALFACT;ADC1/GCOMP;ADC5/ISR;ADC5/IER;ADC5/CR;ADC5/CFGR;ADC5/CFGR2;ADC5/SMPR1;ADC5/SMPR2;ADC5/TR1;ADC5/TR2;ADC5/TR3;ADC5/SQR1;ADC5/SQR2;ADC5/SQR3;ADC5/SQR4;ADC5/DR;ADC5/JSQR;ADC5/OFR1;ADC5/OFR2;ADC5/OFR3;ADC5/OFR4;ADC5/JDR1;ADC5/JDR2;ADC5/JDR3;ADC5/JDR4;ADC5/AWD2CR;ADC5/AWD3CR;ADC5/DIFSEL;ADC5/CALFACT;ADC5/GCOMP" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context;ADC1;ADC1/DR;ADC5;ADC5/CFGR;ADC5/DR" name="smartPro_Debug" decimalNodes="" octalNodes="" unsignedNodes=""/> 63 <RegisterWindow invisibleNodes="" visibleNodes="VREFBUF/VREFBUF_CSR;VREFBUF/VREFBUF_CCR;ADC345_Common/CSR;ADC345_Common/CCR;ADC345_Common/CDR" binaryNodes="" asciiNodes="" openNodes="VREFBUF;VREFBUF/VREFBUF_CSR;VREFBUF/VREFBUF_CCR;ADC345_Common;ADC345_Common/CCR" name="smartPro_Debug125A_12V" decimalNodes="" octalNodes="" unsignedNodes=""/> 42 64 </Register1> 43 65 <Register2> … … 45 67 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="PowerPro_Debug" decimalNodes="" octalNodes="" unsignedNodes=""/> 46 68 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="PowerPro_Release" decimalNodes="" octalNodes="" unsignedNodes=""/> 69 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/BASEPRI;CPU/FAULTMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="smartPro_Debug" decimalNodes="" octalNodes="" unsignedNodes=""/> 70 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/BASEPRI;CPU/FAULTMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="smartPro_Debug125A_12V" decimalNodes="" octalNodes="" unsignedNodes=""/> 47 71 </Register2> 48 72 <Register3> … … 50 74 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="PowerPro_Debug" decimalNodes="" octalNodes="" unsignedNodes=""/> 51 75 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="PowerPro_Release" decimalNodes="" octalNodes="" unsignedNodes=""/> 76 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/BASEPRI;CPU/FAULTMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="smartPro_Debug" decimalNodes="" octalNodes="" unsignedNodes=""/> 77 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/BASEPRI;CPU/FAULTMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="smartPro_Debug125A_12V" decimalNodes="" octalNodes="" unsignedNodes=""/> 52 78 </Register3> 53 79 <Register4> … … 55 81 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="PowerPro_Debug" decimalNodes="" octalNodes="" unsignedNodes=""/> 56 82 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="PowerPro_Release" decimalNodes="" octalNodes="" unsignedNodes=""/> 83 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/BASEPRI;CPU/FAULTMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="smartPro_Debug" decimalNodes="" octalNodes="" unsignedNodes=""/> 84 <RegisterWindow invisibleNodes="" visibleNodes="CPU - Current Context/r0;CPU - Current Context/r1;CPU - Current Context/r2;CPU - Current Context/r3;CPU - Current Context/r4;CPU - Current Context/r5;CPU - Current Context/r6;CPU - Current Context/r7;CPU - Current Context/r8;CPU - Current Context/r9;CPU - Current Context/r10;CPU - Current Context/r11;CPU - Current Context/r12;CPU - Current Context/sp(r13);CPU - Current Context/lr(r14);CPU - Current Context/pc(r15);CPU - Current Context/apsr;CPU/r0;CPU/r1;CPU/r2;CPU/r3;CPU/r4;CPU/r5;CPU/r6;CPU/r7;CPU/r8;CPU/r9;CPU/r10;CPU/r11;CPU/r12;CPU/sp(r13);CPU/lr(r14);CPU/pc(r15);CPU/xpsr;CPU/MSP;CPU/PSP;CPU/PRIMASK;CPU/BASEPRI;CPU/FAULTMASK;CPU/CONTROL;CPU/internal" binaryNodes="" asciiNodes="" openNodes="CPU - Current Context" name="smartPro_Debug125A_12V" decimalNodes="" octalNodes="" unsignedNodes=""/> 57 85 </Register4> 58 86 <Threads> … … 63 91 </TraceWindow> 64 92 <Watch1> 65 <Watches active="1" update="Twice a Second"/> 93 <Watches active="1" update="Twice a Second"> 94 <Watchpoint expression="adc12Data" name="adc12Data" radix="-1" linenumber="72" filename="src/main.c"/> 95 <Watchpoint expression="adc1Data" name="adc1Data" radix="-1" linenumber="220" filename="src/main.c"/> 96 <Watchpoint expression="adc2Data" name="adc2Data" radix="-1" linenumber="82" filename="src/main.c"/> 97 <Watchpoint expression="adc5Data" name="adc5Data" radix="-1" linenumber="209" filename="src/main.c"/> 98 <Watchpoint expression="chiptemperature" name="chiptemperature" radix="-1" linenumber="78" filename="src/chip_temperature.c"/> 99 <Watchpoint expression="data" name="data" radix="-1" linenumber="719" filename="src/eeprom.c"/> 100 <Watchpoint expression="dataToStore" name="dataToStore" radix="-1" linenumber="403" filename="src/eeprom.c"/> 101 <Watchpoint expression="Dout" name="Dout" radix="16" linenumber="1008" filename="src/ads1260.c"/> 102 <Watchpoint expression="huart2" name="huart2" radix="-1" linenumber="28" filename="../Core/Src/usart.c"/> 103 <Watchpoint expression="modbusData" name="modbusData" radix="-1" linenumber="70" filename="src/main.c"/> 104 <Watchpoint expression="replyHeader" name="replyHeader" radix="16" linenumber="947" filename="src/ads1260.c"/> 105 <Watchpoint expression="sys_data" name="sys_data" radix="-1" linenumber="31" filename="src/sysdata.c"/> 106 <Watchpoint expression="uart" name="uart" radix="16" linenumber="191" filename="src/modbus.c"/> 107 </Watches> 66 108 </Watch1> 67 109 <Watch2> … … 74 116 <Watches active="0" update="Never"/> 75 117 </Watch4> 76 <Files/> 77 <EMStudioWindow activeProject="smartPro" fileDialogDefaultFilter="*" autoConnectTarget="J-Link" buildConfiguration="Debug" sessionSettings="" debugSearchFileMap="" fileDialogInitialDirectory="D:/Projekte/ecsSmartPro/trunk/fw_g473rct/SES/src" debugSearchPath="" autoConnectCapabilities="3199"/> 118 <Files> 119 <SessionOpenFile windowGroup="DockEditLeft" x="16" y="48" useTextEdit="1" path="src/main.c" left="0" top="38" codecName="Default"/> 120 <SessionOpenFile windowGroup="DockEditLeft" x="0" y="217" useTextEdit="1" path="../Core/Src/stm32g4xx_it.c" left="0" top="196" codecName="Default"/> 121 <SessionOpenFile windowGroup="DockEditLeft" x="0" y="420" useTextEdit="1" path="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c" left="0" top="393" codecName="Default"/> 122 <SessionOpenFile windowGroup="DockEditLeft" x="0" y="0" useTextEdit="1" path="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_uart_ex.c" left="0" top="0" codecName="Default"/> 123 <SessionOpenFile windowGroup="DockEditLeft" x="161" y="1006" useTextEdit="1" path="src/ads1260.c" left="18" top="987" codecName="Default"/> 124 <SessionOpenFile windowGroup="DockEditLeft" x="0" y="0" useTextEdit="1" path="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_pwr.c" left="0" top="0" codecName="Default"/> 125 <SessionOpenFile windowGroup="DockEditLeft" x="4" y="112" useTextEdit="1" path="../Core/Src/gpio.c" left="0" top="97" codecName="Default"/> 126 <SessionOpenFile windowGroup="DockEditLeft" x="0" y="410" useTextEdit="1" path="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c" left="0" top="364" codecName="Default"/> 127 <SessionOpenFile windowGroup="DockEditLeft" x="57" y="46" useTextEdit="1" path="../Core/Src/spi.c" left="0" top="30" codecName="Default"/> 128 <SessionOpenFile windowGroup="DockEditLeft" x="25" y="40" useTextEdit="1" path="inc/ads1260.h" left="0" top="27" codecName="Default"/> 129 <SessionOpenFile windowGroup="DockEditLeft" x="18" y="797" useTextEdit="1" path="../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_spi.h" left="0" top="784" codecName="Default"/> 130 <SessionOpenFile windowGroup="DockEditLeft" x="9" y="311" useTextEdit="1" path="../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_crc.h" left="0" top="292" codecName="Default"/> 131 <SessionOpenFile windowGroup="DockEditLeft" x="20" y="50" useTextEdit="1" path="../Core/Src/crc.c" left="0" selected="1" top="30" codecName="Default"/> 132 <SessionOpenFile windowGroup="DockEditLeft" x="9" y="338" useTextEdit="1" path="../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_crc.c" left="0" top="319" codecName="Default"/> 133 </Files> 134 <EMStudioWindow activeProject="smartPro" fileDialogDefaultFilter="*" autoConnectTarget="J-Link" buildConfiguration="Debug125A_12V" sessionSettings="" debugSearchFileMap="" fileDialogInitialDirectory="D:/Projekte/ecsSmartPro/trunk/fw_g473rct/Core/Src" debugSearchPath="" autoConnectCapabilities="3711"/> 78 135 </session> -
trunk/fw_g473rct/SES/src/ads1260.c
r20 r25 61 61 62 62 #define DEFAULT_ADS1260_TRANSMIT_TIMEOUT (10) 63 #define DEFAULT_ADS1260_TRANSMIT_RECEIVE_TIMEOUT (10 )63 #define DEFAULT_ADS1260_TRANSMIT_RECEIVE_TIMEOUT (1000) 64 64 #define ADS1260_SELF_OFFSET_CALIBRATION_TIMEOUT (2000) // > 16 * sampletime muss eingestellt werden 65 65 #define ADS1260_SYSTEM_OFFSET_CALIBRATION_TIMEOUT (2000) … … 776 776 777 777 /* 4*/ //while(HAL_GPIO_ReadPin(ADC_DATA_READY_GPIO_Port, ADC_DATA_READY_Pin) == GPIO_PIN_RESET); 778 HAL_NVIC_SetPriority(EXTI2_IRQn, 2, 0);779 HAL_NVIC_EnableIRQ(EXTI2_IRQn);778 //HAL_NVIC_SetPriority(EXTI2_IRQn, 2, 0); 779 //HAL_NVIC_EnableIRQ(EXTI2_IRQn); 780 780 781 781 /* 5*/ ADS_1260_SetExternalReference(&hspi3); … … 1005 1005 //HAL_GPIO_WritePin(ADC_SPI1_NSS_GPIO_Port, ADC_SPI1_NSS_Pin, GPIO_PIN_SET); 1006 1006 1007 if (Dout[0] == replyHeader && Dout[1] == Din[0] && Dout[2] == Din[1] && Dout[3] == Din[2] && Dout[5] == HAL_CRC_Calculate(&hcrc, (uint32_t*)&Dout[4], 1)) 1007 if (Dout[0] == replyHeader && Dout[1] == Din[0] && Dout[2] == Din[1] && Dout[3] == Din[2] && Dout[5] == HAL_CRC_Calculate(&hcrc, (uint32_t*)&Dout[4], 1)) 1008 1008 { 1009 1009 if ((Dout[4] & (1U << MODE3_STATENB)) && (Dout[4] & (1U << MODE3_CRCENB))) -
trunk/fw_g473rct/SES/src/battery_voltage.c
r24 r25 20 20 21 21 22 #define BATTERY_VOLTAGE_VOLTAGE_DIVIDER 6.023 #define ADC_RESOLUTION 32768.0 //65536/2 da im differential mode24 #define ADC_OFFSET 32768.025 22 26 23 // --- LOKALE TYPE DEFS - bitte hier dokumentieren------------------------------- … … 54 51 55 52 //Umrechung auf Eingangsspannung am Gerät mit Teiler 56 sys_data.s.values.batteryVoltage = ((avgVal- ADC_OFFSET) * VREF * BATTERY_VOLTAGE_VOLTAGE_DIVIDER ) /ADC_RESOLUTION;53 sys_data.s.values.batteryVoltage = ((avgVal-BATTERY_VOLTAGE_ADC_OFFSET) * VREF * BATTERY_VOLTAGE_VOLTAGE_DIVIDER ) / BATTERY_VOLTAGE_ADC_RESOLUTION; 57 54 58 55 … … 76 73 //Berechnung schnelle Wert ohne Glättung: 77 74 //Umrechung auf Eingangsspannung am Gerät mit Teiler 78 sys_data.s.values.fast_voltage = ((newVal- ADC_OFFSET) * VREF * BATTERY_VOLTAGE_VOLTAGE_DIVIDER ) /ADC_RESOLUTION;75 sys_data.s.values.fast_voltage = ((newVal-BATTERY_VOLTAGE_ADC_OFFSET) * VREF * BATTERY_VOLTAGE_VOLTAGE_DIVIDER ) / BATTERY_VOLTAGE_ADC_RESOLUTION; 79 76 80 77 -
trunk/fw_g473rct/SES/src/eeprom.c
r20 r25 94 94 int16_t uBatEmptyCompStopTemp; // We stop calculating uBatEmpty compensations when cell temperature is lower than this value 95 95 uint16_t uBatEmptyCompStopVolt; // uBatEmpty Voltage at temperatures lower than lvpCompStopTemp 96 97 96 int16_t extraDischargeStrom_mA; // For example, current that consumes LiPro itself 98 uint32_t dischargeTotalAh;99 uint32_t chargeTotalAh;100 uint32_t dischargeTotalWh; // 154-155 [mAs]101 uint32_t chargeTotalWh; // 156-157 [mAs]102 103 97 uint16_t cefW; 104 uint32_t onTime; 98 105 99 106 100 } eeprom_data_t; 107 101 108 typedef struct 109 { 110 // Schnittstellenparameter 111 uint32_t baudrate; 112 uint16_t parityMode; 113 uint16_t stopBits; 114 uint16_t slave_adress; 115 uint16_t ibn_day; 116 uint16_t ibn_month; 117 uint16_t ibn_year; 118 uint16_t user_id; 119 120 // Offset und Gain 121 int16_t batteryCurrentOffsetRefTemperatureShunt; 122 int16_t batteryCurrentOffsetRefTemperatureChip; 123 int16_t batteryCurrentGainRefTempShunt; 124 int16_t batteryCurrentGainRefTempChip; 125 int16_t batteryCurrentOffsetTemperatureCalibrationTemperature; 126 int16_t batteryCurrentGainTemperatureCalibrationShuntTemperature; 127 int16_t batteryCurrentGainTemperatureCalibrationChipTemperature; 128 int32_t batteryCurrentOffsetRefshuntVoltage; 129 int32_t batteryCurrentOffsetCommonModeCalibrationVoltage; 130 int32_t batteryCurrentOffsetCommonModeCompensationFactor; 131 int32_t batteryCurrentOffsetTemperatureCompensationFactor; 132 int32_t batteryCurrentGainRefCurrent; 133 int32_t batteryCurrentGainTemperatureCompensationShuntFactor; 134 int32_t batteryCurrentGainTemperatureCompensationChipFactor; 135 136 int32_t currentOffset; 137 uint32_t currentGain; 138 139 int64_t mAsCounter; 140 int32_t detectedCapacity; 141 int32_t detectedEnergy; 142 int32_t mAh_AutoMode; 143 int32_t mWh_AutoMode; 144 145 // battery parameter 146 uint16_t cef; 147 uint16_t peukert; 148 uint32_t cellCapacity; 149 uint32_t cellEnergy; 150 uint16_t iBatFull; 151 uint16_t tBatFull; 152 uint16_t uBatFull; 153 uint16_t uBatEmpty; 154 uint8_t socCalcMode; 155 uint16_t cellRatedDischargeTime; 156 157 // Schaltausgänge 158 uint16_t lvpStart; // Spannung ab der die LOW Voltage Protection aktiv wird in mV 159 uint16_t lvpStop; // Spannung ab der die LOW Voltage Protection wieder inaktiv wird 160 uint16_t ovpStart; // Spannung ab der die OVER Voltage Protection aktiv wird in mV 161 uint16_t ovpStop; // Spannung ab der die OVER Voltage Protection wieder inaktiv wird 162 int16_t loadCurrentLimit; // maximaler Laststrom in A wenn der Strom größer ist als der eingestelle Wert dann wird die Laststrom Protection aktiv 163 int16_t chargeCurrentLimit; // maximaler Ladestrom in A wenn der Strom größer ist als der eingestelle Wert dann wird die Ladestrom Protection aktiv 164 int16_t chargeStopHighTemperatureStart; // Abschalttemperatur Ladung wegen zu hoher Temperatur 165 int16_t chargeStopHighTemperatureStop; // Wiedereinschalttemperatur 166 int16_t chargeStopLowTemperatureStart; // Abschalttemperatur Ladung wegen zu niedriger Temperatur 167 int16_t chargeStopLowTemperatureStop; // Wiedereinschalttemperatur 168 int16_t dischargeStopHighTemperatureStart; // Abschalttemperatur Entladung wegen zu hoher Temperatur 169 int16_t dischargeStopHighTemperatureStop; // Wiedereinschalttemperatur 170 int16_t dischargeStopLowTemperatureStart; // Abschalttemperatur EntLadung wegen zu niedriger Temperatur 171 int16_t dischargeStopLowTemperatureStop; // Wiedereinschalttemperatur 172 173 int16_t uBatEmptyCompStartTemp; // We start calculating uBatEmpty compensations only when cell temperature is lower than this value 174 int16_t uBatEmptyCompStopTemp; // We stop calculating uBatEmpty compensations when cell temperature is lower than this value 175 uint16_t uBatEmptyCompStopVolt; // uBatEmpty Voltage at temperatures lower than lvpCompStopTemp 176 177 int16_t extraDischargeStrom_mA; // For example, current that consumes LiPro itself 178 uint32_t dischargeTotalAh; 179 uint32_t chargeTotalAh; 180 uint32_t dischargeTotalWh; // 154-155 [mAs] 181 uint32_t chargeTotalWh; // 156-157 [mAs] 182 183 uint16_t cefW; 184 uint32_t onTime; 185 186 }eeprom_old_data_t; 102 187 103 188 104 // Substitute for #if sizeof(some_type) == sizeof(another_type) functionality … … 248 164 249 165 // muss modulo 8 noch hinzufügen wg 8 byte alignement 250 static uint 64_t eepromData[(SIZE_OF_DATA_TO_STORE / 8) + 1];166 static uint8_t eepromData[SIZE_OF_DATA_TO_STORE]; 251 167 252 168 … … 336 252 337 253 /* extraDischargeStrom_mA */ 7, // mA, current that LiPro consumes itself 338 /* dischargeTotalAh */ 0, // Ah for negative current counter339 /* chargeTotalAh */ 0, // Ah for total charge counter340 /* dischargeTotalWh */ 0,341 /* chargeTotalWh */ 0,342 343 254 /* cefW */ 90, // 90% cef for Wh calculations 344 /* onTime */ 0255 345 256 346 257 }; … … 359 270 startType_t EEPROM_isFirstStart(void) 360 271 { 361 // sizeof eeprom_new_data_t must not be equal to size of eeprom_old_data_t362 BUILD_BUG_ON(sizeof(eeprom_data_t) == sizeof(eeprom_old_data_t));363 272 364 273 uint8_t firstStartCatcher; … … 390 299 { 391 300 eeprom_stored_data_t* dataToStore; 392 uint32_t PageError;393 uint32_t Address;394 uint32_t x;395 396 301 printf("EEPROM FULL RESTORE!\n"); 397 302 … … 458 363 459 364 dataToStore->changedData.extraDischargeStrom_mA = defaultEepromData.extraDischargeStrom_mA; 460 dataToStore->changedData.dischargeTotalAh = defaultEepromData.dischargeTotalAh;461 dataToStore->changedData.chargeTotalAh = defaultEepromData.chargeTotalAh;462 dataToStore->changedData.dischargeTotalWh = defaultEepromData.dischargeTotalWh;463 dataToStore->changedData.chargeTotalWh = defaultEepromData.chargeTotalWh;464 365 dataToStore->changedData.cefW = defaultEepromData.cefW; 465 dataToStore->changedData.onTime = defaultEepromData.onTime; 466 467 dataToStore->changedData.mAsCounter = defaultEepromData.mAsCounter; 468 dataToStore->changedData.detectedCapacity = defaultEepromData.detectedCapacity; 469 dataToStore->changedData.detectedEnergy = defaultEepromData.detectedEnergy; 470 dataToStore->changedData.mAs_AutoMode = defaultEepromData.mAs_AutoMode; 471 dataToStore->changedData.mWs_AutoMode = defaultEepromData.mWs_AutoMode; 472 366 367 368 473 369 // Eeprom Status Infos 474 370 dataToStore->eepromState.writeCounter++; … … 567 463 568 464 dataToStore->changedData.extraDischargeStrom_mA = defaultEepromData.extraDischargeStrom_mA; 569 dataToStore->changedData.dischargeTotalAh = defaultEepromData.dischargeTotalAh;570 dataToStore->changedData.chargeTotalAh = defaultEepromData.chargeTotalAh;571 465 dataToStore->changedData.cefW = defaultEepromData.cefW; 572 dataToStore->changedData.onTime = defaultEepromData.onTime; 573 574 // These fields are new 575 dataToStore->changedData.mAsCounter = defaultEepromData.mAsCounter; 576 dataToStore->changedData.detectedCapacity = defaultEepromData.detectedCapacity; 577 dataToStore->changedData.detectedEnergy = defaultEepromData.detectedEnergy; 578 dataToStore->changedData.mAs_AutoMode = defaultEepromData.mAs_AutoMode; 579 dataToStore->changedData.mWs_AutoMode = defaultEepromData.mWs_AutoMode; 580 dataToStore->changedData.dischargeTotalWh = defaultEepromData.dischargeTotalWh; 581 dataToStore->changedData.chargeTotalWh = defaultEepromData.chargeTotalWh; 582 466 467 468 469 583 470 584 471 dataToStore->eepromState.writeCounter = dataToStore->eepromState.writeCounter++; … … 599 486 { 600 487 eeprom_stored_data_t* dataToStore; 601 uint32_t PageError;602 uint32_t Address;603 uint32_t x;604 488 /****************LESE_WERTE_AUS_SYSDATA*********************/ 605 489 printf("EEPROM STORE CONFIG!\n"); … … 669 553 dataToStore->changedData.uBatEmptyCompStopTemp = data->s.parameter.uBatEmptyCompStopTemp; 670 554 dataToStore->changedData.uBatEmptyCompStopVolt = data->s.parameter.uBatEmptyCompStopVolt; 671 672 555 dataToStore->changedData.extraDischargeStrom_mA = data->s.parameter.extraDischargeStrom_mA; 673 dataToStore->changedData.dischargeTotalAh = data->s.values.dischargeTotalAh;674 dataToStore->changedData.chargeTotalAh = data->s.values.chargeTotalAh;675 dataToStore->changedData.dischargeTotalWh = data->s.values.dischargeTotalWh;676 dataToStore->changedData.chargeTotalWh = data->s.values.chargeTotalWh;677 556 dataToStore->changedData.cefW = data->s.parameter.cefW; 678 dataToStore->changedData.onTime = data->s.values.onTime; 679 680 dataToStore->changedData.mAsCounter = data->s.values.mAsCounter; 681 dataToStore->changedData.detectedCapacity = data->s.values.detectedCapacity; 682 dataToStore->changedData.detectedEnergy = data->s.values.detectedEnergy; 683 dataToStore->changedData.mAs_AutoMode = data->s.values.mAs_AutoMode; 684 dataToStore->changedData.mWs_AutoMode = data->s.values.mWs_AutoMode; 685 557 686 558 // Eeprom Status Infos 687 559 dataToStore->eepromState.writeCounter++; … … 781 653 782 654 data->s.parameter.extraDischargeStrom_mA = dataToStore->changedData.extraDischargeStrom_mA; 655 data->s.parameter.cefW = dataToStore->changedData.cefW; 656 657 658 // Geräteinformation 659 data->s.parameter.sn = dataToStore->deviceInfo.SN; 660 661 // prüfe Eeprom Status Infos 662 //dataToStore->eepromState.writeCounter ++ ; 663 if (dataToStore->eepromState.structureSize != sizeof(eeprom_stored_data_t)) return HAL_ERROR; 664 if (dataToStore->eepromState.revisionInfo != 0) return HAL_ERROR; 665 if (dataToStore->eepromState.firstStartId != CONFIG_ID) return HAL_ERROR; 666 667 668 return HAL_OK; 669 } 670 671 /*Entfernte EEPROM Werte 672 783 673 data->s.values.dischargeTotalAh = dataToStore->changedData.dischargeTotalAh; 784 674 data->s.values.chargeTotalAh = dataToStore->changedData.chargeTotalAh; 785 675 data->s.values.dischargeTotalWh = dataToStore->changedData.dischargeTotalWh; 786 676 data->s.values.chargeTotalWh = dataToStore->changedData.chargeTotalWh; 787 data->s.parameter.cefW = dataToStore ->changedData.cefW;788 677 data->s.values.onTime = dataToStore->changedData.onTime; 789 790 678 data->s.values.mAsCounter = dataToStore->changedData.mAsCounter; 791 679 data->s.values.detectedCapacity = dataToStore->changedData.detectedCapacity; … … 793 681 data->s.values.mAs_AutoMode = dataToStore->changedData.mAs_AutoMode; 794 682 data->s.values.mWs_AutoMode = dataToStore->changedData.mWs_AutoMode; 795 796 // Geräteinformation 797 data->s.parameter.sn = dataToStore->deviceInfo.SN; 798 799 // prüfe Eeprom Status Infos 800 //dataToStore->eepromState.writeCounter ++ ; 801 if (dataToStore->eepromState.structureSize != sizeof(eeprom_stored_data_t)) return HAL_ERROR; 802 if (dataToStore->eepromState.revisionInfo != 0) return HAL_ERROR; 803 if (dataToStore->eepromState.firstStartId != CONFIG_ID) return HAL_ERROR; 804 805 return HAL_OK; 806 } 683 */ 684 807 685 808 686 //--- NEW Functions -
trunk/fw_g473rct/SES/src/esr.c
r20 r25 4 4 #include "esr.h" 5 5 #include <stdlib.h> 6 #include <stdio.h> 6 #include "main.h" 7 #include "battery_voltage.h" 8 #include "fast_current.h" 9 7 10 8 11 9 12 int32_t current_buffer[SAMPLE_ARRAY_SIZE]; 10 13 int32_t voltage_buffer[SAMPLE_ARRAY_SIZE]; 11 int32_t current_buffer_fast[SAMPLE_ARRAY_SIZE]; 12 int32_t voltage_buffer_fast[SAMPLE_ARRAY_SIZE]; 14 //int32_t current_buffer_fast[SAMPLE_ARRAY_SIZE]; 15 //int32_t voltage_buffer_fast[SAMPLE_ARRAY_SIZE]; 16 17 extern uint16_t adc12Data[SAMPLE_ARRAY_SIZE][2]; 13 18 14 19 … … 105 110 for (x=0; x < SAMPLE_ARRAY_SIZE; x++) 106 111 { 107 sys_data.s.values.current_buffer[(SAMPLE_ARRAY_SIZE-1)-x] = current_buffer[x];108 sys_data.s.values.voltage_buffer[(SAMPLE_ARRAY_SIZE-1)-x] = voltage_buffer[x];112 sys_data.s.values.current_buffer[(SAMPLE_ARRAY_SIZE-1)-x] = adc12Data[x][0]; 113 sys_data.s.values.voltage_buffer[(SAMPLE_ARRAY_SIZE-1)-x] = adc12Data[x][1]; 109 114 } 110 115 … … 126 131 sys_data.s.values.esrCalcTime = sys_data.s.values.onTime - last_refresh; 127 132 128 for (x=SAMPLE_ARRAY_SIZE-1; x>0; x--)129 {130 current_buffer_fast[x] = current_buffer_fast[x-1];131 voltage_buffer_fast[x] = voltage_buffer_fast[x-1];132 }133 134 // Neue Werte ins array aufnehmen135 current_buffer_fast[0] = sys_data.s.values.fast_current;136 voltage_buffer_fast[0] = sys_data.s.values.shuntVoltage;137 133 138 134 … … 150 146 for (x=0; x < SAMPLE_ARRAY_SIZE; x++) 151 147 { 152 if (a bs(current_buffer_fast[x]) < minI) { minI = abs(current_buffer_fast[x]); minIPos = x; }153 if (a bs(current_buffer_fast[x]) >= maxI) { maxI = abs(current_buffer_fast[x]); maxdIPos = x; }154 if (a bs(voltage_buffer_fast[x]) < minU) { minU = abs(voltage_buffer_fast[x]); minUPos = x; }155 if (a bs(voltage_buffer_fast[x]) > maxU) { maxU = abs(voltage_buffer_fast[x]); maxUPos = x; }148 if (adc12Data[x][0] < minI) { minI = adc12Data[x][0]; minIPos = x; } 149 if (adc12Data[x][0] >= maxI) { maxI = adc12Data[x][0]; maxdIPos = x; } 150 if (adc12Data[x][1] < minU) { minU = adc12Data[x][1]; minUPos = x; } 151 if (adc12Data[x][1] > maxU) { maxU = adc12Data[x][1]; maxUPos = x; } 156 152 } 157 153 … … 160 156 161 157 //Delta berechnen 162 int32_t dI = abs (maxI - minI); 163 int32_t dU = abs (maxU - minU); 158 int32_t dI = maxI - minI; 159 int32_t dU = maxU - minU; 160 161 //Umrechnung in mV / mA 162 dI = dI * ((int64_t) VREF / FAST_CURRENT_SHUNT_RESISTOR / FAST_CURRENT_I_SENSE_GAIN / FAST_CURRENT_ADC_RESOLUTION); 163 dI = dI * (sys_data.s.parameter.batteryCurrentGainCorrectionFaktor / 1000000.0); 164 165 dU = dU * VREF * BATTERY_VOLTAGE_VOLTAGE_DIVIDER / BATTERY_VOLTAGE_ADC_RESOLUTION ; 166 164 167 165 168 //Minimale Belastung Prüfen ob es genügent Änderungen gab … … 168 171 int32_t min_dI; 169 172 min_dI = sys_data.s.parameter.cellCapacity / sys_data.s.parameter.cellRatedDischargeTime; //Nennlaststrom in mA 170 min_dI = min_dI / 4 ; 171 172 int32_t min_dU = 100; 173 174 if( dI < min_dI) 173 min_dI = min_dI / 10 ; 174 175 176 int32_t min_dU = 10; 177 178 if( abs(dI) < min_dI) 175 179 { 176 180 … … 180 184 //printf("dI change!\r\n"); 181 185 182 if ( dU< min_dU) {186 if (abs(dU) < min_dU) { 183 187 return -2; 184 188 } … … 191 195 int32_t dIMaxPos=-1; 192 196 197 198 199 //Finde Position der flanke 193 200 for (x=0; x < (SAMPLE_ARRAY_SIZE-1); x++) 194 201 { 195 dIx = a bs(current_buffer_fast[x+1] - current_buffer_fast[x]);202 dIx = adc12Data[x+1][0] - adc12Data[x][0]; 196 203 if (dIx > dIMax) { dIMax = dIx; dIMaxPos = x; } 197 204 } 198 205 199 200 201 if (dIMaxPos == SAMPLE_ARRAY_SIZE / 2) 202 { 203 //ESR berechnen! 204 sys_data.s.values.esr_fast = ( (double)dU / (double) dI) * 1000; 205 last_refresh = sys_data.s.values.onTime; 206 207 208 for (x=0; x < SAMPLE_ARRAY_SIZE; x++) 209 { 210 sys_data.s.values.current_buffer_fast[(SAMPLE_ARRAY_SIZE-1)-x] = current_buffer_fast[x]; 211 sys_data.s.values.voltage_buffer_fast[(SAMPLE_ARRAY_SIZE-1)-x] = voltage_buffer_fast[x]; 212 } 213 214 215 216 217 } 206 if ((dIMaxPos < 5 ) || (dIMaxPos > (SAMPLE_ARRAY_SIZE-5) )) 207 { 208 return -3; 209 } 210 211 212 //ESR berechnen! 213 sys_data.s.values.esr_fast = ( (double)dU / (double) dI) * 1000; 214 last_refresh = sys_data.s.values.onTime; 215 216 217 for (x=0; x < SAMPLE_ARRAY_SIZE; x++) 218 { 219 sys_data.s.values.current_buffer_fast[x] = (int32_t) adc12Data[x][0] - FAST_CURRENT_ADC_OFFSET ; 220 sys_data.s.values.voltage_buffer_fast[x] = (int32_t) adc12Data[x][1] - BATTERY_VOLTAGE_ADC_OFFSET ; 221 } 222 223 224 225 226 218 227 return 0; 219 228 } -
trunk/fw_g473rct/SES/src/fast_current.c
r24 r25 17 17 18 18 // --- LOKALE DEFINES - bitte hier dokumentieren -------------------------------- 19 20 #define I_SENSE_GAIN 40.021 #define ADC_OFFSET 3276822 #define ADC_RESOLUTION 32768 //65536/2 da im differential mode23 24 25 #if (DEVICETYPE == 500)26 #define SHUNT_RESISTOR 0.00012527 #elif (DEVICETYPE == 250)28 #define SHUNT_RESISTOR 0.00025029 #elif (DEVICETYPE == 125)30 #define SHUNT_RESISTOR 0.00050031 #else32 #error No valid device type33 #endif34 35 19 36 20 … … 55 39 //Umrechung auf Strom 56 40 double temp_current; 57 temp_current = ((int32_t) newVal - ADC_OFFSET) * VREF ;58 temp_current = temp_current / ADC_RESOLUTION;59 temp_current = temp_current / I_SENSE_GAIN ;60 temp_current = temp_current / SHUNT_RESISTOR ;41 temp_current = ((int32_t) newVal - FAST_CURRENT_ADC_OFFSET) * VREF ; 42 temp_current = temp_current / FAST_CURRENT_ADC_RESOLUTION; 43 temp_current = temp_current / FAST_CURRENT_I_SENSE_GAIN ; 44 temp_current = temp_current / FAST_CURRENT_SHUNT_RESISTOR ; 61 45 sys_data.s.values.fast_current = temp_current * (sys_data.s.parameter.batteryCurrentGainCorrectionFaktor / 1000000.0); 62 46 -
trunk/fw_g473rct/SES/src/main.c
r24 r25 44 44 #include "chip_temperature.h" 45 45 #include "shunt_temperature.h" 46 #include "esr.h" 47 #include "ads1260.h" 48 #include "outputs.h" 49 #include "crc.h" 46 50 /* USER CODE END Includes */ 47 51 … … 139 143 MX_USB_PCD_Init(); 140 144 /* USER CODE BEGIN 2 */ 145 MX_CRC_Init(); //Cube is not generating this call ?! 141 146 printf("Test debug io\r\n"); 142 147 SYS_DATA_Init(); … … 207 212 Error_Handler(); 208 213 } 214 215 216 // ADS1260 Initialierung 217 ADS1260_init(); 218 printf("ADS1260 Init\n"); 219 OUTPUTS_Init(); 209 220 210 221 /* USER CODE END 2 */ … … 249 260 sys_data.s.values.lvp_sense = (adc5Data[3] * VREF * 21 ) / 65536.0; 250 261 } 262 263 264 if (newCurrentValue == 1) 265 { 266 ADS1260_ConversionFinished(); 267 ESR_Exec(); 268 269 newCurrentValue = 0; 270 271 } 251 272 252 273 if(sys_data.s.parameter.command != 0) -
trunk/fw_g473rct/SES/src/sysdata.c
r23 r25 37 37 38 38 39 sys_data.s.parameter.fw_revision_major = 2;40 sys_data.s.parameter.fw_revision_minor = 1;41 sys_data.s.parameter.fw_revision_revision = 5;39 sys_data.s.parameter.fw_revision_major = 1; 40 sys_data.s.parameter.fw_revision_minor = 0; 41 sys_data.s.parameter.fw_revision_revision = 0; 42 42 43 43 sys_data.s.values.batteryCurrentMax = INT32_MIN; … … 53 53 sys_data.s.parameter.test[3] = 5; 54 54 55 sys_data.s.values.message[0] = 'a'; 56 sys_data.s.values.message[1] = 'b'; 57 sys_data.s.values.message[18] = 'y'; 58 sys_data.s.values.message[19] = 'z'; 59 55 60 } -
trunk/fw_g473rct/cmake/stm32cubemx/CMakeLists.txt
r20 r25 27 27 ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/fdcan.c 28 28 ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/i2c.c 29 ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/rtc.c 29 30 ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/spi.c 30 31 ${CMAKE_CURRENT_SOURCE_DIR}/../../Core/Src/usart.c … … 61 62 ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c.c 62 63 ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_i2c_ex.c 64 ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rtc.c 65 ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rtc_ex.c 63 66 ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_spi.c 64 67 ${CMAKE_CURRENT_SOURCE_DIR}/../../Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_spi_ex.c -
trunk/fw_g473rct/fw_g473rct.ioc
r24 r25 106 106 CAD.pinconfig= 107 107 CAD.provider= 108 CRC.CRCLength=CRC_POLYLENGTH_8B 109 CRC.DefaultInitValueUse=DEFAULT_INIT_VALUE_DISABLE 110 CRC.DefaultPolynomialUse=DEFAULT_POLYNOMIAL_DISABLE 111 CRC.IPParameters=DefaultPolynomialUse,DefaultInitValueUse,InitValue,CRCLength 112 CRC.InitValue=0xFF 108 113 Dma.ADC1.0.Direction=DMA_PERIPH_TO_MEMORY 109 114 Dma.ADC1.0.EventEnable=DISABLE … … 256 261 Mcu.IP11=NVIC 257 262 Mcu.IP12=RCC 258 Mcu.IP13=SPI3 259 Mcu.IP14=SYS 260 Mcu.IP15=USART1 261 Mcu.IP16=USART2 262 Mcu.IP17=USB 263 Mcu.IP13=RTC 264 Mcu.IP14=SPI3 265 Mcu.IP15=SYS 266 Mcu.IP16=USART1 267 Mcu.IP17=USART2 268 Mcu.IP18=USB 263 269 Mcu.IP2=ADC3 264 270 Mcu.IP3=ADC4 … … 269 275 Mcu.IP8=FDCAN3 270 276 Mcu.IP9=I2C3 271 Mcu.IPNb=1 8277 Mcu.IPNb=19 272 278 Mcu.Name=STM32G473R(B-C-E)Tx 273 279 Mcu.Package=LQFP64 … … 318 324 Mcu.Pin49=VP_CRC_VS_CRC 319 325 Mcu.Pin5=PC0 320 Mcu.Pin50=VP_SYS_V_VREFBUF 321 Mcu.Pin51=VP_SYS_VS_Systick 322 Mcu.Pin52=VP_SYS_VS_DBSignals 326 Mcu.Pin50=VP_RTC_VS_RTC_Activate 327 Mcu.Pin51=VP_SYS_V_VREFBUF 328 Mcu.Pin52=VP_SYS_VS_Systick 329 Mcu.Pin53=VP_SYS_VS_DBSignals 323 330 Mcu.Pin6=PC1 324 331 Mcu.Pin7=PA0 325 332 Mcu.Pin8=PA1 326 333 Mcu.Pin9=PA2 327 Mcu.PinsNb=5 3334 Mcu.PinsNb=54 328 335 Mcu.ThirdPartyNb=0 329 336 Mcu.UserConstants= … … 340 347 NVIC.DMA1_Channel7_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true 341 348 NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 349 NVIC.EXTI2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true 342 350 NVIC.ForceEnableDMAVector=true 343 351 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false … … 380 388 PA3.Signal=USART2_RX 381 389 PA4.GPIOParameters=GPIO_Label 382 PA4.GPIO_Label=LED_FUNC 390 PA4.GPIO_Label=LED_FUNCTION 383 391 PA4.Locked=true 384 392 PA4.Signal=GPIO_Output … … 467 475 PC12.Signal=SPI3_MOSI 468 476 PC13.GPIOParameters=GPIO_Label 469 PC13.GPIO_Label=AUX_EN ABLE477 PC13.GPIO_Label=AUX_EN 470 478 PC13.Locked=true 471 479 PC13.Signal=GPIO_Output … … 486 494 PC9.Mode=I2C 487 495 PC9.Signal=I2C3_SDA 488 PD2.GPIOParameters=GPIO_Label 496 PD2.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI 489 497 PD2.GPIO_Label=ADC_DATA_READY 498 PD2.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING 490 499 PD2.Locked=true 491 500 PD2.Signal=GPXTI2 … … 553 562 RCC.I2C4Freq_Value=100000000 554 563 RCC.I2SFreq_Value=100000000 555 RCC.IPParameters=ADC12CLockSelection,ADC12Freq_Value,ADC345CLockSelection,ADC345Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CK48CLockSelection,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HRTIM1Freq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLM,PLLN,PLLP,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSourceVirtual,PWRFreq_Value,QSPIFreq_Value,RNGFreq_Value, SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value564 RCC.IPParameters=ADC12CLockSelection,ADC12Freq_Value,ADC345CLockSelection,ADC345Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CK48CLockSelection,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HRTIM1Freq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLM,PLLN,PLLP,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSourceVirtual,PWRFreq_Value,QSPIFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value 556 565 RCC.LPTIM1Freq_Value=100000000 557 566 RCC.LPUART1Freq_Value=100000000 … … 569 578 RCC.QSPIFreq_Value=100000000 570 579 RCC.RNGFreq_Value=48000000 580 RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE 581 RCC.RTCFreq_Value=32768 571 582 RCC.SAI1Freq_Value=100000000 572 583 RCC.SYSCLKFreq_VALUE=100000000 … … 582 593 SH.GPXTI2.0=GPIO_EXTI2 583 594 SH.GPXTI2.ConfNb=1 584 SPI3.CalculateBaudRate=50.0 MBits/s 595 SPI3.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_8 596 SPI3.CLKPhase=SPI_PHASE_2EDGE 597 SPI3.CalculateBaudRate=12.5 MBits/s 598 SPI3.DataSize=SPI_DATASIZE_8BIT 585 599 SPI3.Direction=SPI_DIRECTION_2LINES 586 SPI3.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,VirtualNSS 600 SPI3.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,VirtualNSS,DataSize,CLKPhase,BaudRatePrescaler 587 601 SPI3.Mode=SPI_MODE_MASTER 588 602 SPI3.VirtualNSS=VM_NSSHARD … … 604 618 VP_CRC_VS_CRC.Mode=CRC_Activate 605 619 VP_CRC_VS_CRC.Signal=CRC_VS_CRC 620 VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled 621 VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate 606 622 VP_SYS_VS_DBSignals.Mode=DisableDeadBatterySignals 607 623 VP_SYS_VS_DBSignals.Signal=SYS_VS_DBSignals
Note: See TracChangeset
for help on using the changeset viewer.
