murata
3824277d11
AC_Fence: Add Smart RTL or LAND to the fence action
2021-03-03 07:59:03 +09:00
Peter Barker
a0172fd2ca
AC_Fence: emit a FENCE_STATUS message if we newly-breach the fences
...
This should resolve a problem in autotest where we don't detect the
fence as being breached as ArduPilot never announces the fact it has
breached - it just changes mode to RTL but the interval on the
FENCE_STATUS message never aligns with the time the vehicle is breached.
2021-02-23 08:28:02 +09: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
murata
b12fcff89a
AC_Fence: Matching Message Style
2020-07-04 22:55:35 +10:00
Peter Barker
799c538c3e
AC_Fence: ALT_MAX is Copter-and-Sub only
2020-06-16 11:21:47 +10:00
Rishabh
b3a2b360e6
AC_Fence: clear breach if breached fence is not enabled
2020-06-16 08:27:19 +09:00
Peter Barker
973b103a4a
AC_Fence: write log event when fence enabled or disabled
2020-06-09 10:52:19 +10: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
Peter Barker
e545a429a0
AC_Fence: rename APMrover2 to Rover
2020-04-14 09:50:34 +09:00
Tatsuya Yamaguchi
5688031f02
AC_Fence: add the description of FENCE_ACTION in Rover
2020-02-05 14:58:56 +09:00
Randy Mackay
9e51731bae
AC_Fence: turn off debug msg re memory allocation
2019-12-10 08:51:19 +11:00
Randy Mackay
7c034990b5
AC_Fence: relax sys-status healthy reporting
2019-11-11 07:55:50 +08: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
a5ec64fc99
AC_Fence: tidy get_breach_distance
...
The polygon fence will soon be able to supply a breach distance -
prepare for that.
2019-08-08 16:47:41 +09:00
Peter Barker
6a241cc3e9
AC_Fence: remove pointless sanity check
2019-08-08 16:47:41 +09:00
Pierre Kancir
bf74cb4e99
AC_Fence: pass mavlink_message_t by const reference
2019-07-16 20:51:42 +10:00
Randy Mackay
beb9ecbdcb
AC_Fence: add get_boundary_update_ms
...
this allows callers to detect changes in the underlying polygon fence
2019-06-11 13:13:22 +09:00
Randy Mackay
0f6e61bc33
AC_Fence: add is_polygon_valid accessor
2019-06-11 13:13:22 +09:00
Peter Barker
062ee71135
AC_Fence: simplify fence loading
...
There's only one caller to this, who didn't force loading - so remove
the unused parameter.
Also remove the _boundary_loaded boolean; it was only set to true in one
place - just before the sole caller called the function!
2019-05-30 16:03:58 +09:00
Peter Barker
2822c635ec
AC_Fence: correct get_boundary_points to account for closing point
...
Also rename from get_polygon_points
2019-05-29 15:34:02 +10:00
Pierre Kancir
4dbac3de60
GCS_Common: remove mavlink send_buf usage
2019-04-23 09:41:00 +10:00
Pierre Kancir
e4987f17b9
AC_Fence: use get_distance_NE instead of location_diff
2019-04-08 08:00:52 -07:00
Peter Barker
3629273959
AC_Fence: use enum class for AltFrame enumeration
2019-03-19 10:31:18 +11:00
Michael du Breuil
281d3b1189
AC_Fence: check the return value of fetching the EKF origin
2019-03-12 08:27:42 +09:00
Peter Barker
8991fd8fcf
AC_Fence: clear breaches if boundary invalid etc
2019-03-08 08:57:27 +09:00
Peter Barker
434f22cf40
AC_Fence: correct fence upload reload boundary trigger
...
The check in AC_Fence::check_fence_polygon is for boundary points, not
boundary loaded
2019-03-08 08:57:27 +09:00
Peter Barker
c04d2145a1
AC_Fence: correct fence pre-arm position check
2019-03-07 11:42:39 +09:00
Dr.-Ing. Amilcar do Carmo Lucas
f2ca3556cd
AC_Fence: replace location_offset() and get_distance() function calls with Location object member function calls
...
This allows removing duplicated code
2019-02-28 11:44:09 +11:00
Peter Barker
7198234a44
AC_Fence: clean headers
2019-02-19 09:16:26 +11:00
Peter Barker
4c3a93d8ca
AC_Fence: remove keywords.txt
2019-02-17 00:29:38 -08:00
Peter Barker
5448cfda80
AC_Fence: remove always-true contains_return_point parameter
2019-02-04 16:52:42 +09:00
Peter Barker
a52a1f710f
AC_Fence: add singleton (AP::fence())
2019-01-31 13:44:29 +09:00
Peter Barker
6313cbca0b
AC_Fence: stop taking reference to AHRS in constructor
2019-01-31 11:25:38 +09:00
chobitsfan
e7f87f767a
AC_Fence: add SmartRTL and Brake actions
2019-01-25 15:43:18 +09:00
Peter Barker
9deee2a805
AP_Fence: adjust for Location_Class and Location unification
2019-01-16 11:45:29 +11:00
Peter Barker
c4bee518bb
AC_Fence: rename send_extended_status1 to send_sys_status
2018-12-10 12:52:41 +09:00
Peter Barker
9c0bb9c47d
AC_Fence: do not enable altitude fence on Rover by default
2018-10-30 12:10:42 +11:00
Randy Mackay
06aa29eb2a
AC_Fence: get_polygon_points does not include return point
2018-10-26 14:38:04 +09:00
Raouf
e55369b1c8
AC_Fence: add always land option
2018-07-26 10:08:45 +09:00
Steven Josefs
e8debde4b7
AC_Fence: hide ALT_MAX parameter from Rover
2018-01-22 20:42:31 +09:00
Peter Barker
c8e0ae6890
AC_Fence: adjust fence sys_status failed based on position and parameters
2018-01-09 17:15:19 +00:00
Peter Barker
e30a6bbce3
AC_Fence: rename sys_status methods from geofence_ to sys_status_
2018-01-09 17:15:19 +00:00
Peter Barker
a5aafab7ff
AC_Fence: use pre-arm checks for sanity checks
...
Magically resetting people's parameters not a great look.
2018-01-09 17:15:19 +00:00
Peter Barker
155407956c
AC_Fence: add a pre-arm check for polygon fence validity
...
Also change SYS_STATUS bit to be unhealthy if boundary invalid
2018-01-09 17:15:19 +00:00
Peter Barker
588b0c17c8
AC_Fence: remove AC_FENCE_TYPE_NONE define
...
0 is the appropriate value for a bitmask which is empty
2017-12-28 15:38:37 +00:00
Peter Barker
aa482bae40
AC_Fence: remove argument to check()
...
Also, rename check_fence() to check()
2017-12-28 15:38:37 +00:00