I've had to disable the Pre-ARM checks on my APM (Y6 f/w 3.0.1) because it will not arm.
The confusing part is that it won't say *why* it doesn't arm.
I have Mission Planner running, via 3DR telemetry, and the obvious causes do report on the screen on the first arm attempt. (No GPS lock, etc).
With full GPS lock, all systems calibrated, and everything ready to go, it stays Disarmed. The screen does not show a reason for the failure to ARM.
If I disable the pre-ARM checks, then it does ARM and fly correctly in Stable/AltHold/Loiter.
Is there any way to discern from the logs or other data why the Pre-ARM check is failing?
I took a look in the code, and found the following reasons why pre_arm_check could fail:
RC not calibrated
INS not calibrated
PreArm: Compass not healthy
Compass not calibrated
Compass offsets too high
Check mag field
No GPS Lock (fence)
Baro not healthy
Check Board Voltage (PX4)
Each failure has a text report, so all I can figure is that the pre-arm check is failing with display_failure false, perhaps before the serial link is up to display the text?
The checks are called with no display in the super_slow_loop(), so it's not clear if the same arm failure reason would later display when I attempt to ARM. Anyone know?
I had a similar issue. I figured out the problem lies in both hardware not software.
Looking at the schematic from 2.5 to 2.6 there is something missing ... The compass. Hence the reason it is not healthy.
Looking at this: https://code.google.com/p/ardupilot-mega/wiki/MagAPM2 The jumper in 2.6 is cut already.
Also if you look below, the compass chip isn't there in 2.6
The reason for this is apparently too much 'Magnetic interference'
I haven't been able to get the 3.01 v working ... i dont know why :/
But i downloaded the 2.9 version from: https://github.com/diydrones/ardupilot
Got that to work so long as MAG_ENABLE = 0 (i tried just doing this on 3.01 but no dice)
I think there may be a bug in the code (which i haven't found yet) which assumes you are using the external gps/compass
Or something in the pre-arm checks ... not sure, but the root of the problem is the compass isn't healthy cause it isn't there!!!
I have the same problem! but i try to arm in room without GPS unit! Must connect a gps unit before arming?
I had a similar issue that said 'GPS offsets are too high." I had offsets that were anywhere from x209.425 y:562.593 z:-269.064 to x:2184.240 y:2036.103 z:10084.349 and greater. Turns out I had my GPS mounted backwards on the craft. (other things I read suggested that you might have it mounted upside down - for which you'd have to select the appropriate No Roll, or ROLL_180 type of setting.) So for me I had to turn my GPS unit 180 and then my all my offsets dropped to below 100.
I was not aware that the GPS has offsets. Those look more like compass offsets to me.
TCIII ArduRover2 Developer
You're right the message was compass offsets are too high.
you are lucky , me, disabling the pre-arm check won't do anything left stick down - right , nothing happen...