Index: ctrl/firmware/Main/CubeMX/charger.ioc
===================================================================
--- ctrl/firmware/Main/CubeMX/charger.ioc	(revision 81)
+++ ctrl/firmware/Main/CubeMX/charger.ioc	(revision 82)
@@ -3,8 +3,13 @@
 CAD.pinconfig=Dual
 CAD.provider=
+CORTEX_M7.AccessPermission_S-Cortex_Memory_Protection_Unit_Region1_Settings_S=MPU_REGION_FULL_ACCESS
+CORTEX_M7.BaseAddress_S-Cortex_Memory_Protection_Unit_Region1_Settings_S=0x24000000
 CORTEX_M7.CPU_DCache=Enabled
 CORTEX_M7.CPU_ICache=Enabled
-CORTEX_M7.Enable_S-Cortex_Memory_Protection_Unit_Region1_Settings_S=__NULL
-CORTEX_M7.IPParameters=default_mode_Activation,CPU_ICache,CPU_DCache,Enable_S-Cortex_Memory_Protection_Unit_Region1_Settings_S
+CORTEX_M7.DisableExec_S-Cortex_Memory_Protection_Unit_Region1_Settings_S=MPU_INSTRUCTION_ACCESS_DISABLE
+CORTEX_M7.Enable_S-Cortex_Memory_Protection_Unit_Region1_Settings_S=MPU_REGION_ENABLE
+CORTEX_M7.IPParameters=default_mode_Activation,CPU_ICache,CPU_DCache,Enable_S-Cortex_Memory_Protection_Unit_Region1_Settings_S,BaseAddress_S-Cortex_Memory_Protection_Unit_Region1_Settings_S,Size_S-Cortex_Memory_Protection_Unit_Region1_Settings_S,TypeExtField_S-Cortex_Memory_Protection_Unit_Region1_Settings_S,AccessPermission_S-Cortex_Memory_Protection_Unit_Region1_Settings_S,DisableExec_S-Cortex_Memory_Protection_Unit_Region1_Settings_S
+CORTEX_M7.Size_S-Cortex_Memory_Protection_Unit_Region1_Settings_S=MPU_REGION_SIZE_128KB
+CORTEX_M7.TypeExtField_S-Cortex_Memory_Protection_Unit_Region1_Settings_S=MPU_TEX_LEVEL1
 CORTEX_M7.default_mode_Activation=1
 Dma.Request0=SPI4_TX
@@ -105,9 +110,10 @@
 Dma.USART3_TX.2.SyncSignalID=NONE
 FATFS.BSP.number=1
-FATFS.IPParameters=_USE_FIND,_USE_EXPAND,_USE_LABEL,_USE_LFN,_LFN_UNICODE,_MULTI_PARTITION,_FS_EXFAT,_USE_MUTEX,_FS_REENTRANT,_FS_NORTC,_NORTC_YEAR,_NORTC_MDAY,_NORTC_MON,_STRF_ENCODE,_USE_STRFUNC
+FATFS.IPParameters=_USE_FIND,_USE_EXPAND,_USE_LABEL,_USE_LFN,_LFN_UNICODE,_MULTI_PARTITION,_FS_EXFAT,_USE_MUTEX,_FS_REENTRANT,_FS_NORTC,_NORTC_YEAR,_NORTC_MDAY,_NORTC_MON,_STRF_ENCODE,_USE_STRFUNC,_MAX_SS
 FATFS._FS_EXFAT=0
 FATFS._FS_NORTC=0
 FATFS._FS_REENTRANT=1
 FATFS._LFN_UNICODE=0
+FATFS._MAX_SS=512
 FATFS._MULTI_PARTITION=0
 FATFS._NORTC_MDAY=1
@@ -204,21 +210,22 @@
 Mcu.IP0=CORTEX_M7
 Mcu.IP1=DEBUG
-Mcu.IP10=SPI2
-Mcu.IP11=SPI4
-Mcu.IP12=SYS
-Mcu.IP13=TIM3
-Mcu.IP14=TIM8
-Mcu.IP15=USART2
-Mcu.IP16=USART3
-Mcu.IP17=USART10
+Mcu.IP10=SDMMC1
+Mcu.IP11=SPI2
+Mcu.IP12=SPI4
+Mcu.IP13=SYS
+Mcu.IP14=TIM3
+Mcu.IP15=TIM8
+Mcu.IP16=USART2
+Mcu.IP17=USART3
+Mcu.IP18=USART10
 Mcu.IP2=DMA
 Mcu.IP3=FATFS
 Mcu.IP4=FREERTOS
