I've tried to use auto compass declination and manual with value (+4deg) from website, but direction displayed on MP was still not right. So I've put some experimental value (-5deg) with which my copter becomes to point right direction (according to google maps).
After this, Simple mode starts to works as expected.
I suspected that this problem with declination may be related to crazy dance in loiter mode, but to check loiter I need to go to some open space.
Do your simple mode really works? Don't you have a shift in the direction taken by the copter with roll action during flight?
I tried all methods described in the manuel to calibrate the magnetometer, but I have always that problem.
The direction can become the inverse of the one fixed at the arming after some minutes.
I never find any solution. All PID tuned as described in the manuel.
For vibrations in loiter, you should try to reduce a lot your Rate-Loiter-D term (a half).
XQuad, TX: Futaba T7C, RX: TFR6, custom alu frame ,10x4.5 balanced props, C2830-358 motors, ADC 2.7.1, MP1.2.5, WinXP
Now simple mode works for me very good (APM2.0, AC 2.7.1, X-Hexa). I've done erase&reset in terminal, configured everything again and set declination according to known terrestial points on google maps in Mission Planner.
I think, that the proper declination is key factor for all GPS aware flight modes.
I have some idea, how to verify that declination is right, but I need a day of calm weather and some open space to verify it. I'd like to set a mission with a few points and see if copter flies straight from point to point. If the declination will be wrong, it will fly over snail curve. I think this behavior can be used to auto-tune declination. As I understand current auto-declination feature uses static tables.
Related questions about declination.
How precisely correct does declination need to be for the simple-mode and GPS features to work reasonably well?
For example, is being correct to within 1 degree good enough? Or does it matter to make it correct to within say 5 arcminutes?
I am fortunate to have declination of only 14 arcminutes.
However, something that has always bugged me was the field for filling declination in Flight Planner Configuration. It instructs us to fill in using the format degrees.minutes. But I wonder if it is being wrongly handled in the code as decimal degrees. Because the radians values that I have seen in the telemetry logs look "off".