I am having an issue with the H3LIS331 thresholds. I have all the thresholds setup in high interrupt mode for all axis. The high pass filter is enabled, my range is 400Gs, my sample rate is 100Hz and my communication spi clock is 1Mhz. Sometime when I read a the acceleration values after an interrupt I get value less than my threshold.
Sometime these values are even all below 1G. I have measured with a O-scope that I am reading the results faster than my sample period, 130uS. It seems like the threshold itself is working because I only get an interrupt when an event occurs but values seem wrong.
Is there some other register setting that I need to do?
Is it possible that the value of the acceleration registers change in less than a sample period from the interrupt?
We are close to production and this issue has people worried.