We are currently manufacturing a vehicle orientation and position module that has been in production about 2 years. It currently uses a BNO-055 and as part of the redesign we would like to migrate to the ICM-20948.
We are using a PIC18F16Q40 for this release and everything is in C99. I have downloaded and carefully reviewed everything that I thought could be relevant from Invensense website. I've also gone through a great deal of files and examples from github and surfed the internet extensively.
I have a number of questions but mostly need documentation and some data. I am currently focused on getting the sensor up and running so I'm focused on loading and starting the DMP. Basic functionality is verified working, including the AKM compass.
Question 1)
I found a pdf file,
"Application Note
Programming Sequence for ICM-20648
DMP Hardware Function."
Document Number: AN-MAPPS-x.x.x
Revision: 0.1
Release Date: 07/31/2015
The Application Note says:
"3.6.3
Load Firmware Start Value and start DMP
Please perform the following once the DMP firmware has been loaded.
Write the 2 byte Firmware Start Value to ICM PRGM_STRT_ADDRH/PRGM_STRT_ADDRL
The Firmware Start Value is provided by InvenSense. If you do not have this value, please contact
your field representative."
I never saw any examples of this being done in any of the examples I've reviewed. What should I write or is this unnecessary?
Question 2)
The code example I am using as a guide is eMD-SmartMotion-ICM20948-1.1.0-MP although I have looked extensively at motion_driver_6.12. I have compared the ICM20948_img.dmp3a.h (and a few minor name variations of the dmp code) files from multiple sources including all of yours. Since no two of them match what am I supposed to use? I have seen more that one file with exactly that same name with different contents so I'm extremely concerned and must get clarification. ICM20948_img.dmp3a.h from eMD-SmartMotion-ICM20948-1.1.0-MP is 14301 bytes.
So to be concise here are the specifics things I need to resolve as quickly as possible.
1) Current Application Note for Programming the ICM20948 including updated DMP documentation.
2) DMP image. Point me to or better yet attach a current image.
3) If there is some kind of key required I need to get one. Please tell me how/where to get this resolved.
I've summited the same request to support but nothing so far as I'm sure the one person who is assigned to check it (when they get time) is overwhelmed.
Thank you for your kind assistance and help.
Mike