2017-06-12 05:32 PM
Hi, I'm having some difficulty clearing the interrupt pin on the H3LIS100. I have it set to generate and interrupt on data ready. I am also using the LIS2D chip, which has a somewhat similar interface, and I can clear that interrupt by reading the INT1_SRC register (for an over threshold interrupt), but neither reading the INT1_SRC nor the actual data registers seems to clear the interrupt pin for the data ready interrupt condition on the H3LIS3100 chip. Going to power down state does clear the interrupt but that is not too useful when taking repeated data samples.
2017-06-13 12:32 AM
Reading of all three output registers (0x29, 0x2B, 0x2D) clears the data ready interrupt signal.
2017-06-13 09:15 AM
And I confirm that that works... I had a bug related to sample counts that prevented the read the three location code from always running.
I now read all three data values whenever the interrupt line goes high.
2017-06-15 03:00 PM
Actually the real answer is a bit more complicated than this. I was encountering a chip state where the interrupt line would go hi and only a power cycle would clear it. I believe that was because an i2c transaction got interrupted and did not complete. Subsequently pretty much nothing I did seemed to affect the chip.
I have now found that cycling the i2c clock line 9 times (to complete and transaction that the chip might think was still in progress) and then reading the x, y and z data will recover from the stuck interrupt line state.