RC12 - Pre-arm check - compass not calibrated failures

I’m not sure if this is an APM 2.0.15RC3 issue or 3.2RC12, but I am posting in both areas in case…

I have done the compass calibration on my 3DR Y6B (twice this time and more failures with 3.2RC9) and even though I see the OK dialog to the calibration with two sets of compass values, I still get the pre-arm check failure :frowning:
How is anyone else managing to get this to pass and is this an APM or 3.2 issue?

Due to another bug in APM RC3, I can’t save the params file, but I have posted some screenshots on the APM forum:

Please post a log? What are COMPASS_DEV_ID and COMPASS_DEV_ID2?

I was having compass calibration failures and it turned out that I had a hardware issue. Changing my GPS/compass fixed the issue.

Is it possible you are using an old version of mission planner or something? The ground station must tell the copter to save COMPASS_DEV_ID to nonvolatile memory before the pre-arm check will pass. You can probably get it to do this manually in the full parameter list.

Then, if the copter comes online with a COMPASS_DEV_ID that is different from the one saved, boom, pre-arm failure.

Umm I have posted the params files and the APM log in the APM thread I linked to…

There aren’t any 3.2 logs in the PixHawk, as I don’t get to ARM, as I checked.

Having said this, it looks like an APM bug, as I managed to get MP running under Parallels and it performed the Compass calibration correctly, so I’ll mark this thread as solved, as it isn’t a RC12 issue as such.

Uhh, glad that I found this thread now. I had exactly the same problem after updating to RC12 and the latest daily APM Planner version on last Saturday. I thought I had a hardware problem with the compass, so I replaced it with another one laying around. Without success…

What I remember so far:
Before updating to the latest daily build of APM Planner, I got two compass outputs (compass 1 & 2) back from calibration. Compass 2 seemed very high.
After upgrading to the latest daily build I only got one compass calibration output. It seemed to no longer recognize the other?!
After zeroing the offsets and running calibration again I could confirm that the APM Planner only filled the compass1 offsets.
I also checked COMPASS_DEV_ID and COMPASS_DEV_ID2. Both were set. Zeroing them and restarting the copter filled both IDs again.
Eventually I gave up and I think I’ll try to debug this again next weekend.

I’m running an Pixhawk and APM Planner 2.0 on the Mac btw.