AnsweredAssumed Answered

MMA8452 freefall detection

Question asked by Justin Antony on Jan 22, 2019
Latest reply on Jan 25, 2019 by Tomas Vaverka

I am trying to detect free fall detection as per AN4070 application note, below are the register settings i have configured


MMA8452_CTRL1_REG = 0x20;  //Set the device in 50 Hz ODR, Standby

MMA8452_FF_MT_CFG= 0xA0; //Configuration Register set for Freefall Detection enabling “AND” condition, OAE = 0,                                                       Enabling X, Y, Z and the Latch

MMA8452_FF_MT_THS = 0x03; //0.2g/0.063g = 3.17 counts //Round to 3 counts
MMA8452_FF_MT_COUNT = 0x06; //120 ms/20 ms (steps) = 6 counts

MMA8452_CTRL4_REG = 0x00;  //Enable Motion/Freefall Interrupt Function in the System
MMA8452_CTRL5_REG= 0x00;  //Route the Motion/Freefall Interrupt Function to INT2 hardware pin 
IMMA8452_CTRL1_REG  = MMA8452_CTRL1_REG | 0x01;  //Put the device in Active Mode, 50 Hz

 

This configuration is followed by reading MMA8452_INT_SOURCE register, and the result is 0xFF; 

and followed by reading MMA8452_FF_MT_SRC register, and the result of this register is also 0xFF; 

 

Reading of register MMA8452_FF_MT_SRC should have cleared the freefall interuupt, and interrupt is always active and not clearing at all. Is there anything i am missing out? (I am not using hardware pin INT2 now, as there is hardware limitation) 

Outcomes