Added parameter RALLY_TOTAL.
Added handlers for new MAVLink messages RALLY_POINT and
RALLY_FETCH_POINT.
defines.h modified to make room in EEPROM to store rally points.
rally.pde added and is responsible for ensuring rally points get
stored in the correct spot in EEPROM.
Multiple Rally/RTL point support now done. If rally points have
been defined, then when RTL mode is entered, the closest Rally
point is chosend and the plane loiters at that point.
Note only 10 rally points can be defined; this is to save space in
the APM's EEPROM.
This code is less relevent with the new L1 navigation, and could cause
issues with the pilot not having control after a long dive.
Thanks to Soren for pointing out the issues
See issue #305
this switches ArduPlane over to use the L1 navigation controller, via
a generic nav_controller object pointer.
Note that the nav_controller controls all types of navigation now,
including level flight and heading hold. This provides a cleaner
abstraction than the old method of special case navigation handling
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
- libraries/AP_Common/AP_Common.h: Use bit 2 of Location.options to store
loiter direction
- ArduPlane/defines.h: New bitmask MASK_OPTIONS_LOITER_DIRECTION for struct
Location bit 2
- ArduPlane/ArduPlane.pde: New variable loiter_direction
- ArduPlane/GCS_Mavlink.pde: For mavlink loiter-commands use sign of param3 to
detemine direction. Set Location.option flag accordingly
- ArduPlane/commands.pde: Make sure loiter-directions get saved into EEPROM
correctly
- ArduPlane/commands_logic.pde: Set loiter_direction on all loiter-actions
as well as RTL/instant loiter
- ArduPlane/navigation.pde: Yield loiter_direction in update_loiter
this fixes using GPS_PROTOCOL to specify a specific GPS with a GPS
that takes a few updates before it works (eg. needing baud rate
changes).
This makes it easier to use an APM1-1280 with more features enabled
when enabled this will use the wind estimation code to adjust the
navigation bearing, allowing the navigation code to cope with much
higher levels of wind while using a compass