We work with BHI160B. According to the BHI160(B) datasheet and GitHub repo, we get GRV's accuracy directly from the same data structure that quaternion elements are obtained: BHI160_imu_data.rotVector.x = ((float) (data->data_quaternion.x)) * 0.00006103515625f; BHI160_imu_data.rotVector.accuracy = data->data_quaternion.estimated_accuracy; https://github.com/BoschSensortec/BHy1_driver_and_MCU_solution/blob/master/examples/rotation_vector_example.c For the benefit of completeness, w e warm start standalone BHI160B (uploading Acc/Gyro biases from the previous calibration process) and freshly perform stationary plus 6-face calibration before any test according to the provided calibration example on the GitHub repo until acc and gyro's accuracies go to 3.
... View more
Hello BSTRobin, The main problem is that the API adapter interface uses blocking functions. And that's not acceptable in our application. However, I've found the problem. There's a mistake in the datasheet. Please notify the corresponding sector in the company to do the correction. The parameter 0x0121 (and 0x1121 for writing) corresponds to the Physical sensor ID = 1, not 0. The sensor ID = 1 corresponds to the accelerometer. So the parameter 0x0121 corresponds to the accelerometer, the 0x0123 to the gyroscope and the 0x0125 to the magnetometer. Best regards.
... View more