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
Randy Mackay
a9d1dcd6ac
AC_Fence: trigger reloading of polygon fence if update from GCS
...
The GCS can either modify a point with a mavlink message or directly change the FENCE_TOTAL parameter value
2016-07-04 18:25:03 +09:00
Randy Mackay
5153c3d195
AC_Fence: merge with add polygon support
2016-06-25 15:55:55 +09:00
Randy Mackay
d91805edbf
AC_Fence: add support for polygon fences
2016-06-25 15:55:55 +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
Daniel Ricketts
e60710332b
AC_Fence: add accessors to return radius and safety margin
2016-06-22 11:38:15 +09:00
Randy Mackay
4829dbb55d
AC_Fence: rename check_destination_within_fence and accept distances in meters
2016-05-21 09:56:12 +09:00
Saloni Jain
ff843448aa
AC_Fence: Added a new function to check whether the guided waypoint is within the fence
2016-05-21 09:56:12 +09:00
Lucas De Marchi
7dc3942ad4
AC_Fence: replace header guard with pragma once
2016-03-16 18:40:39 +11:00
Lucas De Marchi
2591261af6
Global: rename min and max macros to uppercase
...
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.
Changes generated with:
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Caio Marcelo de Oliveira Filho
ccd03bcf60
AC_Fence: use millis/micros/panic functions
2015-11-20 12:27:11 +09:00
Lucas De Marchi
831d8acca5
Remove use of PROGMEM
...
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:
git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'
The 2 commands were done so we don't leave behind spurious spaces.
AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Gustavo Jose de Sousa
d030e817d9
AC_Fence: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:28:41 +10:00
Andrew Tridgell
aa1bfb1ca7
AC_Fence: revert AP_Math class change
2015-05-05 13:27:04 +10:00
Tom Pittenger
94ffc9b942
AC_Fence: compiler warnings: apply is_zero(float) or is_equal(float)
2015-05-05 13:26:55 +10:00
Randy Mackay
f06c859d93
AC_Fence: add comment re check_fence method
2015-04-14 16:10:09 +09:00
Jonathan Challinger
05fda4ee4c
AC_Fence: accept curr_alt parameter instead of getting alt from inav
2015-04-14 16:10:07 +09:00
Jonathan Challinger
f06cc5d0c1
AC_Fence: change inav to const reference
2015-04-14 16:10:02 +09:00
Randy Mackay
9aba885231
AC_Fence: fix prearm check
...
before arming the EKF's pred_horiz_pos_abs flag should be used
2015-03-18 21:25:47 +09:00
Randy Mackay
4754ecc9e2
AC_Fence: remove example sketch
...
This only tested compiling anyway
2015-03-13 16:40:52 +09:00
Randy Mackay
99046ebda6
AC_Fence: fix example sketch
2015-01-28 17:15:32 +09:00
Randy Mackay
c24e997fb2
AC_Fence: use inertial nav's get_filter_status
2015-01-22 14:39:40 +09:00
Andrew Tridgell
55ec316718
AC_Fence: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
4fcf46005b
AC_Fence: fixed example build
2014-10-24 12:10:39 +11:00
Andrew Tridgell
f721e020f5
AC_Fence: fixed example build
2014-08-13 21:45:43 +10:00
Randy Mackay
71df1eb94f
AC_Fence: fix example sketch
2014-07-29 12:00:46 +09:00
Andrew Tridgell
2b3becd252
AC_Fence: fixed example build
2014-07-25 17:53:27 +10:00
Randy Mackay
0c0521a555
AC_Fence: append f to floating point constants
2014-07-16 14:38:48 +09:00
Randy Mackay
cc9c3bb5aa
AC_Fence: increase default radius to 300m
...
300m is still within line of sight and this should reduce the number of
false breaches due to bad GPS positions
2014-07-14 11:25:04 +09:00
Randy Mackay
e855cfec02
AC_Fence: add 10sec manual recovery
...
This resolves issue #461 by giving the pilot a minimum of 10 seconds to
attempt to manually recover before the autopilot will attempt to retake
control to bring the copter home or land.
2014-04-27 11:11:07 +09:00
Andrew Tridgell
7b2d56a8cb
AC_Fence: disable example build
...
fails to build with compiler error
2014-04-01 06:38:25 +11:00
Andrew Tridgell
4507c0fc4c
AC_Fence: fixed example build
2014-03-19 12:13:57 +09:00
Randy Mackay
4484a4232a
AC_Fence: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
4c02212404
AC_Fence: minor comment fix
2014-02-15 05:27:39 +11:00
Randy Mackay
c4df3ea187
Fence: parameter display name fix
2013-11-26 22:18:05 +09:00
Andrew Tridgell
979c6ae3b6
AC_Fence: update for AHRS API changes
2013-11-04 21:21:42 +11:00
Randy Mackay
c602f7da0c
AC_Fence: fix example sketch
2013-10-27 21:53:22 +09:00
Tobias
b94d6848de
AC_Fence: replace "_ina->geT_position().z" with more efficent
...
"_inav->get_altitude()"
2013-10-27 13:41:19 +09:00
Tobias
596c7a25b7
AC_Fence: make member pointer to AP_InertialNav const, remove unused
...
gps-pointer member
2013-10-27 13:41:09 +09:00
Randy Mackay
f144de21b4
AC_Fence: fix example sketch
2013-09-26 17:52:13 +09:00
Andrew Tridgell
e1aa6e3ff1
libraries: fixed examples for no flash_leds() callback
2013-09-19 18:38:28 +10:00
Andrew Tridgell
9be02fb493
AC_Fence: changed to AP_Vehicle.h
2013-09-13 11:46:32 +10:00
Andrew Tridgell
e6794239ca
AC_Fence: fixed example build
2013-08-30 13:01:36 +10:00
Randy Mackay
04b84664e5
AC_Fence: add safety margin parameter
...
This will allow auto modes to proactively avoid breaching the fence
2013-08-15 16:05:38 +09:00
Randy Mackay
47f5c9b7a4
AC_Fence: remove unused gps pointer
2013-08-03 19:04:59 +09:00
Randy Mackay
de59ea3ddc
Copter Fence: reduce circle @Range to 30m
2013-07-27 10:28:33 +09:00
Andrew Tridgell
04835b095f
AC_Fence: fixed examples build
2013-07-15 14:09:18 +10:00
Andrew Tridgell
56694fd9b1
AC_Fence: fixed example build
2013-05-08 16:44:50 +10:00
Randy Mackay
bd75de6a22
AC_Fence: reduce to 150m radius and 100m high
...
100m high,
2013-05-03 14:57:37 +09:00
Randy Mackay
2d17688363
AC_Fence: add backup fence
...
Also includes fixes from code review with Tridge
2013-05-01 17:05:04 +09:00
Randy Mackay
9910d6d1cd
AC_Fence: first implemenation of library
2013-04-27 11:14:05 +09:00