ICM 20948 driver for STM32
#include "icm20948.h"
Device_TypeDef *module;
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == ICM_INT_Pin){
module->Read();
}
}
int main(void)
{
// HAL_Init, etc...
axises *my_gyro2 = NULL;
axises *my_accel2 = NULL;
module = &icmModule;
McuPin_typeDef pinCS; // CS for SPI
McuPin_typeDef pinINT; // INT pin from ICM
pinCS.port = SPI2_CS_GPIO_Port;
pinCS.pin = SPI2_CS_Pin;
pinINT.port = ICM_INT_GPIO_Port;
pinINT.pin = ICM_INT_Pin;
// initialization of module
module->Init(&hspi2, &pinCS, &pinINT);
while (1)
{
my_accel2 = module->acc->Get();
my_gyro2 = module->gyro->Get();
}
}