COMPASS_MOTCT setting?

[attachment=0]compass.jpg[/attachment]

I took the quad out into the garden and calibrated the compass using a laptop and a very long usb cable.
I then did a compass motor calibration,
The interference level was 7, (see pic)
I am assuming that is good?
Then I noticed that the COMPASS_MOTCT (motor interference compensation) value was 0 so I changed it to 2 (Use current)
I assume that is the correct thing to do?

The COMPASS_MOT X Y and Z values were all 0 before, now they read X -0.71 Y -0.14 Z 0.68

On the ardupilot wiki page it states the following:

Motor interference compensation type (COMPASS_MOTCT)

Set motor interference compensation type to disabled, throttle or current. Do not change manually.

Value Meaning
0 Disabled
1 Use Throttle
2 Use Current

What does it mean by do not change manually?

Did you noticed an improvement and or no more error messages after the motor mot? Just thinking if you see a change it must be using it. Perhaps it does everything it should but forgets to actually go from 0 to 2. That’s a real legit question hope you get an answer from a dev who knows for sure. But if you did the motor mot sure seems like the setting should go to 2 even if you have to do that yourself. I’ll have to look and see if mine does the same now.

Thanks,

I flew the quad yesterday and it was “toilet bowling” in loiter mode.
I came home and calibrated the compass and then the compass-motor calibration.

My interference level was 7

The COMPASS_MOT X Y and Z values were all 0 before, now they read X -0.71 Y -0.14 Z 0.68

But then I noticed that the COMPASS_MOTCT was 0 (disabled) so I changed it to 2 (use current)

But the notes said “do not change manually”

I am confused, surely if I left it on 0 (disabled) it would ignore the correction values?

It certainly seems like you did the right thing! Anybody else know???

I test flew the quad again today and it flew fine, no toilet bowl.

try 0 = disable, and see if it does the same thing??

I have a feeling you did the right thing changing that setting to ‘2’

Ok, thanks.

However, I haven’t got an answer yet as to why it should not be changed manually.

This line of code determines that parameter github.com/diydrones/ardupilot/ … ot.pde#L79
If compass mot fails it will be unset.

I should add that’s why you shouldn’t set it manually. What GCS did you use to calibrate?

[quote=“billbonney”]This line of code determines that parameter github.com/diydrones/ardupilot/ … ot.pde#L79
If compass mot fails it will be unset.

I should add that’s why you shouldn’t set it manually. What GCS did you use to calibrate?[/quote]

Ok, shall I leave the value at 0 (disabled)

I used Mission planner on a laptop (on battery power) with a very long USB lead out in the garden.

It looks like the procedure calculated the offsets correctly, just the process failed the final step. I.e it just didn’t set the param. I suggest saving the values… And try gain and see what happens. If they are the similar values, set it to 2, if not don’t.

Maybe there’s an issue with MP. Try APM Planner, it also supports compass mot