I'm using the ICM_20649 and I'm trying to get it to interrupt using Wake On Motion (WoM).
I'm running my software on an ARM Beaglebone Black with a version of Debian installed. I've connected my ICM device via I2C.
I want it to interrupt using WoM and also store accellerometer data in its FIFO, such that there is some history data while the host device (a beaglebone black) wakes up from sleep.
I am currently unable to get it to register an interrupt. It doesn't seem that the pin goes high on motion at all when the interrupt is enabled.
I have also noted that it seems the interrupt status register does not seem to clear when read. Even when I set the ANYRD_2CLEAR bit, it does not reset.
The interrupt status registers do get set.
I have set it per the instructions for (https://www.invensense.com/wp-content/uploads/2015/02/PS-MPU-9250A-01-v1.1.pdf) on page 31. (As suggested in another forum post on the ICM_20649.)
I got the interrupts to work on the ICM_20601, however it didn't seem like you could get it to cycle and wake up every so often while also having the FIFO enabled.
Hence the switch to the ICM_20649.
Another question I have is: Is the interrupt supposed to work without also having the duty-cycle functionality enabled? I note that every example on how to enable WoM interrupt also enables the duty-cycle wake up at some sample rate frequency configured.