2018-08-20 09:22 AM
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
2018-08-21 12:47 AM
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?