hi Nordic teams:
we meet one serious issue about LSM6DSL FIFO reading, our product (host mcu is nrf52840) need to read lsm6dsl FIFO data periodically with one second interval based on NCS2.6.1, after some times the reading FIFO data will become misalignment.
we use I2C driver to configure lsm6dsl like below:
- XL_ODR_26HZ
- Gyro disabled.
- FIFO ODR = 26Hz
- FIFO threshold (water mark) = 128
- No decimation
- BDU Block Update enabled
- FIFO Is in continuous mode we have a timer to trigger to read FIFO data by Zephyr I2C(frequency: 100000bits/s) each second,
in the beginning, the reading FIFO data is the right like as (X_ACC, Y_ACC, Z_ACC). but after some time (the time is not fixed) the data will become (Y_ACC, Z_ACC, X_ACC).
our project overlay is below:
project configuration:
because our goal is porting previous nrf5 sdk project into zephyr, so we try this FIFO reading process based on nrf5 sdk, the FIFO reading data was always right. we know the I2C driver is different between NCS2.6.1 and nrf5 SDK. but we don't know why this issue happen, can you help us to resolve this issue?