
# ICM 20948 driver for STM32

```c

#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();
  }
}

```
