We set the ADXL in LoopMode as described in the datasheet. We can see the AWAKE bit going from 0 to 1 and back to 0 when we do a shake and put it back on the table. So the transition between active and inactive is properly set on the AWAKE bit.
We would expect the inactive bit being set when at rest (NOT AWAKE) and the active bit being set when active (AWAKE), that's not what we are seeing.
In case there is a movement the status register displays 0x65 [AWAKE=1, INAC=1, FIFOW=1, DATAR=1]
In case of rest on the table we see: 0x01 [AWAKE=0, INAC=0, ACT=0, DATAR=1]
The details of the setup are:
We send the initialization commands as follow:
0x0A 0x1F 0x52
0x0A 0x20 0xFA
0x0A 0x21 0x00
0x0A 0x23 0x96
0x0A 0x24 0x00
0x0A 0x25 0x1E
0x0A 0x27 0x3F
0x0A 0x2D 0x02
We read the status regsiter sending the command: 0x0B 0x0B we are not able to decrease the period of reading at this point in time.