Commit Graph

44 Commits

Author SHA1 Message Date
Andrew Tridgell 3e320d71ab Plane: added TERRAIN_FOLLOW parameter
when enabled RTL, CRUISE and rally points will use terrain altitude
2014-07-24 21:50:19 +10:00
Andrew Tridgell d18c00d6fc Plane: split up altitude handling
this creates altitude.pde for altitude handling, getting ready to add
terrain following
2014-07-24 21:50:19 +10:00
Andrew Tridgell 1e2b644b1b Plane: fix for HAL_GPIO_* 2014-06-02 10:42:36 +10:00
Michael Day 568fc9e6c9 Plane: Now using AP_Rally library. 2014-04-19 09:16:05 +10:00
Andrew Tridgell 95764f4d78 Plane: fixed allocation and reporting of fence status
prevent a false fence active report on boot, and prevent the fence
from loading when it is not needed. This saves about 200 bytes of ram
on APM2 for most users
2014-04-07 17:28:03 +10:00
Andrew Tridgell 14671d0bcd Plane: fixed previous_mode error in geofence
when we were in MANUAL we would switch back to STABILIZE
2014-03-29 13:53:19 +11:00
Andrew Tridgell 61ebf365d9 Plane: fixed reverting modes when FENCE_SET_RALLY is enabled
we need to keep the guided destination we are using
2014-03-27 10:41:24 +11:00
Andrew Tridgell 8639676eb3 Plane: we need 5 points for a valid geofence
the first and last points need to be the same for it to be a closed
polygon
2014-03-27 10:40:00 +11:00
Michael Day 268b1e85a1 Plane: Changes needed prior to merging with master identified by Tridge. 2014-03-27 09:26:20 +11:00
Michael Day f921d4fbac Plane: FENCE_RET_RALLY param. Plane returns to rally point on breach. 2014-03-27 09:26:20 +11:00
Michael Day 25f23cf16c Plane: Sends MAV_SYS_STATUS_GEOFENCE and also allows GCS to enable/disable fence. 2014-03-27 09:26:20 +11:00
Andrew Tridgell 4bf140aeac Plane: make next_WP and prev_WP be locations
having a command ID in them doesn't really make sense

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-03-19 12:12:39 +09:00
Randy Mackay 9446e9fd2e Plane: integrate AP_Mission library 2014-03-19 12:10:58 +09:00
Andrew Tridgell 57e0eb4db5 Plane: use a const reference for home 2014-02-15 05:48:15 +11:00
Andrew Tridgell 11337ab2df Plane: updates for AHRS holding home position 2014-02-15 05:29:47 +11:00
Michael Day c87d72353f Plane: Introducing FENCE_RETALT parameter. 2013-12-31 09:48:20 +11:00
Andrew Tridgell 72473e4317 Plane: use AP_HAL available_memory() call 2013-12-28 14:51:37 +11:00
Andrew Tridgell 4f242aedec Plane: fixed a bug where mode would not revert on geo-fence disable
the mode would not revert if the switch was in position 0
2013-12-17 14:14:13 +11:00
Michael Day dcfed13c87 Plane: Fence breach now sends to correct return point in Guided Mode. 2013-12-17 14:14:13 +11:00
Andrew Tridgell 58b767b8e4 Plane: rename geofence structure
makes using gdb easier as it doesn't mix up the structure and the
pointer
2013-11-23 18:50:55 +11:00
Andrew Tridgell ec0c894306 Plane: use the projected position for geofencing and waypoints 2013-09-17 21:05:25 +10:00
Andrew Tridgell f6688582a6 Plane: added FENCE_ACTION=3 behaviour
this makes it safer to enable the geofence as a receiver failsafe
mode. It retains manual throttle control, so if it triggers on the
ground due to the receiver losing signal from the transmitter then the
throttle can be kept low, preventing an unexpected takeoff.
2013-09-08 07:31:10 +10:00
Andrew Tridgell a33573352e Plane: fixes for updated AP_Math and AHRS APIs
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:30:04 +10:00
Andrew Tridgell 7c6dd0736e Plane: use hal.storage for eeprom access 2012-12-20 14:51:39 +11:00
Pat Hickey 92b0c302f2 ArduPlane: Ported to AP_HAL 2012-12-20 14:51:36 +11:00
Andrew Tridgell 2324997e16 APM: added ALT_OFFSET parameter
useful to adjust for barometric pressure changes during a long flight
2012-09-19 16:23:25 +10:00
Andrew Tridgell ded64fd9ea APM: check for geofence fence total of 0 2012-08-28 20:18:24 +10:00
Andrew Tridgell b4134de550 APM: ensure fence_total is positive
thanks to David Buzz for the suggestion
2012-08-24 14:56:46 +10:00
uncrustify e212c152f7 uncrustify ArduPlane/geofence.pde 2012-08-21 18:58:31 -07:00
Andrew Tridgell ffbd229841 APM: use AHRS position for geo-fence
this allows it to take account of dead-reckoning
2012-08-15 14:31:10 +10:00
Andrew Tridgell 817017658d APM: implement FENCE_ACTION_REPORT
when FENCE_ACTION is set to FENCE_ACTION_REPORT a fence breach is
reported, but the flight mode is not changed
2012-08-15 12:39:35 +10:00
Andrew Tridgell 0584017aff APM: expose change_command() and geofence_breached() to libraries
this makes a failsafe library easier
2012-08-15 12:39:34 +10:00
Andrew Tridgell 5bfd1200d6 APM: change variables to use _cm, _cd and _ms suffix for units
this makes it less likely that we mix up units
2012-08-08 12:12:30 +10:00
Andrew Tridgell 0b49ac0ed0 APM: fixed overflow in geofence code for altitudes above 327 meters 2012-07-31 15:46:47 +10:00
Andrew Tridgell 58fd91165f APM: fixed some build warnings and type errors 2012-07-06 19:59:18 +10:00
Andrew Tridgell 21f06f8a39 GeoFence: fixed default return altitude units
off by 100x!
2012-07-05 15:06:44 +10:00
Andrew Tridgell a6920d603d geofence: re-breach if user changes mode outside the fence
if the user changes mode while outside the fence, and fencing is still
enabled, then declare a new breach
2011-12-28 17:28:35 +11:00
Andrew Tridgell c14d702912 geofence: send fence status messages on fence events
this ensures the fence status goes out as soon as possible, which
means the messages arrive in a sane order on the GCS
2011-12-19 11:25:59 +11:00
Andrew Tridgell fc20aa9602 geofence: enable return to old control mode via FENCE_CHANNEL
if you disable fencing with the fence channel switch while still in
GUIDED mode to the return point, then reset the control mode back to
the transmitter control mode
2011-12-18 10:00:44 +11:00
Andrew Tridgell b9a88aac32 geofence: added FENCE_TRIGGERED_PIN
this allows for a digital pin to be set high when the geofence
triggers. This pin can be connected to an external failsafe device
2011-12-17 07:29:08 +11:00
Andrew Tridgell 42522baf9f geofence: store fence points as int32_t
this keeps maximum precision in fence boundaries
2011-12-16 20:11:51 +11:00
Andrew Tridgell fc495ce6a7 geofence: added fence status reporting and faster altitude check 2011-12-16 20:11:51 +11:00
Andrew Tridgell 64ae2ebec5 geofence: don't trim control surfaces on geo-fence breach
the user input is likely to be bad
2011-12-16 20:11:51 +11:00
Andrew Tridgell 3b148c87d5 geofence: main geo-fence code
this implements the primary logic of geo-fencing
2011-12-16 20:11:51 +11:00