2025-03-17 3:56 AM
Hi,
I am developing an application with the LIS2DW12 accelerometer where it is reconfigured depending on which state the application is in. In one state, the accelerometer should detect when it is stationary/in motion and trigger pulsed interrupts on INT2. In another state, the accelerometer should wake up the system upon movement by triggering a latched interrupt on INT1. The only way I have managed to get this functionality is by, when the accelerometer is being reconfigured for wakeup, setting INT2_ON_INT1 in CTRL7. Without this setting, INT1 does not react to movement at all. I figure there must be a way to get INT1 to fire without having to route INT2 to it, so what am I missing?
I have tried following the wakeup example without success.
These are all the register contents after reconfiguring for wakeup, with INT2_ON_INT1 set:
LIS2DW12_OUT_T_L = 0x70 LIS2DW12_OUT_T_H = 0xfb
LIS2DW12_WHO_AM_I = 0x44 LIS2DW12_CTRL1 = 0x60
LIS2DW12_CTRL2 = 0x0c LIS2DW12_CTRL3 = 0x10
LIS2DW12_CTRL4_INT1_PAD_CTRL = 0x00 LIS2DW12_CTRL5_INT2_PAD_CTRL = 0x40
LIS2DW12_CTRL6 = 0x0c LIS2DW12_OUT_T = 0xfb
LIS2DW12_STATUS = 0x21 LIS2DW12_OUT_X_L = 0x20
LIS2DW12_OUT_X_H = 0x00 LIS2DW12_OUT_Y_L = 0xc0
LIS2DW12_OUT_Y_H = 0xff LIS2DW12_OUT_Z_L = 0xc0
LIS2DW12_OUT_Z_H = 0xfe LIS2DW12_FIFO_CTRL = 0x00
LIS2DW12_FIFO_SAMPLES = 0x00 LIS2DW12_TAP_THS_X = 0x00
LIS2DW12_TAP_THS_Y = 0x00 LIS2DW12_TAP_THS_Z = 0x00
LIS2DW12_INT_DUR = 0x00 LIS2DW12_WAKE_UP_THS = 0x43
LIS2DW12_WAKE_UP_DUR = 0x21 LIS2DW12_FREE_FALL = 0x00
LIS2DW12_STATUS_DUP = 0x61 LIS2DW12_WAKE_UP_src=0x10
LIS2DW12_TAP_src=0x00 LIS2DW12_SIXD_src=0x10
LIS2DW12_ALL_INT_src=0x00 LIS2DW12_X_OFS_USR = 0x00
LIS2DW12_Y_OFS_USR = 0x00 LIS2DW12_Z_OFS_USR = 0x00
LIS2DW12_CTRL_REG7 = 0x60
Thanks,
Silvia