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.
Restructured into case statement
Replaced use of g.throttle_max with definition
Added more comments
Send message to ground station instead of printing on console (although
probably both are unlikely to be read)
Mission command support was already included but this adds support for
DO_PARACHUTE received as a COMMAND_LONG message which are sent from the
GCS when the command should be executed immediately
This catches the case where the vehicle lands but the user doesn't
immediately put the throttle to zero. Before this check it would
continue to attempt to hold it's
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.
Copter does not yet rely on the terrain data (it's for informational
purposes only) so we will temporarily disable the failure flags to the
GCS to avoid support calls
add check that overall throttle level is below the non-takeoff throttle
instead of just checking that it's motors have hit their lower limits
because low limits can also be caused by high yaw rotation requests.
Absolute climb rate requirement reduced to 30cm/s
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.