Fixed DMA and INT bugs

- Fixed indexed task notifications for INT and DMAf for both sensors
- Fixed the INT debugger startup freeze (added != NULL check in
callbacks)
- Fixed DMA notifications not being read properly/too early
- Changed IMU INT configure/enable function as one
- Added proper DMA checking in IMU calibration
This commit is contained in:
pima committed 2026-10-03 17:42:33 +02:00
1 parent 5daac77a37
commit 1409bad40b
67 files changed
+52921 -51367

No files matched your search

+22 -7
View File
@@ -76,15 +76,18 @@ Dma.SPI1_TX.0.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
Dma.SPI1_TX.0.SyncRequestNumber=1
Dma.SPI1_TX.0.SyncSignalID=NONE
FREERTOS.FootprintOK=true
FREERTOS.IPParameters=Tasks01,configMINIMAL_STACK_SIZE,FootprintOK,configTOTAL_HEAP_SIZE,Queues01
FREERTOS.IPParameters=Tasks01,configMINIMAL_STACK_SIZE,FootprintOK,configTOTAL_HEAP_SIZE,Queues01,configCHECK_FOR_STACK_OVERFLOW,configUSE_NEWLIB_REENTRANT
FREERTOS.Queues01=Q_ICM,1,ICM45686_Data,0,Dynamic,NULL,NULL;Q_BMM,1,struct bmm350_mag_temp_data,0,Dynamic,NULL,NULL
FREERTOS.Tasks01=Task_DataAnalys,24,512,Start_DataAnalysis,Default,NULL,Dynamic,NULL,NULL;Task_ICM45686,24,512,Start_ICM45686,Default,NULL,Dynamic,NULL,NULL;Task_BMM350,24,512,Start_BMM350,Default,NULL,Dynamic,NULL,NULL
FREERTOS.configCHECK_FOR_STACK_OVERFLOW=2
FREERTOS.configMINIMAL_STACK_SIZE=512
FREERTOS.configTOTAL_HEAP_SIZE=64000
FREERTOS.configUSE_NEWLIB_REENTRANT=1
File.Version=6
GPIO.groupedBy=Group By Peripherals
I2C1.IPParameters=Timing
I2C1.Timing=0x10B17DB5
I2C1.I2C_Speed_Mode=I2C_Fast
I2C1.IPParameters=Timing,I2C_Speed_Mode
I2C1.Timing=0x00C12166
KeepUserPlacement=false
MMTAppReg1.MEMORYMAP.AppRegionName=RAM
MMTAppReg1.MEMORYMAP.ContextName=Cortex-M4NS
@@ -229,12 +232,17 @@ PA1.GPIOParameters=GPIO_Label
PA1.GPIO_Label=GPIO_STATUS_LED
PA1.Locked=true
PA1.Signal=S_TIM2_CH2
PA10.GPIOParameters=GPIO_Label
PA10.GPIOParameters=GPIO_PuPd,GPIO_Label
PA10.GPIO_Label=GPIO_IMU_INT
PA10.GPIO_PuPd=GPIO_NOPULL
PA10.Locked=true
PA10.Signal=GPXTI10
PA11.GPIOParameters=GPIO_Speed
PA11.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA11.Mode=Device
PA11.Signal=USB_DM
PA12.GPIOParameters=GPIO_Speed
PA12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA12.Mode=Device
PA12.Signal=USB_DP
PA13.Mode=Trace_Asynchronous_SW
@@ -272,8 +280,14 @@ PA9.Mode=Full_Duplex_Master
PA9.Signal=SPI2_SCK
PB3.Mode=Trace_Asynchronous_SW
PB3.Signal=SYS_JTDO-SWO
PB8.GPIOParameters=GPIO_Speed,GPIO_FM8
PB8.GPIO_FM8=SYSCFG_FASTMODEPLUS_PB8
PB8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB8.Mode=I2C
PB8.Signal=I2C1_SCL
PB9.GPIOParameters=GPIO_Speed,GPIO_FM9
PB9.GPIO_FM9=SYSCFG_FASTMODEPLUS_PB9
PB9.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PB9.Mode=I2C
PB9.Signal=I2C1_SDA
PC1.GPIOParameters=GPIO_Speed,GPIO_Label
@@ -425,10 +439,10 @@ SH.S_TIM2_CH2.0=TIM2_CH2,PWM Generation2 CH2
SH.S_TIM2_CH2.ConfNb=1
SH.S_TIM2_CH3.0=TIM2_CH3,PWM Generation3 CH3
SH.S_TIM2_CH3.ConfNb=1
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_64
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_16
SPI1.CLKPhase=SPI_PHASE_2EDGE
SPI1.CLKPolarity=SPI_POLARITY_HIGH
SPI1.CalculateBaudRate=1000.0 KBits/s
SPI1.CalculateBaudRate=4.0 MBits/s
SPI1.DataSize=SPI_DATASIZE_8BIT
SPI1.Direction=SPI_DIRECTION_2LINES
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize,BaudRatePrescaler,CLKPhase,CLKPolarity
@@ -441,7 +455,8 @@ SPI2.Mode=SPI_MODE_MASTER
SPI2.VirtualType=VM_MASTER
STM32_WPAN.BT_SIG_HEART_RATE_SENSOR=Disabled
STM32_WPAN.CFG_BONDING_MODE=0
STM32_WPAN.IPParameters=BT_SIG_HEART_RATE_SENSOR,CFG_BONDING_MODE
STM32_WPAN.CFG_LSCLK_LSE=0
STM32_WPAN.IPParameters=BT_SIG_HEART_RATE_SENSOR,CFG_BONDING_MODE,CFG_LSCLK_LSE
TIM2.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
TIM2.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
TIM2.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3