I'm trying to use an ADXL375 with its FIFO in trigger mode for a single shock, which causes the INT2 pin of the 375 to go high:
set(0x2D, 0x0); // turn off while we configure
set(0x1D, 0x2C); // SingleShock threshold around 34g
set(0x22, 0); // disable Double Shock
set(0x2E, 0x40); // enable SingleShock interrupt
set(0x2F, 0x40); // ... on INT2
set(0x38, 0xCF); // trigger mode FIFO
set(0x2D, 0x08); // turn on
(set() is a function I used to send single bytes to the registers on the 375).
Once the INT2 Pin goes high, I do a read on 0x39 and the appropriate masking of bits to get the number of readings in the FIFO and then read them all in as multi-byte reads as per the documentation and multiple by 0.049 to get the value in g's.
I'm noticing that the FIFO often contains readings nowhere near the order of magnitude of the threshold value (in this case 0x2C).
I was hoping someone here could offer pointers about what I'm potentially missing?
[edited by: vlchung at 10:18 AM (GMT -4) on 1 Jun 2021]