A 3D accelerometer must be calibrated for every flight controller. But for my case, I just want to erase the firmware and reflash it for some reason.
After reflash, I simply set all parameters that look like INS_ACC2OFFS_X, INS_ACCSCAL_Y, INS_GYROFFS_Y to the previous values I recorded before reflash and reboot. And when I try to arm my vehicle, it just doesn’t allow it and says 3D accelerometer calibration is required.
It’s inconvenient to recalibrate the 3D accelerometer since my vehicle is large and the FC is difficult to remove. Is there a solution for my use case? I can remove the FC this time, but I need to reflash it many times later.
I have some problem with ardupilot fc passthrough, so when I need to do some component tunning like esc tunning, I flash to betaflight to tune it and flash back to ardupilot. It’s not exactly downgrading.
My procedure is to
1 install BetaFlight
2 tune the esc
3 install Ardupilot
4 fly it and test it
5 go back to 1
Then you need to manually re-calibrate every time.
There is a procedure to bypass that, basically telling the FC to thrust you and the parameters you just restored, but is is not simple enough for general users. But it is documented in the wiki somehere and mentioned here:
Change the ACCEL and COMPASS device ID’s through CONFIG/Full Parameter Tree page. It will not let you to edit through CONFIG/Full Parameter List showing the parameter is readonly.
Try from CONFIG/Full Parameter Tree. It worked for me.