LSM6DSM, timestamp in FIFO occasionally incorrect
acc + gyro + timestamp, ODR 208 hz, FIFO continous mode, timestamp resolution 25us, following is my register setting
imu.__write_reg(CTRL3_C, 0x44)
imu.__write_reg(WAKE_UP_DUR, 0x10)
imu.__write_reg(CTRL10_C, 0x34)
imu.__write_reg(CTRL1_XL, 0x5c)
imu.__write_reg(CTRL2_G, 0x5c)
imu.__write_reg(FIFO_CTRL2, 0x80)
imu.__write_reg(FIFO_CTRL1, 45)
imu.__write_reg(INT1_CTRL, 0x08)
imu.__write_reg(FIFO_CTRL3, 0x09)
imu.__write_reg(FIFO_CTRL4, 0x08)
imu.__write_reg(FIFO_CTRL5, 0x2E)
Occasionally, I get incorrect timestamp value in FIFO (acc and gyro value is ok), following are some example
530929, 531123, 531316, 531510, 531704, 531898, 532092, 532286, 532224, 532673 (timestamp go backward)
165672, 165866, 166060, 166254, 166448, 166641, 167087, 167223, 167417, 167611, 167804 (timestamp jump)
Thank you very much for helping
