Basic MPU9250 / ICM20948 Questions

By mdurian , 8 May 2017

I'm in the process of selecting a 9-axis MEMS device for our product. An important part of that decision depends on the software support that goes with the device. I'm trying to wrap my head around the MPU9250 and ICM20948 support.

I might have this wrong, but it looks like the Motion Driver 6.12 is used with the MPU9250 and the eMD 1.0 is used with the ICM20948 - with the caveat that the eMD only supports the microcontroller used on the Nucleo development board. Since I'm using an STM32L4 microcontroller, I think the eMD option is available to me.

The Motion Driver contains binary MPL libraries for different processor types, but I don't see any binary libraries included with the eMD option. Is that because all the computation in the MD 6.12 MPL library is now done directly on the ICM20948 without the need for microcontroller support?

In my application, I'd like to be able to use fusion 9-axis output to get accurate compass heading readings (among other things). How is that done using both packages? My best guess is that I can call inv_get_sensor_type_heading() when using MD 6.12. That same function also gives me the accuracy of the reading. I'm not sure what the eMD equivalent is. Perhaps I need to catch Sensor or VSensor event and use the data in the event?

If someone could help me with these questions, it might get me over the hump in terms of understanding what's going on.

Thanks,
mike

phpbb Topic ID
36348