AP_OABendyRuler: support exclusion polygons
AP_OADijkstra: support exclusion polygons
AC_Avoid: adjust_velocity supports exclusion polygons
AC_Avoidance: handle fence::get_boundary_points returning nullptr instead of setting num_points to zero
AC_Avoidance: Dijkstra's works with only exclusion polygons
AC_Avoidance: Dijkstra: check for fence counts instead of polyfence validity
We really only care whether fences can be returned - and they won't be
returned unless they are valid
AC_Avoidance: BendyRuler: just try to get inclusion fence rather than checking validity
AC_Avoidance: BendyRuler supports exclusion circles
AC_Avoid: Dijkstra support for exclusion circles
AC_Avoid: BendyRuler support for inclusion circles
AC_Avoid: stop an inclusion/exclusion circular fences
AC_Avoid: stop at inclusion/exclusion circular fences
AC_Avoid: fixes to Dijkstra's use of inclusion/exclusion circles and polygons
AP_Avoidance: take semaphores when interacting with AHRS and polyfence
AC_Avoid: Dijkstra's fix for some_fences_enabled inclusion circles
AC_Fence: add interface for retrieving exclusion polygons
AC_Fence: add interface to get exlusion polygons to polyfence loader
AC_Fence: add suport for inclusion circles
AC_Fence: add option for compiling-out FENCE_POINT protocol support
AC_Fence: get_exclusion_polygon and get_boundary_points set num_points to zero on failure
AC_Fence: use Debug(...) to hide debug messages
AC_PolyFence_loader: add methods to retrieve all inclusion zones
AC_PolyFence_loader: valid simply returns true if a polygon boundary can be returned
AC_Fence: add get_exclusion_circle
AC_Fence: add get_exclusion_circle_update_ms accessor
AC_Fence: PolyFence_loader gets inclusion circle accessors
AC_PolyFence_loader: add and use semaphore to protect loaded fence
AC_Fence: move fence breach check below fence type checks
This allows us to provide more information to the user about why they
are breached.
For example, if the radius is negative you are considered in breach of
it - but we'd tell you you were breached, not that your radius was
invalid
AC_Fence: clear the fence if we discover the user has set the fence count to zero
Tools: autotest: move clear_mission up, use it before running each test
Also have it understand MAV_MISSION_TYPE_ALL
Tools: autotest: add tests for polyfence
Tools: autotest: add tests for multiple inclusion polyfences
Tools: autotest: ensure we can't arm inside a circle exclusion zone
Tools: autotest: add test for arming outside an inclusion zone
Tools: autotest: add tests for upload timeout
Tools: autotest: add tests for not arming due to polygon zones
Tools: autotest: add test for fence point reboot survivability
Tools: autotest: add test for moving fence point
Tools: autotest: add some tests via MAVProxy
Tools: autotest: add test for avoiding polygonal exclusion zones
Tools: autotest: add test for object avoidance
Currently disabled as it doesn't pass where it seemingly should.
Tools: autotest: skip MAVProxy tests on older MAVProxy versions
Tools: autotest: adjust fence loading for lack of string back from MAVProxy
Tools: autotest: create a do_RTL function
Tools: autotest: cope with loading QGC-style fence files
Tools: autotest: add test for object-avoidance in guided mode
Tools: autotest: add OA test for auto mode
Tools: autotest: add test for bendy ruler in guided mode
Tools: autotest: adjust for new MAVProxy fence module not emitting old strings
Tools: autotest: add tests for prearming due to bad parameter values