Commit Graph

17 Commits

Author SHA1 Message Date
Peter Barker 76408c77dd AC_Fence: provide compatability with bad integer-stored radii 2021-06-06 11:41:30 +10:00
Peter Barker e3db030d7a AC_Fence: load and store fence radii in floats
These were simply being cast down to integers
2021-06-06 11:41:30 +10:00
James O'Shannessy 43e06e9040 AC_Fence: Fix int32_t overflow with large longitude values 2021-03-05 14:52:46 +11:00
James O'Shannessy f6231db618 AC_Fence: Add breach calculation variant to use LLA
Adds a parameter to make selection between vector pos_cm from origin and lat/lng.
2021-03-04 10:31:58 +11:00
Patrick José Pereira 345fe1a9e4 AC_Fence: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Barker c787231435 AC_Fence: remove timeout for waiting on fence semaphore, make nonblocking
Also move where we indicate we've attempted a load.
2020-11-11 18:46:22 +09:00
Peter Barker 53553c7c71 AC_Fence: remove dead and misleading assignment
This is never used again.  Presumably this was factored out of something
else where it might have mattered.
2020-08-06 17:02:12 +10:00
Rishabh 85692312ac AC_Fence: Add Pre-Arm check for margin < radius 2020-08-05 15:37:04 +09:00
Peter Barker 069bd04bdc AC_Fence: create and use INTERNAL_ERROR macro so we get line numbers 2020-04-30 13:21:36 +10:00
Randy Mackay 9e51731bae AC_Fence: turn off debug msg re memory allocation 2019-12-10 08:51:19 +11:00
Peter Barker 714a3e2462 AC_Fence: support for multiple polygon fences
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
2019-09-28 07:58:48 +09:00
Peter Barker ff37590776 AC_Fence: move polygon points into AC_Fence_Polygon 2019-09-28 07:58:48 +09:00
Peter Barker 5448cfda80 AC_Fence: remove always-true contains_return_point parameter 2019-02-04 16:52:42 +09:00
Michael du Breuil 983a330cd5 AC_Fence: Remove unused duplicate methods
The Vector2l methods completely duplicate the code of the Vector2f
methods, but aren't used anywhere. They are therefore subject to bitrot
and aren't adding any value. (Also shrinks the build by 8 bytes for some
reason, given that it's unused code I expected to see no difference in
binary size).
2017-11-21 17:04:11 +09:00
murata c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
murata b6c27b58a8 AC_Fence: magic number 4 changed to size of uint32_t 2016-08-04 15:26:18 +09:00
Randy Mackay f0bb1ac1d2 AC_Fence: AC_Polygon_loader loads points from eeprom
Thanks to Peter Barker for his work to library-ify Plane's geofence which was the basis for this work.
2016-06-25 15:55:55 +09:00