Peter Barker
a8b37d7064
AC_Fence: remove @Values from param metadata where @Bitmask exists
2021-06-23 18:37:34 +10:00
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
Hwurzburg
faf4993436
AP_Fence: add pre-arm check for fence enabled but none selected
2021-05-25 12:36:21 +10:00
Hwurzburg
6fbf2d227c
AC_Fence: Correct Rover metadata
2021-04-27 09:31:09 +09:00
Randy Mackay
5b0f107631
AC_Fence: remove alt from TYPE param desc for Rover
2021-04-21 11:35:48 +10:00
chobitsfan
73a3b5f832
AC_Fence: remove unused declaration
2021-03-24 08:50:48 +11: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
8ef68c8fb0
AC_Fence: Send text to gcs when fence is auto-enabled
2021-03-05 14:52:46 +11:00
James O'Shannessy
b4bf41c6f9
AC_Fence: Adjustments to default parameters for addition to plane
2021-03-05 14:52:46 +11:00
James O'Shannessy
c316711351
ArduPlane: Add conversion from ArduPlane geofence param to AC_Fence param
2021-03-05 14:52:46 +11:00
James O'Shannessy
254c28f142
AC_Fence: Improve auto enable documentation
2021-03-05 14:52:46 +11:00
James O'Shannessy
b6d29d746b
AC_Fence: Add common auto enable and auto disable
2021-03-05 14:52:46 +11:00
James O'Shannessy
e4f1e26b5c
AC_Fence: Disable fence floor when disabling the rest of the fence
2021-03-05 14:52:46 +11:00
Steven Josefs
c783410494
AC_Fence: adjusted AP_GROUPINFO to contain all copters
2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas
22bdc3e54c
AC_Fence: extend pre-arm checks
...
Fix comments
2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
2e422f249a
AC_Fence: small comment improvements. Do not call the same function four times
2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
15e95be7d7
AC_Fence: do not delete the FENCE_ENABLE parameter. It would confuse many users.
...
Talked to Randy about this. The consensus was not to delete the parameter
2021-03-05 14:52:46 +11:00
James O'Shannessy
783a4b7965
AC_Fence: Change logic to fence enable and sys_status reporting
2021-03-05 14:52:46 +11:00
James O'Shannessy
87b66b4b49
AC_Fence: Add parameters from Geofence to AC_Fence
...
AC_Fence: Add fence floor breach checks and calculations
AC_Fence: Add event logging to enable/disable of fence floor
AC_Fence: Adjust sys_status reporting to look at total fence count
AC_Fence: Make retrieving of the return point accessible
AC_Fence: Check whether fence is enabled or autoenable is set for arming checks
Checks whether the fence is currently enabled OR if the fence is intended to be enabled automatically.
These checks are used to find out enabled fences, or prearm checks
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
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
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
khancyr
65373b85f0
AC_Fence: replace AP_InertialNav by AHRS
2017-12-13 10:04:50 +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
Lucas De Marchi
52686ec838
AC_Fence: add static create method
2017-09-26 03:01:21 +01:00
khancyr
f583121433
AC_Fence: reset fences breach on disable
...
Also rename enable function parameter
2017-07-27 20:41:40 +09:00
Peter Barker
ae6df4fc04
AC_Fence: remove global static send_statustext_chan
2017-07-11 23:53:53 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas
9ac429ab13
AC_Fence: Use SI units conventions in parameter units
...
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Randy Mackay
c1a25c25f7
AC_Fence: return failure message
2017-03-25 10:50:58 +09:00
Randy Mackay
8171645876
AC_Fence: pre-arm check requires GPS if polygon fence enabled
2017-03-25 10:50:58 +09:00
Jacob Walser
3c6df7cc0e
AC_Fence: Add minimum altitude limit
...
get_safe_alt() -> get_safe_alt_max() and get_safe_alt_min()
2017-02-21 11:26:14 +11:00
murata
0f486aeecb
AC_Fence: shorten calculation of return value
2016-12-15 10:42:48 +09:00
murata
b48ea53f60
Revert "AC_Fence: Activate the create flag."
...
This reverts commit c63a6a2738
.
2016-12-09 23:55:29 +00:00
murata
c63a6a2738
AC_Fence: Activate the create flag.
2016-12-09 17:25:27 +00: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
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Peter Barker
d188504b8b
AC_Fence: remove unused variable _boundary_revalidate
2016-10-24 08:57:56 -02:00
Randy Mackay
e7020b218a
AC_Fence: revert param Enable to be FLAG_ENABLE
...
This reverts commit 5e811b8463
.
2016-08-31 08:55:31 +09:00
Tom Pittenger
5e811b8463
AC_Fence: set param "Enable" to be FLAG_ENABLE
2016-08-04 11:29:30 -07:00
murata
b6c27b58a8
AC_Fence: magic number 4 changed to size of uint32_t
2016-08-04 15:26:18 +09:00
Randy Mackay
e820506c5a
AC_Fence: add polygon fence check to check_destination_within_fence
2016-07-04 18:25:03 +09:00