It seems that for some reason the compass offset learning is not initiated. There is no events/messages on the log or on the GCS regarding compass offset learning. I saw following mentions on github, but I’m not sure about these.
Compass::use_for_yaw(uint8_t i) const
// when we are doing in-flight compass learning the state
// estimator must not use the compass. The learning code turns off
// inflight learning when it has converged
return _state[i].use_for_yaw && _learn.get() != LEARN_INFLIGHT;
There should be following lines on the LOG
… DataFlash_Class::instance()->Log_Write(“COFS”, “TimeUS,OfsX,OfsY,OfsZ,Var,Yaw,WVar,N”, “QffffffI”…
I think that there should be following line shown on GCS (MissionPlanner)?
gcs().send_text(MAV_SEVERITY_INFO, “CompassLearn: finished”)
The main question is does it do the compass offset learning or not and in which cases it shouldn’t do it.