2019-07-14 03:28 AM
I notice that there is a way to set an offset for the accelerometer ,is there a way to set an offset to the gyro ??
2019-07-15 03:12 AM
Hi @Ianab , do you refer to X_OFS_USR registers for the offset correction by the user? If so, this register is intended for the cancellation of the residual calibration offset, especially for the case of the position tracking and relate application (when the acceleration integration needs an offset as low as possible). Why should you need to add an offset? You could anyway add it via post processing. Regards
2019-07-15 05:33 AM
Thank you for your answer ,
Yes i was referring to the X_OFS_USR and this register is for the accelerometer and i have no problem to use it , but i couldn't find one for the gyro!?
In the production line we set an offset for all devices (calibrate) while accelerometer axis z is g and both x and y are 0 ,and gyro is 0 for all axes .
We want to calibrate all of our devices to one shared point and it could be different from sensor to another .
In our current sensor we are able to save the offsets for both accelerometer and gyro in non-volatile registers and every time we sample this sensors it already came with the offset that has been set.
Is there a registers for the gyro to save this offsets ??
2019-07-22 05:48 AM
Hi, unfortunately there is no such a register for the gyro zero rate level correction, because it is calibrated during the fab test, and factory calibration values are stored in the reserved registers and should not be changed. The existence of X/Y/Z_OFS_USR is justified from the fact that, while the gyro offset is basically independent from the soldering angle on a pcb, the accelerometer offset depends on the relative tilt angle.
If you strongly need this feature, I would suggest you to measure the gyro offset and store the measured value in dummy registers (e.g. external magnetic sensor registers MAG_OFFX/Y/Z_H if you don't need such sensor), but please note that this compensation will not automatically applied to the gyro data output, differently from what happens with X/Y/Z_OFS_USR.
Regards