Index: ctrl/firmware/Main/CubeMX/charger.ioc
===================================================================
--- ctrl/firmware/Main/CubeMX/charger.ioc	(revision 87)
+++ ctrl/firmware/Main/CubeMX/charger.ioc	(revision 88)
@@ -210,23 +210,24 @@
 Mcu.IP0=CORTEX_M7
 Mcu.IP1=DEBUG
-Mcu.IP10=SDMMC1
-Mcu.IP11=SPI2
-Mcu.IP12=SPI4
-Mcu.IP13=SYS
-Mcu.IP14=TIM3
-Mcu.IP15=TIM6
-Mcu.IP16=TIM8
-Mcu.IP17=USART2
-Mcu.IP18=USART3
-Mcu.IP19=USART10
+Mcu.IP10=RTC
+Mcu.IP11=SDMMC1
+Mcu.IP12=SPI2
+Mcu.IP13=SPI4
+Mcu.IP14=SYS
+Mcu.IP15=TIM3
+Mcu.IP16=TIM6
+Mcu.IP17=TIM8
+Mcu.IP18=USART2
+Mcu.IP19=USART3
 Mcu.IP2=DMA
+Mcu.IP20=USART10
 Mcu.IP3=FATFS
 Mcu.IP4=FREERTOS
-Mcu.IP5=MDMA
-Mcu.IP6=MEMORYMAP
-Mcu.IP7=NVIC
-Mcu.IP8=RCC
-Mcu.IP9=RTC
-Mcu.IPNb=20
+Mcu.IP5=I2C1
+Mcu.IP6=MDMA
+Mcu.IP7=MEMORYMAP
+Mcu.IP8=NVIC
+Mcu.IP9=RCC
+Mcu.IPNb=21
 Mcu.Name=STM32H723ZETx
 Mcu.Package=LQFP144
@@ -277,21 +278,23 @@
 Mcu.Pin49=PB4(NJTRST)
 Mcu.Pin5=PH0-OSC_IN
-Mcu.Pin50=PB8
-Mcu.Pin51=PB9
-Mcu.Pin52=VP_FATFS_VS_SDIO
-Mcu.Pin53=VP_FREERTOS_VS_CMSIS_V2
-Mcu.Pin54=VP_RTC_VS_RTC_Activate
-Mcu.Pin55=VP_RTC_VS_RTC_Calendar
-Mcu.Pin56=VP_SYS_VS_tim7
-Mcu.Pin57=VP_TIM3_VS_ClockSourceINT
-Mcu.Pin58=VP_TIM6_VS_ClockSourceINT
-Mcu.Pin59=VP_TIM8_VS_ControllerModeReset
+Mcu.Pin50=PB6
+Mcu.Pin51=PB7
+Mcu.Pin52=PB8
+Mcu.Pin53=PB9
+Mcu.Pin54=VP_FATFS_VS_SDIO
+Mcu.Pin55=VP_FREERTOS_VS_CMSIS_V2
+Mcu.Pin56=VP_RTC_VS_RTC_Activate
+Mcu.Pin57=VP_RTC_VS_RTC_Calendar
+Mcu.Pin58=VP_SYS_VS_tim7
+Mcu.Pin59=VP_TIM3_VS_ClockSourceINT
 Mcu.Pin6=PH1-OSC_OUT
-Mcu.Pin60=VP_TIM8_VS_ClockSourceINT
-Mcu.Pin61=VP_MEMORYMAP_VS_MEMORYMAP
+Mcu.Pin60=VP_TIM6_VS_ClockSourceINT
+Mcu.Pin61=VP_TIM8_VS_ControllerModeReset
+Mcu.Pin62=VP_TIM8_VS_ClockSourceINT
+Mcu.Pin63=VP_MEMORYMAP_VS_MEMORYMAP
 Mcu.Pin7=PF15
 Mcu.Pin8=PG0
 Mcu.Pin9=PG1
-Mcu.PinsNb=62
+Mcu.PinsNb=64
 Mcu.ThirdParty0=STMicroelectronics.X-CUBE-AZRTOS-H7.3.3.0
 Mcu.ThirdPartyNb=1
@@ -395,4 +398,14 @@
 PB4(NJTRST).PinState=GPIO_PIN_SET
 PB4(NJTRST).Signal=GPIO_Output
+PB6.GPIOParameters=GPIO_Label
+PB6.GPIO_Label=BME_I2C_SCL
+PB6.Locked=true
+PB6.Mode=I2C
+PB6.Signal=I2C1_SCL
+PB7.GPIOParameters=GPIO_Label
+PB7.GPIO_Label=BME_I2C_SDA
+PB7.Locked=true
+PB7.Mode=I2C
+PB7.Signal=I2C1_SDA
 PB8.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI
 PB8.GPIO_Label=ETH_SPI_INT
@@ -620,5 +633,6 @@
 RCC.DIVR2=10
 RCC.DIVR2Freq_Value=25000000
-RCC.DIVR3Freq_Value=100000000
+RCC.DIVR3=4
+RCC.DIVR3Freq_Value=50000000
 RCC.FDCANFreq_Value=100000000
 RCC.FMCFreq_Value=100000000
@@ -626,12 +640,13 @@
 RCC.HCLK3ClockFreq_Value=100000000
 RCC.HCLKFreq_Value=100000000
-RCC.I2C123Freq_Value=100000000
+RCC.I2C123CLockSelection=RCC_I2C1235CLKSOURCE_HSI
+RCC.I2C123Freq_Value=64000000
 RCC.I2C4Freq_Value=100000000
-RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2,DIVR2Freq_Value,DIVR3Freq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL2_VCI_Range-AdvancedSettings,PLLFRACN,PLLSourceVirtual,QSPIFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Spi45ClockSelection,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16CLockSelection,USART16Freq_Value,USART234578CLockSelection,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
+RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2,DIVR2Freq_Value,DIVR3,DIVR3Freq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,I2C123CLockSelection,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL2_VCI_Range-AdvancedSettings,PLLFRACN,PLLSourceVirtual,QSPIFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123CLockSelection,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Spi45ClockSelection,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16CLockSelection,USART16Freq_Value,USART234578CLockSelection,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
 RCC.LPTIM1Freq_Value=100000000
 RCC.LPTIM2Freq_Value=100000000
 RCC.LPTIM345Freq_Value=100000000
 RCC.LPUART1Freq_Value=100000000
-RCC.LTDCFreq_Value=100000000
+RCC.LTDCFreq_Value=50000000
 RCC.MCO1PinFreq_Value=64000000
 RCC.MCO2PinFreq_Value=100000000
