The AHRS may be supplying as a home position through mechanisms other
than a GPS lock. Don't assume in the caller to update_home().
Rover: fold update_home_from_EKF back into sole caller
This method is confusingly similarly named to update_home - and they do
pretty much the opposite thing.
Rover: remove incorrect and misleading comments on set_home_to_current_location
Rover: rewrite update_home to not set home if no origin set
Also checks that home is set before using values from it
Rover: zero stack variables when updating home
If these are a problem we have significant problems through the code
although this makes the name inconsistent with plane it is more precise because control can also come from rc-overrides which are covered by the GCS failsafe
also fix airspeed library's parameter description
also log NaN when we do not have wind direction or speed estimates
also send timeout message to GCS when taking takes too long
Rover: move handling of mav_cmd_do_mount_control up
Rover: move handling of deprecated mount messages up
Rover: move handling of command_do_set_roi up
Rover: move handling of command_do_set_roi up
Rover: mount no longer takes ahrs in constructor
Also remove constraint on throttle output (this is handle in the AP_MotorsUGV library
Also move balance bot declarations to alphabetical order within Rover.h
Rover: use base-class auxsw handling
Rover: factor out do_aux_function_change_mode
Rover: move mode number enumeration to be in Mode:: namespace
Rover: move mode switch handling to RC_Channel
Rover: rename control_modes.cpp to RC_Channel.cpp
Rover: move motor_active() to be a method on the motors class