Commit Graph

513 Commits

Author SHA1 Message Date
Tom Pittenger eaad72c192 Plane: Add support for handing ADS-B traffic
- parse MAVLINK_MSG_ADSB_VEHICLE msg
- new 1Hz adsb_update task to compare list against for threat detection
- perform object avoidance via loiter or loiter_and_descend. More methods are welcome!
2015-11-23 19:45:40 +11:00
Caio Marcelo de Oliveira Filho c8888329e1 Plane: use millis/micros/panic functions 2015-11-20 12:26:40 +09:00
lvale e18181e5c2 Plane: Uniformization of severities
Plane uniformization of severities
2015-11-09 09:38:25 +11:00
Lucas De Marchi 5244559010 Minimize AP_Progmem.h includes
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.

In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
2015-10-30 14:35:32 +09:00
Lucas De Marchi 1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi 84da1f5039 Rename gcs_send_text_P to gcs_send_text 2015-10-30 14:35:07 +09:00
Andrew Tridgell 3c3392aae5 Plane: improve error messages on failed parachute release 2015-10-27 16:06:34 +11:00
Andrew Tridgell 9affddcaa3 Plane: initial support for AP_Parachute library 2015-10-27 16:06:34 +11:00
Caio Marcelo de Oliveira Filho 62d4c05a8e ArduPlane: include SITL only for SITL board
Include board-specific files only when the board is used. Since these
should be exceptional cases, let the includer handle the ifdef instead
of putting ifdefs in every platform-specific header.

In the future we should evaluate whether the HAL for the board should
instantiate this.
2015-10-22 13:36:14 -02:00
Caio Marcelo de Oliveira Filho 49a42dc985 SITL: use a SITL namespace 2015-10-22 11:04:42 -02:00
Caio Marcelo de Oliveira Filho db3e501aec ArduPlane: implement HAL::Callbacks
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Randy Mackay 073828a764 Plane: add ahrs health pre-arm check 2015-10-16 13:50:59 +09:00
Andrew Tridgell 458e967d06 Plane: added RPM logging
useful for seeing if a petrol motor is still running
2015-09-24 20:58:18 +10:00
Andrew Tridgell c14dbcfc44 Plane: set version to 3.4.1dev 2015-09-24 11:12:41 +10:00
Andrew Tridgell 38d51ddb32 Plane: prepare for 3.4.0 release 2015-09-24 10:08:27 +10:00
Andrew Tridgell 91f990af06 Plane: added EKF2 to parameters as EK2_* 2015-09-23 11:56:37 +10:00
Andrew Tridgell b735999848 Plane: prepare for beta3 2015-09-22 09:43:39 +10:00
Andrew Tridgell d019f83bee Plane: allow for higher roll limits on takeoff
only restrict to LEVEL_ROLL_LIMIT below 5m. Above that start to allow
larger roll limits, reaching the full roll limit at 15m
2015-09-17 15:35:37 +10:00
Andrew Tridgell 86e8c7ed2f Plane: add some safety to detect bad lidar readings
we only accept a lidar if it changes by 5% of its full range, and we
reject a lidar again if the correction between barometric and lidar
range changes by more than 30m

