After weeks of struggling I finally got some data from the ICM-20602 6 axis MEMS IMU chip.
The documentation is full of errors and missing or misleading information.
Last night's discovery was to read the description of a un-named reserved register bit that said you had to set it to 1 to make the FIFO work properly. When the name was reserved, I did not bother to read the description as they normally just say "Don't touch me". Should that not have been a non-reserved bit with a nice name like "MakeItWork"?
Using that and a few educated guesses, I am getting accelerometer and gyro data via the FIFO interrupt system. Still troubled by the lack of details on the low pass filter and the slower than expected data rates. Hope to fix those soon. Then I will start to run tests on this beast including long term drift, offset, Allen Deviation, and vibration and temperature susceptibility testing.
Now this chip is already a generation old, so yesterday I ordered a batch of their new ICM-42688 part. This chip has better performance specs, but it is also significantly more complex. There are so many registers, they ran out of available 8 bit addresses space and went to a banked system to access them all. It is also new enough they have no code posted and nothing I could find using uncle Google. Wish me luck.
--
-Skye Sweeney