I am using the ADXL345 and this is the configuration I push to it:
ADXL345_SetRegister( ADXL345_DATA_FORMAT /*0x31*/, 0x0B );
ADXL345_SetRegister( ADXL345_POWER_CTL /*0x2D*/, 0x28 );
ADXL345_SetRegister( ADXL345_BW_RATE /*0x2C*/, 0x0B );
ADXL345_SetRegister( ADXL345_THRESH_ACT /*0x24*/, 20 );
ADXL345_SetRegister( ADXL345_THRESH_INACT /*0x25*/, 5 );
ADXL345_SetRegister( ADXL345_TIME_INACT /*0x26*/, 5 );
ADXL345_SetRegister( ADXL345_ACT_INACT_CTL /*0x27*/, 0xFF );
ADXL345_SetRegister( ADXL345_INT_ENABLE /*0x2E*/, 0x18 );
ADXL345_SetRegister( ADXL345_INT_MAP /*0x2F*/, 0xEF );
Everything is working in a sense that if I lightly hit the table on which the device sits, INT1 is triggered and 5 seconds later, INT2 is triggered (motion stops). In-between, while motion is still enabled, I can lightly hit the table as much as I want and INT2 will only be triggered when I stop for at least 5 seconds. So far, so good.
However, where I am unsure is with the ADXL345_THRESH_ACT / ADXL345_THRESH_INACT register settings.
Regardless what value I put in there, the unit does not seem to change its sensitivity.
Regardless if I put '1' in both registers or '255' in both registers, the sensitivity does not change.
Is there anything else I need to do in order for the unit to use these settings? Should I re-initialize the device? Why is the sensitivity not working?