HMC5983 External Compass Module plugged in the I2C port
I cannot get the system to complete a compass calibration and save the values. Most of the time it moves along very slowly then gets stuck, progressing no further (please see photo below). If I make it to the end, it does not record any offset values, it instead just goes back to zero and starts again.
I’ve tried unsuccessfully with compass 1, compass 2, compasses 1 & 2, and then the external HMC5983 module shown set as external compass 3. Results the same for all three.
I ran into the same problem. Navio2 on a rover with an aluminium body. I connected an external GPS/compass module from a Pixfalcon and all compasses failed to complete the calibration process. Even with “relaxed” accuracy. I tried to do the compass learning while driving around, but that also failed. Disconnecting the external compass only meant one less compass failing.
I thought the big metal body might be the problem, but after swapping out the Navio2 for a Pixfalcon, the compass calibration went through without a problem on “default” accuracy for all compasses.
I am sorry that I can not offer more of a solution, but my arms got tired from juggling the 5kg rover.
Here is a photo of the setup on the bench. I use the wifi dongle instead of the internal wlan0, but whether I used wlan0 or wlan1 it made no difference in compass performance.
Another thing is that the heading is never correct or consistent. RIght now it is showing about 75 degrees west of the actual heading. Bu that will change with the next boot-up.
What are the exact compass settings I should use? I tried:
Compasses 1 and 2, 1 as primary
Compasses 1 and 2, 2 as primary
Compass 1 with 1 as primary
Compass 2 with 2 as primary