# DMP-ICM20948 ```c // app.cpp void app() { DMP_ICM20948 icm; DMP_ICM20948Settings icmSettings = { .mode = 1, // 0 = low power mode, 1 = high performance mode .enable_gyroscope = false, // Enables gyroscope output .enable_accelerometer = false, // Enables accelerometer output .enable_magnetometer = false, // Enables magnetometer output // Enables quaternion output .enable_gravity = false, // Enables gravity vector output .enable_linearAcceleration = false, // Enables linear acceleration output .enable_quaternion6 = true, // Enables quaternion 6DOF output .enable_quaternion9 = false, // Enables quaternion 9DOF output .enable_har = false, // Enables activity recognition .enable_steps = false, // Enables step counter .gyroscope_frequency = 1, // Max frequency = 225, min frequency = 1 .accelerometer_frequency = 1, // Max frequency = 225, min frequency = 1 .magnetometer_frequency = 1, // Max frequency = 70, min frequency = 1 .gravity_frequency = 1, // Max frequency = 225, min frequency = 1 .linearAcceleration_frequency = 1, // Max frequency = 225, min frequency = 1 .quaternion6_frequency = 50, // Max frequency = 225, min frequency = 50 .quaternion9_frequency = 50, // Max frequency = 225, min frequency = 50 .har_frequency = 50, // Max frequency = 225, min frequency = 50 .steps_frequency = 50 // Max frequency = 225, min frequency = 50 }; icm.init(icmSettings); while(1){ icm.task(); //run_icm20948_accel_controller(); //run_icm20948_gyro_controller(); //run_icm20948_mag_controller(); //run_icm20948_linearAccel_controller(); //run_icm20948_grav_controller(); run_icm20948_quat6_controller(&icm, true); //run_icm20948_quat9_controller(true); //run_icm20948_har_controller(); //run_icm20948_steps_controller(); //HAL_UART_Transmit(&huart2, (const uint8_t*)sensor_string_buff, 5, 1000); HAL_Delay(100); } } ```