2018-04-08 04:13 AM
I encountered a problem that IG2 doesn't get detected on either INT1 or INT2 pin. I confirm the IG1 work on both INT1 and INT2. Followings are the combinations I tried (CTRL REG1,2,4,5 kept unchanged):
The INTx_CFG,INTx_THS, INTx_Duration are set same for IG1 and IG2.
1) CTRL_REG1 - CTRL6
{
0x57,
0x39,
0x40, //IG1 route to INT1
0x00,
0x40, //Enable FIFO mode
0, //Disable INT2
}
In this configuration, IG1 is correctly detected on INT1 pin.
2) CTRL_REG1 - CTRL6
{
0x57,
0x39,
0x20, //IG2 route to INT1
0x00,
0x40, //Enable FIFO mode
0, //Disable INT2
}
In this configuration, IG2 is *NOT* correctly detected on INT1 pin
3) CTRL_REG1 - CTRL6
{
0x57,
0x39,
0, //Disable INT1
0x00,
0x40, //Enable FIFO mode
0x40, //IG1 route to INT2
}
In this configuration, IG1 is correctly detected on INT2 pin
4) CTRL_REG1 - CTRL6
{
0x57,
0x39,
0, //Disable INT1
0x00,
0x40, //Enable FIFO mode
0x20, //IG2 route to INT2
}
In this configuration, IG2
is *NOT* correctly detected on INT2pin.What am I missing?
Solved! Go to Solution.
2018-04-09 12:12 AM
It turns out the CTRL_REG2 setting is wrong in my settings. It disabled the high-pass filter for IG2 which makes the IG2 active all the time because of the Gravity. So it is not detected since the interrupt is set to edge sensitive.
2018-04-09 12:12 AM
It turns out the CTRL_REG2 setting is wrong in my settings. It disabled the high-pass filter for IG2 which makes the IG2 active all the time because of the Gravity. So it is not detected since the interrupt is set to edge sensitive.