AnsweredAssumed Answered

ADXL345 basic initialization sensitivity issue

Question asked by benoitstjean on Nov 3, 2016



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?