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