There are two duplicate checks, one in the pre-arm checks (i.e. checks
run every 15 seconds or so before the vehicle is armed) and one in the
arming checks (run immediately before arming). The definition in the
pre-arm checks was still using the old hardcoded value.
This check is redundant now that we have a check within the arm_check()
function.
Removing this check does raise a slight danger that someone could raise
the throttle after arming but before the gyro and baro calibration has
completed but the delay has been greatly shortened from what it once was
so there is much less danger that someone could approach the vehicle
during the short arming delay.
The short delay gives time for the RC inputs to be processed which
removes the chance of a false-positive on the "late frame" radio check.
A false positive could lead to an immediate disarm right after arming.
Also fixed bug in which vehicle could appear to be armed (according to
LEDs) but is not. This could occur if pilot had raised the throttle
very high during the calibration that happens just before arming.
Previously we were setting to non-block after arming but this reduce the
chance of bumping into a NuttX USB driver issue that can cause the uart
to become unresponsive and also makes Copter consistent with Plane
I've seen a fair number of user questions where they are confused by
"Bad GPS Pos" on their GCS/not being allowed to arm. This change splits
the remaining causes of this fault into separate messages.
Hopefully this increases the odds of the user self diagnosing...
This potentially changes the servo number that must be supplied if using
an APM1 but it now shares the same logic as arduplane and also adds
protection that the servo is not attached to the motor.
removed debug message from previous commit.