Thank you for the response. Unfortunately "bmi08a_get_sensor_time" is not accurate enough to provide precise time stamps per sample.
Ideally we want to use the FIFO to stream data at 200 Hz, with a timestamp provided for each sample where there is no variance on the sampling interval. This should be achievable as a 200 Hz ODR would request 1 sample every 128 ticks of the 24 bit clock.
Any pointers on the best way to achieve this would be appreciated.
Could you please let us know a little more about your application? Is it a drone or robot application?
Unfortunately it is not possible for BMI088 to fill data into FIFO at exact 200Hz, because BMI088 gyro has typical ODR tolerance of +/-0.3%. BMI088 fills data into FIFO based on ODR. At 200Hz ODR, each BMI088 gyro will have actual ODR from 199.4Hz to 200.6Hz. What you could do is use your accurate crystal for your MCU to find out the relationship to each BMI088's gyro ODR and then you could do some kind of compensation.