-Mcu.IP5=MEMORYMAP
-Mcu.IP6=NVIC
-Mcu.IP7=RCC
-Mcu.IP8=RTC
-Mcu.IP9=SDMMC1
-Mcu.IPNb=18
+Mcu.IP5=MDMA
+Mcu.IP6=MEMORYMAP
+Mcu.IP7=NVIC
+Mcu.IP8=RCC
+Mcu.IP9=RTC
+Mcu.IPNb=19
 Mcu.Name=STM32H723ZETx
 Mcu.Package=LQFP144
@@ -288,4 +295,31 @@
 Mcu.UserConstants=
 Mcu.UserName=STM32H723ZETx
+Mdma.MDMA_Channel0.Request0=SDMMC1_END_DATA
+Mdma.MDMA_Channel0.RequestsNb=1
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.BlockCount=4
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.BlockDataLength=512
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.BufferTransferLength=2048
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.CircularMode=MDMA_LINEAR_LIST
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.DataAlignment=MDMA_DATAALIGN_PACKENABLE
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.DestBlockAddressOffset=0
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.DestBurst=MDMA_DEST_BURST_4BEATS
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.DestDataSize=MDMA_DEST_DATASIZE_WORD
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.DestinationInc=MDMA_DEST_INC_WORD
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.DstAddress=0
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.Endianness=MDMA_LITTLE_ENDIANNESS_PRESERVE
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.Instance=MDMA_Channel0
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.MaskAddress=0
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.MaskData=0
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.Priority=MDMA_PRIORITY_HIGH
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.Rank=First
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.RequestParameters=Instance,CircularMode,TransferTriggerMode,Priority,Endianness,SourceInc,DestinationInc,SourceDataSize,DestDataSize,DataAlignment,BufferTransferLength,SourceBurst,DestBurst,SourceBlockAddressOffset,DestBlockAddressOffset,MaskAddress,MaskData,SrcAddress,DstAddress,BlockDataLength,BlockCount,Rank
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.SourceBlockAddressOffset=0
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.SourceBurst=MDMA_SOURCE_BURST_4BEATS
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.SourceDataSize=MDMA_SRC_DATASIZE_WORD
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.SourceInc=MDMA_SRC_INC_WORD
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.SrcAddress=0
+Mdma.MDMA_Channel0.SDMMC1_END_DATA.0.TransferTriggerMode=MDMA_BUFFER_TRANSFER
+Mdma.RequestSet0=MDMA_Channel0
+Mdma.RequestSetsNb=1
 MxCube.Version=6.13.0
 MxDb.Version=DB.6.0.130
@@ -300,4 +334,5 @@
 NVIC.ForceEnableDMAVector=true
 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
+NVIC.MDMA_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
 NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
 NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
@@ -544,5 +579,5 @@
 ProjectManager.UAScriptBeforePath=
 ProjectManager.UnderRoot=true
-ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-MX_RTC_Init-RTC-false-HAL-true,4-MX_SPI4_Init-SPI4-false-HAL-true,5-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,6-MX_USART3_UART_Init-USART3-false-HAL-true,7-MX_TIM3_Init-TIM3-false-HAL-true,8-SystemClock_Config-RCC-false-HAL-false,9-MX_FATFS_Init-FATFS-false-HAL-false,10-MX_TIM8_Init-TIM8-false-HAL-true,11-MX_SPI2_Init-SPI2-false-HAL-true,12-MX_USART2_UART_Init-USART2-false-HAL-true,13-MX_USART10_UART_Init-USART10-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-MX_MDMA_Init-MDMA-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-MX_SPI4_Init-SPI4-false-HAL-true,6-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,7-MX_USART3_UART_Init-USART3-false-HAL-true,8-MX_TIM3_Init-TIM3-false-HAL-true,9-SystemClock_Config-RCC-false-HAL-false,10-MX_FATFS_Init-FATFS-false-HAL-false,11-MX_TIM8_Init-TIM8-false-HAL-true,12-MX_SPI2_Init-SPI2-false-HAL-true,13-MX_USART2_UART_Init-USART2-false-HAL-true,14-MX_USART10_UART_Init-USART10-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
 RCC.ADCFreq_Value=125000000
 RCC.AHB12Freq_Value=100000000
