Can't REALLY disable internal mag

I’m facing this problem:

Drone all wired up, all calibrations done.
Orientations on the components are correct, leveled and the arrow pointing to the front of the quadcopter, NO_ROTATION set for the two mags, but in QGC the compass indicator it still has some angle of offset.

Trying enable one single mag at a time to calibrate the single rotation correctly, but seems that internal mag can’t be disabled, the parameter CAL_MAG1_EN is set to “disable”, but the compass indicator in QGC don’t follow rotations of the external mag moved alone, seem that it merge the data also of the internal one, also if disabled!

1 Like

Good day,
just run on nsh console the listener for the mags…you must find which compass is external and which one is internal, after this just disable the internal and enable the external one… if i remember well mRo uGPS ublox SAM M8Q (GLONASS) + Compass (LIS3MDL) is recognized as CAL_MAG1_EN instead of CAL_MAG0_EN.
for be sure just do the listener mag

What is the syntax to run this?


man the problem is that through QGroundControl the internal one can’t be disabled apparently, i tried to but it remains “Enable” :sleepy: You are able to disable the internal one? if yes, wich autopilot and gps combo have you mounted? this will help debugging :vulcan_salute:
Only i think the only way to accomplish it is to change the parameter directly fron the source code, build and upload the “custom” firmware on the PixRacer

type ? followed by enter
ls / obj (enter)

type : listener sensor_mag - 0
listener sensor_mag - 1
listener sensor_mag - 2
for every command there is the correspondent result: if its external you wil will find external, if not you will find false.

I’ve mro pixracer r15 with mro gps ublox with dual compasses, the second one is mro x2.1 f4 with same gps… both running px4 firmware 1.9.2