Simultaneous Wake-Up/6D Events
Simultaneous Wake-Up/6D Events
I have a similar problem to
https://community.st.com/thread/42585-lis2ds12-does-wake-up-interrupt-block-other-interrupts
reported byhttps://community.st.com/people/ben.005
.I want an LIS2DW12 to do detect bothwake-up and 6D change events. I can afford only 1 gpio pin for interrupts; it's tied to INT1. When I enable wake-up and 6Dseparately I get appropriate interrupts and can detect both kinds of event. However, when I enable both at the same time I don'tsee the 6D event; more specifically, the 6D-IA bit in the SIXD_SRC (3Ah) register is never set and the WU_IA bit in the WAKE_UP_SRC (38h) register is always set.Now this makes a certain amount of sense since changing orientation also requires motion. Also, there is an importantexception to this behavior. If I
slowly
rotatethe device into a new orientation to avoid exceeding the wake up threshold, I do see the 6D_IA bit and not the WU_IA bit. Oninterrupt, I initiate an SPI read of the status registers from address 37h through3Bh; this read is generally completed in under 35 microseconds from the active edge ofINT1.Does my status readblock the 6D event before it can be reported? If not, canI delay reading the status registers or perhaps read them again later for 6D detection?
The LIS2DW12is configured as follows(reg - value)
20 - 11
21 - 1E
22 - 0A
23 - A0
30 - 40
34 - 04
3F - A0
Thanks in advance for any insights on this.
