I'm using the ICM-20948.
It powered from 1.8V VDDIO & VDD.
My MCU Nordic nRF52840 powered from 3.3v and communicate with ICM-20948 by I2C using a level translator.
In general, everything works. But there are two bad issues:
1. Sometimes when my device is turn on ICM-20948 respond to
REG_WHO_AM_I read reg with zeros. This is solved by turning the power off. How do I avoid this or make a software reset?
2. My device should sleep and wake up from the movement. So I'm setup WOM Interrupt from INT1 pin.
+ WOM_THRESHOLD = 250 //250 x LSB 4 mg = 1000 mg
+ INT_PIN_CFG = 0x30 // INT1 pin level held until interrupt status is cleared & Interrupt status in INT_STATUS is cleared (set to 0) if any read operation is performed
But for some device orientation - I got endless interrupts. And dev can't go sleep :(
Have you any advice? Thanks!