We have been testing PX4 firmware on Pixhwak 2 for a little bit, and we have come to notice that the only way (at least we know of) to calibrate the compass you have to rotate the whole aircraft in like a "cloud".
For smaller aircraft it is doable, but ours is comparatively large and is very, if not impossible to do so.
For some other autopilot's when it comes to calibrating compass, they are done in stand still. Basically you leave the autopilot in the plane and let the compass readings stabilize and then you adjust the offsets.
I was wondering if there is a similar option with PX4 firmware or the only way to calibrate it is to rotate in a "cloud" ?