09-26-2019 10:03 AM
Hi,
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...
Any suggestion?
Thank you
Walter
Solved! Go to Solution.
09-26-2019 01:10 PM - edited 09-26-2019 01:11 PM
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.
Walter
09-26-2019 04:47 PM
10-01-2019 10:59 AM
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?
Thank you
Walter
10-01-2019 04:19 PM