I have an application where I need to switch between sensing taps in different axis. The part works fine when it start off sensing taps in the x-axis or y-axis, but when I change axis after detecting a tap, the ACT_TAP_STATUS register isn't changing to the new axis.
Here's what I am doing. I've set the part to sense taps in the x-axis only. After tapping the device, I see the correct values in the ACT_TAP_STATUS register saying it detected something in the x-axis. I then disable sensing in the x-axis and enable the y-axis and tap the device again, but the register still indicates a tap in the x-axis. Do I need to clear the SINGLE_TAP or DOUBLE_TAP interrupt in the INT_SOURCE register (0x30) before the ADXL346 will update the ACT_TAP_STATUS to indicate a tap in the new axis? Also, how do I clear these interrupts? Is that done just by reading the INT_SOURCE register?