I'm trying to introduce the re-trimming (CRT) feature to improve our production calibration process, but I have a problem with it.
To perform the CRT process described on the datasheet at page 75 I'm using the `bmi2_do_crt` available in the SDK.
The problem is that the function always returns the error `BMI2_E_ST_ALREADY_RUNNING` (-23) and I cannot understand what it means and why that happens, the only thing that I noticed is that if I debug the function step-by-step I can complete the processing without any issue.
It seems like the timings are not correct...
Solved! Go to Solution.
Ok, I solved. I post the correct command sequence to make it working:
// Reset and Initialize bmi270 bmi270_init(&bmi270_dev); // Enable Accelerometer uint8_t sens_list = BMI2_ACCEL; bmi2_sensor_enable(&sens_list, 1, &bmi270_dev); // Perform CRT process (sensor must not move!) bmi2_do_crt(&bmi270_dev); // Restart the device // TODO you own initialization code
This works for me without any issue.
After CRT I cannot see any effects on my data, the bias on X axis and Y axis are still the same.
What result should I expect after performing CRT?
Is the gain saving to NVM necessary to get the calibration back after reset?