Bad Compass Health when External Compass is disconnected

Hello everyone,

I have setup my rover with an external compass which most of the times works great.
My problem is that when I disconnect it from my Ardurover (I wanted to simulate a possible problem during a mission) I come across this error: “Bad Compass Health” although I have setup my vehicle to use the internal compass in such cases (primary compass: external, secondary compass: internal). Is this an expected behavior?

I thought the expected behavior is to switched to the internal compass and continue its operation with it.

Thanks in advance!

Below is my current setup in regards to the relevant parameters:



Update: Based on my recent tests I figured out that:

  1. When an external compass stops sending signal ardurover doesn’t switch to the secondary compass. It displays the message “Bad Compass Health”
  2. On the other hand, if there are consistency problems between the relevant readings of the external (primary) and internal (secondary) compass Ardupilot seems to prefer the secondary (internal) compass, which is the expected.

As a result:

  • Behavior 1 doesn’t make sense to me. I expected to switch to the secondary compass and continue its operation with it.
  • Behavior 2 makes sense but there is uncertainty regarding the rules at which the decision is taken as to which compass should be used.