I recently destroyed an oiplan in a crash.
Ordered a new one and built it along with a new compass.
This time I have connected the compass via the i2c cable.
Trouble is it is very slow to show changes in direction in the mission planner.
The heads up compass display takes forever to show the new heading.
In the CLI compass test it is very fast however in the HUD it takes forever to settle at the new heading.
I have another / friends oilpan with the compass soldered to it and is is very quick to update the HUD compass value.
Is there something different needed if connected via the i2c connector?
While there's more I might do in your shoes (I've got several APMs, and I don't like mysteries, and I code, etc) I'm afraid you've exhausted my ability to help remotely. I might roll back to a previous version, switch to ArduPlane and look at the test data, and switch into a HiL version (performing a manual eeprom erase each time, and a manual log erase each time,) examine how it behaves in simulation, etc. But your best bet might be to video your test case, copy/paste the output, and contact the store where you purchased the APM to get their opinion (and they are all here, too, just might need to flag down the right team to get them to look over it.) A video can help speed along things. But I regret that I must admit I cannot offer any more simple options