2021-01-13 04:11 AM
I'm using FIFO in continuous mode and when i read from LSM6DS3_ACC_GYRO_FIFO_DATA_OUT_H register most of the times I'm getting constant value of 0x0F from this register at steady state. The values generated at steady state are 2g always.
2021-01-13 06:38 AM
Hi @Community member ,
are you facing the same issue also in reading the data-out registers in polling mode (bypassing the FIFO)?
And is the issue related only to accelerometer z-axis or also to the gyroscope)? And for each FIFO batch or randomly distributed?
I would suggest you to check:
A. Whether you are correctly converting the data out:
float_t lsm6ds3_from_fs2g_to_mg(int16_t lsb)
{
return ((float_t)lsb * 61.0f / 1000.0f);
}
B. Whether you are correctly setting the LSM6DS3 FIFO configuration and the correspondent reading of the samples batches from the FIFO memory. I suggest you to check the examples available on Github, such as the lsm6ds3_multi_read_fifo.c or the lsm6ds3_multi_read_fifo_simple.c.
[If the other two suggestion failed --> C. Whether you set the BDU bit of the CTRL3_C (12h) register: this would prevent the output registers to be updated until MSB and LSB have been read]
Please let me know if I misunderstood the point and / or if you are able to make some progression.
-Eleon