cancel
Showing results for 
Search instead for 
Did you mean: 

IMU lsm6dsv16x interrupts do not fire at all

ACand.3
Associate III

Hey Everyone, 

 

I bought this sensor
https://www.sparkfun.com/products/21325 and it is default to work as i2c. Which I do. I can read from this imu using regular polling, but I would like to use interrupts. But the issue is, interrupts to do not fire at all, I am not sure why. 

I am following the stm32 examples on github
https://github.com/STMicroelectronics/STMems_Standard_C_drivers/tree/master/lsm6dsv16x_STdC/examples

and I still have issues getting this sensor to work as an interrupt. Am I missing something? Do I need a pull down or pull up resistor on the interrupt pin? 

I worked with interrupts, theyre not difficult, but not sure why this specific sensor I cannot get to work.


for example, what i am experiencing right now whether I go with fifo or data ready signal, the int pin is always high. It does not go low. I did put a pull down to see if I can bring it down, but even with a 10k resistor, the int2 in this example, is always high. I also checked status register and I do have 



1 REPLY 1
ACand.3
Associate III

How do I closed this? 

I figured it out. I had to flush/read the interrupt flag right after setting it up. Im not sure if that is the right way? 


right after the timestamp I added these lines

   lsm6dsv16x_data_ready_t drdy;
    lsm6dsv16x_flag_data_ready_get(&xyAccel, &drdy);
   if (drdy.drdy_xl) {
        int16_t dummy[3];
        lsm6dsv16x_acceleration_raw_get(&xyAccel, dummy);
        /* Clear existing FIFO data */

and my interrupts started to work. any ideas why this worked?