You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LSM6DS3.cpp sets 0x09 to LSM6DS3_CTRL8_XL register while the LSM6DS3 datasheet says the
bit3 shoud be zero for the correct operation.
I suppose the value should be 0x05.
The text was updated successfully, but these errors were encountered:
Working on my own branch to try to implement FIFO usage and decided to try to address this issue while I was at it. I was running into issues where setting LSM6DS3_CTRL8_XL to 0x05 instead of the existing 0x09; it was changing the accelerometer data you would read from the device.
If I'm interpreting the documentation and the block diagram correctly, setting LSM6DS3_CTRL8_XL to 0x05 sets LPF2_XL_EN to 0, HP_SLOPE_XL_EN to 1, and HPCF_XL[1:0] to 00, and thus enables the slope filter. The values you'd read would be (near) zero until there was a change.
Setting LSM6DS3_CTRL8_XL to 0x09, an invalid bit was set to 1 and no filters were enabled, and the data you'd get would be whatever acceleration the device was measuring at the time; movement of the device and/or gravity. I guess we could have also been tempting fate at undefined behavior since, as stated before, the documentation says that bit should remain 0.
Therefore, we should remove the lines changing the register altogether as the default value for LSM6DS3_CTRL8_XL on power up is 0x00.
LSM6DS3.cpp sets 0x09 to LSM6DS3_CTRL8_XL register while the LSM6DS3 datasheet says the
bit3 shoud be zero for the correct operation.
I suppose the value should be 0x05.
The text was updated successfully, but these errors were encountered: