AnsweredAssumed Answered

H3LIS331DL Threshold interrupt

Question asked by Philemon Jaermann on Jan 12, 2017
Latest reply on Jan 16, 2017 by Philemon Jaermann



I have troubles setting the H3LIS331DL accelerometer to trigger an interrupt when a programmed threshold is crossed. I can configure the device to trigger an interrupt when new data is ready on both INT1 and INT2 pad (confirmed with an oscilloscope). However, the threshold interrupt never fires.

I used the following configuration :

- Low power mode @ 10Hz, X/Y/Z axis enable : 0b1100 0111 written in CTRL_REG1

- No high pass filter

- No sleep to wake function

- Threshold interrupt on INT2 pad, interrupt not latched -->CTRL_REG3 = 0

- Full scale range +-100g, block data update : 0b1000 0000 written in CTRL_REG4

- OR combination of interrupt on the 3 axis : 0b0010 1010 written in INT2_CFG

- Threshold value set to ~2g (49mg/LSB @ +-100g) --> 0b0010 1000 written in INT2_THS

- No minimum duration


The different parameters are well written to the sensor (reading them back and oscilloscope measurement).

With this configuration, I read 0b0001 0101 in INT2_SRC (X/Y/Z under threshold) at rest, but shaking it doesn t change.

Since the threshold is defined on 7bits, I assume, that lower than threshold is lower than -2g in this case and not lower than 2g, is this correct (so why do I have "lower than threshold" flags set in INT2_SRC)?

Decreasing the threshold to 1g and shaking the sensor give the same result, no interrupt are triggered.


Can someone tell me where I messed the configuration of this sensor please?