I am using BOSCH BMI160 Gyro/Accelerator sensor.
After applying everything according to BOSCH instruction how to use and operate this sensor I have strange behavior regarding Sensor time register.
According to BMI160 specification (attached) there is sensor time register that increase its value every 39usec, this register is 24bit, and according to spec i will have unique timer value during 10Hr.
I try to read this register every 1sec, and my expectation is that delta between the reading should be around 1sec/39usec ~= 25600 .
from the attached file LiveWatch_20200619.log (which is text file possible to open with notepad or excel) you can see this reading that are going up and down and not only up.
I also attached the bmi160.c and bmi160_api.c files that I download them from Bosch github link.
In addition I attached the main.c file where you can see from line 321 to 339 the reading process.
Please support me with this issue.
Solved! Go to Solution.
Thanks for your inquiry. I don't see your attachments.
BMI160 has typical +/-1% ODR (output data rate) tolerance from part to part according to your external reference clock. BMI160 has 24-bit free running time stamp built in that is correlated to the ODR. That means that when you read 24-bit time stamp registers every 1 second, the values you get should be in the range of 25600 +/- 256LSBs typically. Probably your observation is within this range.
Please see the attached files.
I make a zip file of 4 *.C file + datalog.
First thanks for the response, in the files that I upload, yuo can see that the timer value is always going up and down and not only up.
can you please explin to me why this happen ?
We are analyzing your data and will get back to you soon.