This allows us to cope with faulty lidars which may give a constant
reading
2015-09-16 14:24:44 +10:00
Andrew Tridgell d43d070e75 Plane: ensure throttle reverse is obeyed in all states
need to use radio_max for failsafe if reversed
2015-09-14 09:42:20 +10:00
Tom Pittenger 4f46c5331a Plane: added time for flying in any mode
- previously we only kept track of starting flying while in auto which gets reset when switching in and out of auto and on takeoff/land. Now we keep track of a "global" one that will track the is_flying flag regardless of the flight mode.
2015-09-09 09:14:59 +10:00
Tom Pittenger 25da4ec0ea Plane: added flight stage FLIGHT_LAND_ABORT and abort mechanism
- enabled via new param LAND_ABORT_THR default is 0 (disabled)
- Triggered via 95% throttle during landing, a landing abort will take place.
- This copies all takeoff params for right now, we can make this better later if needed
- added mission item command to NAV_LAND which is the abort takeoff altitude. If 0 then use last takeoff if available, else use 30m
- hold heading, just like takeoff, until altitude is reached
- pitch is constrained to takeoff pitch, or else 10deg if not available
- After abort altitude is reached, the normal landing restart happens (DO_LAND_START or decrement mission)
- restart landing by jumping to DO_LAND_START or decrement mission on mode change
2015-09-09 09:04:24 +10:00
Andrew Tridgell 0a66fcce20 Plane: fix for changed AP_RangeFinder API 2015-09-08 16:46:52 +10:00
Andrew Tridgell f92f46ee99 Plane: update for changed AP_Arming API 2015-09-08 13:54:45 +10:00
Grant Morphett 3cb0c1bba8 Plane: Move the plane centric arming code into arming_checks.cpp
Needed to move the plane centric arming code out of the AP_Arming
library and into the plane vehcile code.
2015-09-07 11:54:21 +10:00
Andrew Tridgell e12c20bd22 Plane: prepare for 3.4.0-beta2 release 2015-09-07 09:30:34 +10:00
Siddharth Bharat Purohit aea1db7348 ArduPlane: implement on-board compass cal for arduplane 2015-09-03 16:59:14 +10:00
Peter Barker c2d61391ef Plane: DFMessageWriter; ability to trickle messages out to DF 2015-09-03 15:20:20 +10:00
Tom Pittenger 81f8358705 Plane: restart landing by jumping to DO_LAND_START or decrement mission
only takes effect on mode change
2015-08-29 21:17:35 +10:00
Stewart Loving-Gibbard 722dd29370 Plane: Moving to RSSI library for reading various kinds of RSSI, with the possibility of adding more.
* Retains ability to read from Analog Pin
* Adds ability to read RSSI from PWM channel value as is done in OpenLRSng, EazyUHF, and various other LRS.
* Handles any type of RSSI that provides RSSI values inverted - i.e. when the low value is the best signal and the high value is the worst signal.
* Has different key names from all existing RSSI parameters to provide for a clean break and easier distinguishing.
* Existing parameters are marked as obsolete
2015-08-29 08:05:59 +10:00
squilter 583c087eca Plane: update severities 2015-08-28 10:04:35 +10:00
Grant Morphett dda229aecd Plane: Added include guards for Plane.h 2015-08-25 13:54:16 +09:00
Tom Pittenger 204ff7b158 Plane: move statics into new struct
removed default case statements
2015-08-23 10:34:18 +10:00
Tom Pittenger da8f4f9e95 Plane: reworked is_flying
add crash detection, allow disengage via param CRASH_DETECT
improved is_flying behavior
take off, landing and hard-landing improvements
add stillness check to is_flying and log it
minimum airspeed is determined ARSPD_FBW_MIN*0.75
2015-08-23 10:34:18 +10:00
squilter d421644f3a Plane: define and send FIRMWARE_VERSION 2015-08-23 09:21:57 +09:00
Andrew Tridgell b1f810fbb9 Plane: prepare plane 3.4.0beta1 release 2015-08-20 10:53:48 +10:00
Tom Pittenger 86e3116fb6 Plane: implement try send mission_item_reached
clean up unreachable code
2015-08-19 15:42:07 +10:00
Tom Pittenger f1eb2f88df Plane: post "Distance from LAND point" on every land
- waits until disarm after a land
2015-08-18 17:20:20 +10:00
Gustavo Jose de Sousa 93c80b03ae ArduPlane: 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:40 +10:00
squilter c24ba83fb1 Plane: init vehicle capabilities 2015-08-05 16:08:49 +09:00
Andrew Tridgell 6e0057778b Plane: remove unused file 2015-07-30 11:14:39 +10:00
Andrew Tridgell 58fa38cc12 Plane: allow rudder disarm based on ARMING_RUDDER parameter 2015-07-23 21:48:50 +10:00
pepevalbe da41d85433 Plane: It is possible to disarm with left rudder.
Using is_flying() avoid accidentally disarming while flying.
2015-07-23 21:48:44 +10:00
Andrew Tridgell 266857c595 Plane: avoid linking optflow on APM2
not used, just taking memory
2015-07-10 16:46:30 +10:00
Randy Mackay 76ccf4043e Plane: log ahrs home and ekf origin 2015-07-06 12:11:56 +09:00
Peter Barker 3fce7eb21a Plane: use common mission logging code 2015-06-30 16:23:35 +10:00
Peter Barker 7f0a0cf64f Plane: DataFlash frontend/backend split 2015-06-26 16:02:50 +10:00
Andrew Tridgell 2dbe372b2f Plane: cleanup some coverity warnings 2015-06-20 13:26:34 +10:00
Andrew Tridgell 76c0293a85 Plane: added support for DO_AUTOTUNE_ENABLE 2015-06-15 09:20:55 +10:00
Andrew Tridgell d5c5400e76 Plane: added support for ALTITUDE_WAIT mission command 2015-06-15 09:20:55 +10:00
Andrew Tridgell 358a13261c Plane: moved sink_rate calculation to update_alt()
this makes it available to non-landing code
2015-06-15 09:20:55 +10:00
Andrew Tridgell 5942bf5cf0 Plane: added plane specific arming checks
added check for roll and pitch limits, after flyaway due to small
LIM_ROLL_CD
2015-06-04 13:26:39 +10:00
Andrew Tridgell 47f4a5db10 Plane: try to load px4 mixer 10 times on boot
this allows for possible temporary failures
2015-06-02 21:59:03 +10:00
Andrew Tridgell 9adc879253 Plane: changes for new AHRS API 2015-06-01 16:16:49 +10:00
Andrew Tridgell 1797e2baa8 Plane: simpler initalisation of plane class
take advantage of C++11 in-class initialisation
2015-06-01 08:48:54 +10:00
Andrew Tridgell 09476bf9d3 Plane: added GCS_PID_MASK for realtime pid tuning 2015-05-27 14:28:46 +10:00
Lucas De Marchi 7c4cf41ebc ArduPlane: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:54 +10:00
Andrew Tridgell eee191875e Plane: fixed plane version, removing old pde 2015-05-22 16:07:43 +10:00
Andrew Tridgell 441d96c946 Plane: fixed APM1 build 2015-05-21 07:48:53 +10:00
Andrew Tridgell 554869033f Plane: disabled rangefinder on APM2
this saves 5k of flash space, enough for support to be kept for
another release
2015-05-21 07:48:53 +10:00
Andrew Tridgell 6fe65cdd9a Plane: removed duplicate rangefinder 2015-05-21 07:48:53 +10:00
Andrew Tridgell b92c2409e4 Plane: added local millis() and micros() to reduce code size a bit 2015-05-21 07:48:53 +10:00
Andrew Tridgell 18c37935c9 Plane: convert from .pde to .cpp files 2015-05-21 07:48:52 +10:00