Skip to main content
VictorV
Visitor II
August 20, 2018
Question

LSM6DSM Interrupt Confusion

  • August 20, 2018
  • 1 reply
  • 738 views

Hi Everyone,

I am having issues configuring INT1. I have attached my current configuration.

The init code looks like this:

 /*
 * Restore default configuration.
 */
 lsm6dsm_reset_set(&accel_ctx, PROPERTY_ENABLE);
 do {
 lsm6dsm_reset_get(&accel_ctx, &rst);
 } while (rst);
<snip>
 /*
 * Set interrupt routing
 */
 lsm6dsm_int1_route_t intRouting = {
 .int1_fth = 1,
 .int1_drdy_xl = 1,
 };
 
 lsm6dsm_pin_int1_route_set(&accel_ctx, intRouting);
 
 /*
 * Set interrupt output to active low
 */
 lsm6dsm_pin_polarity_set(&accel_ctx, LSM6DSM_ACTIVE_HIGH);

At the end of the reset operation (line 8) the INT1 pin is LOW. At the completion of

setting the pin routing (line17) INT1 is HIGH. At the completion of setting the pin

polarity (line 22) INT1 remains HIGH. Does that mean that data is already ready?

At this point the data rate has not yet been set so I was not expecting data to be

available at this point.

Victor

This topic has been closed for replies.

1 reply

ST Employee
August 21, 2018

It is strange, I should not behave like this. Moreover I'm not able to replicate this behavior.

Can you try to read output data and check if the interrupt goes to LOW?