Solved: LSM6DSOX INT1 & INT2 Trigger on Tap Detection
void configureRegisters() {
// Set FUNC_CFG_ACCESS and PIN_CTRL registers
writeRegister(LSM6DSOX_ADDRESS, FUNC_CFG_ACCESS, B00000000);
writeRegister(LSM6DSOX_ADDRESS, PIN_CTRL, B00000000);
// Configure INT1 and INT2 to trigger on tap events
writeRegister(LSM6DSOX_ADDRESS, INT1_CTRL, B00000000);
writeRegister(LSM6DSOX_ADDRESS, INT2_CTRL, B00000000);
// Configure tap detection registers
writeRegister(LSM6DSOX_ADDRESS, TAP_CFG0, B00001110);
writeRegister(LSM6DSOX_ADDRESS, TAP_CFG1, B00001111);
writeRegister(LSM6DSOX_ADDRESS, TAP_CFG2, B10001000);
writeRegister(LSM6DSOX_ADDRESS, TAP_THS_6D, B00001000);
writeRegister(LSM6DSOX_ADDRESS, TAP_SRC, B00110000);
writeRegister(LSM6DSOX_ADDRESS, INT_DUR2, B00111111);
writeRegister(LSM6DSOX_ADDRESS, WAKE_UP_THS, B10000000);
writeRegister(LSM6DSOX_ADDRESS, MD1_CFG, B01000000);
writeRegister(LSM6DSOX_ADDRESS, MD2_CFG, B00001000);
// Additional configurations for the LSM6DSOX:
writeRegister(LSM6DSOX_ADDRESS, CTRL1_XL, B01011100);
writeRegister(LSM6DSOX_ADDRESS, CTRL2_G, B01011100);
writeRegister(LSM6DSOX_ADDRESS, CTRL3_C, B00000100);
writeRegister(LSM6DSOX_ADDRESS, CTRL4_C, B00000000);
writeRegister(LSM6DSOX_ADDRESS, CTRL5_C, B00000000);
writeRegister(LSM6DSOX_ADDRESS, CTRL6_C, B00000000);
writeRegister(LSM6DSOX_ADDRESS, CTRL7_G, B00000000);
writeRegister(LSM6DSOX_ADDRESS, CTRL8_XL, B00000000);
writeRegister(LSM6DSOX_ADDRESS, CTRL9_XL, B11100000);
writeRegister(LSM6DSOX_ADDRESS, CTRL10_C, B00000000);
}
Read more here: Source link