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
Peter Barker
0f94fde434
AC_Fence: get home distance directly from ahrs
2017-12-15 01:42:49 +00:00
Peter Barker
20e295c23a
AC_Fence: check supplied location within fence rather than current loc
2017-12-15 01:24:13 +00:00
Andrew Tridgell
25b9a7e711
AC_Fence: removed create() method for objects
...
See discussion here:
https://github.com/ArduPilot/ardupilot/issues/7331
we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach
Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Peter Barker
86fe1671c1
AC_Fence: fix comment
2017-12-13 10:04:50 +09:00
Peter Barker
e8151a7ec1
AC_Fence: require home as well as origin for prearm checks
2017-12-13 10:04:50 +09:00
Peter Barker
1ecfdffa76
AC_Fence: methods to help populate SYS_STATUS
2017-12-13 10:04:50 +09:00
Peter Barker
ac3f030a34
AC_Fence: factor out check_fence_alt_max
...
NFC
2017-12-13 10:04:50 +09:00
Peter Barker
d04a4dd0f8
AC_Fence: factor out check_fence_circle
...
NFC
2017-12-13 10:04:50 +09:00
Peter Barker
d379c7bbd9
AC_Fence: factor out check_fence_polygon
...
NFC
2017-12-13 10:04:50 +09:00
Peter Barker
518399c13a
AC_Fence: stop looking at EKF filter status
...
Fence has no business looking at what the filter status is.
Fence should only care whether it can currently get a position.
2017-12-13 10:04:50 +09:00