I'm having issues to use the adxl375 in fifo mode.
I'm using right justified data
I do get data which looks valid however, I seem to only receive 10bit of data instead of 13bit?
The range of the value I get is: +511 to -512 which is 10bit data and the sign
If I understand correct, the range of 200g/0.049 = 4081 which is approximately 12bits for the value and one for the sign thus i'd expect the actual data to be 13bit.
Any idea what I could be doing wrong. Or is this a sensor limitation that it only returns 10bit value in fifo mode?
Here's the register configuration I'm using:
BW_RATE, 0b1101 # 800 Hz
DATA_FORMAT, 1 << 5
POWER_CTL, 1 << 3
FIFO_CTL, 1<<7 || 20
INT_ENABLE, 1<<1Here is an example of the register DATAX0 to DATAZ1 I'm reading when smashing the device on the wall and it's interpretation:b'f\x00\xb2\xff\xff\x01'(102, -78, 511)the last value is always the maximum I can see. So 511 * 0.049 = 25g. So my measurement range is reduced to +- 25g but why?I can observe the same behaviour when not in fifo mode.
I managed to find the answer here:
It's about the UNDOCUMENTED flags in DATA_FORMAT which have to be at their default values. Would be nice if AD would provide documentation for these flags ...
this solved my problem:
DATA_FORMAT, 1 << 5 | 0b1011