Commit Graph

3426 Commits

Author SHA1 Message Date
Peter Barker a19df642a0 Plane: RangeFinder now handles RFND logging 2019-04-09 22:17:58 +10:00
Michael du Breuil f5511d6119 Plane: Check all EKF cores for health 2019-04-09 10:53:25 +10:00
Peter Barker 3e505f33c3 Plane: use RSSI singleton for logging 2019-04-09 09:33:13 +10:00
Pierre Kancir d8990a002e Plane: update locations_are_same to same_latlon_as 2019-04-08 08:05:05 -07:00
Pierre Kancir 47141562c0 ArduPlane: use get_distance_NE instead of location_diff 2019-04-08 08:00:52 -07:00
Leonard Hall 2daa5ffb9e Plane: replace set_throttle_out_unstabilized 2019-04-08 09:42:21 +09:00
Andrew Tridgell fb061a225a Plane: fixed build with HAL_MINIMIZE_FEATURES enabled
thanks to PompeCukor for noticing
2019-04-08 09:34:15 +10:00
Michael du Breuil 35bd143532 Plane: Update GPS before updating current_loc
Fixes 20ms of extra induced lag on the DCM position estimate
2019-04-05 23:08:24 -07:00
Michael du Breuil ea031d720a Plane: Fix RangeFinder init 2019-04-06 09:15:22 +11:00
Pierre Kancir 3f5999a6ad ArduPlane: move location_update to Location and rename to offset_bearing 2019-04-06 09:10:28 +11:00
Pierre Kancir 58328da5f3 ArduPlane: move get_bearing_cd to Location and rename to get_bearing_to 2019-04-06 09:10:28 +11:00
Michael du Breuil 8802ea10e5 Plane: include FWversion 2019-04-05 20:12:53 +11:00
Michael du Breuil 171f4ac3d3 Plane: Include needed AP_Logger header 2019-04-05 20:12:53 +11:00
Tom Pittenger ade6281923 Plane: use #if ADVANCED_FAILSAFE == ENABLED just like Rover and Copter 2019-04-03 17:46:50 -07:00
Tom Pittenger ca40c7f2d5 Plane: create afs_plane.h to match copter and rover structure 2019-04-03 17:46:50 -07:00
IamPete1 520f5f7894 Plane: add crow flap options paramiter 2019-04-04 09:18:11 +11:00
Patrick José Pereira c484b93314 Plane: Use new RC_Channel AUX_FUNC
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-04-03 09:53:58 -07:00
Tom Pittenger fbe483ccac Plane: gracefully-ish fail set_mode(qmode) 2019-04-02 16:28:52 +11:00
Tom Pittenger b8a44e6e52 Plane: rearranged some set_mode checks 2019-04-02 16:28:52 +11:00
Tom Pittenger 05774a8a5a Plane: fixed some rebase duplicate code. 2019-04-02 16:28:52 +11:00
Tom Pittenger 0270c57530 Plane: massive refactor and creation of Mode class 2019-04-02 16:28:52 +11:00
Peter Barker 29258f6752 Plane: rely on AP_Mission to emit GCS text 2019-04-02 11:07:58 +11:00
Peter Barker 903be58436 Plane: add param conversion from MAG_ENABLE to COMPASS_ENABLED 2019-04-02 10:24:49 +11:00
Peter Barker 73707077b5 Plane: move enabled parameter into compass library 2019-04-02 10:24:49 +11:00
Peter Barker a372428ec5 Plane: use sanitize method rather than location_sanitize function 2019-04-02 10:19:38 +11:00
Peter Barker f004765494 Plane: fix incorrect misleading comment 2019-03-31 18:35:53 -07:00
Andrew Tridgell 954b6ae791 Plane: fixed WAIT_ALTITUDE wiggle
when wiggle value is zero servos should be neutral
2019-03-30 10:49:41 +11:00
Tom Pittenger cd0879cff0 Plane: rename dataflash to logger 2019-03-28 11:19:41 -07:00
Tom Pittenger 7030dbc766 Plane: rename dataflash to logger 2019-03-28 16:40:57 +11:00
Peter Barker bbc38f41eb Plane: use convenience manual_override method 2019-03-27 22:33:47 -07:00
Mark Whitehorn b3f093b877 Plane: remove trig calls from constexpr 2019-03-28 09:41:14 +11:00
Peter Barker 7dafde5783 Plane: stop passing dataflash into handle_radio_status 2019-03-27 10:38:39 +11:00
Mark Whitehorn e0765747e7 Plane: add new tailsitter bodyframe roll option 2019-03-26 14:50:37 +11:00
Peter Barker d0bf257357 Plane: move various sensor status flag updates up 2019-03-26 11:03:21 +11:00
IamPete1 ffc94f19cd Plane: use AHRS view for all vtol modes 2019-03-26 10:41:55 +11:00
Peter Barker 6c5c14381f Plane: move devo telemetry handling to GCS 2019-03-19 14:39:14 +11:00
Peter Barker 1a55f0ffab Plane: FrSky support has moved to GCS 2019-03-19 14:39:14 +11:00
Peter Barker d58a15ca32 Plane: fill Notify flag for flying 2019-03-19 14:39:14 +11:00
Peter Barker f940564f2b Plane: use enum class for AltFrame enumeration 2019-03-19 10:31:18 +11:00
Mark Whitehorn 825055d736 Plane: add rate-only option for QACRO mode 2019-03-19 10:13:59 +11:00
Mark Whitehorn 6414f0e48e Plane: skip plane assignments in QACRO 2019-03-19 10:13:59 +11:00
Mark Whitehorn abfeee3a3d Plane: fix indentation 2019-03-19 10:13:59 +11:00
Andrew Tridgell 3907466f9d Plane: added TKOFF_TIMEOUT parameter
this allows for a timeout on auto-takeoff. This can be combined with
other takeoff parameters to allow the user to abort a hand-launch
after the motor has started without GCS interaction.

The 4m/s threshold is a bit arbitrary. We could make that a parameter
in the future if it is needed
2019-03-18 14:48:08 +11:00
Andrew Tridgell 2b6210d594 Plane: use WP height for height above ground in vtol landing
this allows for landings above or below the takeoff height without
requiring the use of terrain data. It allows both the use of vfwd
motor for holding against wind, and the correct height for land final
descent rate
2019-03-18 14:47:27 +11:00
Andrew Tridgell b4103d04cc Plane: never use vfwd motor if vtol motors shutdown 2019-03-18 13:38:41 +11:00
Andrew Tridgell 7908ad437e Plane: allow fwd motor to run in VTOL land hor positioning
this fixes an issue with vtol landings below the takeoff point
2019-03-18 13:38:41 +11:00
Peter Barker 0edba9070f Plane: move sending of RPM message up 2019-03-16 10:33:01 +09:00
Peter Barker d489d9a585 Plane: compass init never fails 2019-03-13 13:06:50 +11:00
Peter Barker ca7566fff9 Plane: use enum class for ArmingMethod and ArmingRequired 2019-03-12 19:48:14 +11:00
Peter Barker cbb0bfb809 Plane: is_flying_vtol: if spool mode is shut down we are not flying
The subsequent check for get_throttle passes if you switch from QHOVER
to MANUAL on the ground while armed.  get_throttle returns > 0.01 - but
the motors are shut down so no output occurs.
2019-03-12 10:21:11 +11:00
Peter Barker cf45b54070 Plane: quadplane use prearm checks from Attitude and Position controllers 2019-03-12 10:14:14 +11:00
Mark Whitehorn f7bf10fcfc ArduPlane: add rudder to tailsitter gain scaling 2019-03-12 10:12:23 +11:00
Mark Whitehorn 4a6b97828f ArduPlane: add tailsitter input type TAILSITTER_INPUT_BF_ROLL 2019-03-06 15:48:51 +11:00
Mark Whitehorn 01d6f1d932 ArduPlane: add body-frame yaw mode for tailsitters 2019-03-06 15:48:51 +11:00
IamPete1 872c3df45c Plane: tailsitter pull in copter ouputs from AP_motors 2019-03-06 14:46:39 +11:00
Peter Barker bd444d97dc Plane: move sending of airspeed_autocal into AP_AirSpeed 2019-03-06 11:32:52 +11:00
Mark Whitehorn 6e4a2b97f9 ArduPlane:add subclass for copter tailsitters
cleanup and add tailsit_motmx
add constexpr and motor mask check
add support for tricopter tailsitter
don't call output_motor_mask unless armed
fix whitespace
2019-03-06 07:53:46 +09:00
Peter Barker 94899bd2ed Plane: move sending of send_pid_tuning up 2019-03-05 10:41:56 +11:00
Mark Whitehorn 61aff344d3 ArduPlane: add high-speed Qmode tailsitter gain scaling with support for airspeed sensor 2019-03-05 10:27:42 +11:00
Mark Whitehorn 487ad7a90f Plane: add QACRO mode for quadplanes
use acro_r/p/y_rate params in qacro
port ACRO throttle handling from copter

handle non-tailsitter controls
2019-03-05 10:13:20 +11:00
Peter Barker a451380d61 Plane: avoid int32_t<->float conversions 2019-03-01 12:09:58 +11:00
Dr.-Ing. Amilcar do Carmo Lucas f430fd14f6 Plane: 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
Andrew Tridgell cd1f21b806 Plane: removed some px4 specific code and docs 2019-02-27 20:32:37 +11:00
IamPete1 f24c6785f2 Plane: add E-stop 2019-02-27 08:51:24 +09:00
Andrew Tridgell 136e10a781 Plane: handle VTOL landing with incorrect height
if landing above expected height then run landing detector to allow a
switch from LAND_DESCEND to LAND_FINAL

this prevents the plane sitting on the ground until the battery runs
out
2019-02-26 11:12:58 +11:00
Peter Barker dea75a87fd Plane: AHRS set_orientation renamed to update_orientation 2019-02-26 10:28:09 +11:00
Michael du Breuil b290148ed0 Plane: Don't overwrite the quadplane loiter relax 2019-02-23 11:08:21 +11:00
Andrew Tridgell a278a152fc Plane: fixed throttle nudge
broken by recent radio input changes

Thanks to Michael for noticing!
2019-02-22 18:41:34 +11:00
Michael du Breuil c15983c690 Plane: prevent loss of control when Q_ENABLE is set while flying
Also rename check_throttle_suppression
2019-02-21 21:38:03 -07:00
Andrew Tridgell c290b1f3b5 Plane: fixed servo jitter due to airspeed estimate from throttle
when we have no other airspeed source and we are armed we get airspeed
from throttle. the default setting of k_throttle in the radio code
caused an oscillation of the value used in the airspeed estimate, each
time a RC frame came in.
2019-02-22 14:42:17 +11:00
Michael du Breuil 25a2c77782 Plane: Fix not logging quadplane control, and over logging attitude control 2019-02-22 11:59:26 +11:00
Andrew Tridgell d7abf27ec2 Plane: fixed servo jitter due to airspeed estimate from throttle
when we have no other airspeed source and we are armed we get airspeed
from throttle. the default setting of k_throttle in the radio code
caused an oscillation of the value used in the airspeed estimate, each
time a RC frame came in.
2019-02-22 10:27:36 +11:00
Peter Barker c24759d3df Plane: use abs not fabsf for integers 2019-02-20 19:23:54 +11:00
Peter Barker cdde2b7d64 Plane: Rally no longer takes ahrs in constructor 2019-02-20 18:03:38 +11:00
Michael du Breuil 5134af2298 Plane: Manage quadplane throttle during RC failsafe 2019-02-19 20:41:05 -07:00
Peter Barker 1ab80ddce0 Plane: move update_sensor_flags to GCS_Plane.cpp 2019-02-20 11:57:00 +11:00
Peter Barker 34853fb1bf Plane: move update_sensor_status_flags into GCS subclasses 2019-02-19 14:09:59 +11:00
Peter Barker a3c13fc028 Plane: move sensor flags to be a GCS thing rather than a GCS_MAVLINK thing 2019-02-19 14:09:59 +11:00
Peter Barker 33541dcbf6 Plane: GCS_MAVLink takes care of mavlink capabilities 2019-02-19 13:14:52 +11:00
Peter Barker 5690a0ea4a Plane: move try_send_message of nav_controller_output up 2019-02-19 10:08:00 +11:00
Mark Whitehorn 95b3a5bacd ArduPlane: implement hover throttle learning for quadplanes
disable by default
check quadplane.enable in update_hover_learn
2019-02-16 19:04:13 -08:00
Peter Barker 0858847294 Plane: remove redundant send_ekf_origin 2019-02-15 08:28:45 +11:00
Peter Barker 0c880a4c3e Plane: remove redundant home-setting sanity checks 2019-02-15 08:28:45 +11:00
Peter Barker b6bf8d8368 Plane: make setting of home boolean in preparation for sanity checks 2019-02-15 08:28:45 +11:00
Peter Barker 5a19f447a7 Plane: devo telemetry no long requires singleton classes to be passed in 2019-02-13 19:24:07 +00:00
Peter Barker 4f249db8bc Plane: move responsibility for parachute deployment up 2019-02-13 09:25:27 +09:00
Peter Barker 30671a6743 Plane: move handling of command-int MAV_CMD_DO_SET_HOME up
Plane: eliminate set_home shim around AP_AHRS::set_home
2019-02-13 09:42:26 +11:00
Peter Barker cfb3dfc4e5 Plane: AP_Frsky_Telem uses singletons 2019-02-12 17:53:23 +00:00
Andrew Tridgell 0089e98bb6 Plane: call AHRS resetHeightDatum() on baro reset
this prevents the AMSL estimate from the EKF going off badly if we
disarm at a high altitude
2019-02-12 12:17:02 +11:00
Peter Barker 3bba981a00 Plane: dataflash always emits rally points at startup 2019-02-12 11:48:55 +11:00
Mark Whitehorn b9f3118374 Plane: allow changing Q_TRIM_PITCH in flight
change float comparison to is_equal
2019-02-12 09:42:19 +11:00
Tom Pittenger c422a21f55 Plane: ICE to use ahrs singleton 2019-02-05 15:34:08 +11:00
Peter Barker 6e1dc79b75 Plane: move handling of RC_CHANNELS_OVERRIDE up 2019-02-05 13:59:21 +11:00
Peter Barker b48cb1e367 Plane: move sending of sys_status message up 2019-02-05 11:07:39 +11:00
Michael du Breuil df1632054e Plane: Update throttle mix 2019-02-05 11:05:54 +11:00
Andrew Tridgell 5dbf603450 Plane: separate out slew limit logic for left/right throttles 2019-02-03 05:06:37 -08:00
Andrew Tridgell 28cf9d2f24 Plane: allow rudder at zero throttle
if rudder disarming is disabled
2019-02-03 05:02:07 -08:00
Randy Mackay 4d5e13f1d4 Plane: : integrate AC_WPNav::get_speed rename to get_default_speed 2019-01-31 19:34:32 +09:00
Peter Barker a697d5f6fe Plane: AC_Fence is included for all vehicles 2019-01-31 13:44:29 +09:00
Peter Barker 11dd83e23a Plane: remove rally argument from Write_Rally - use singleton 2019-01-31 09:51:25 +09:00
Peter Barker 68b9e64077 Plane: remove old, unfulfilled method declarations 2019-01-30 09:03:52 +09:00
Tom Pittenger 05bf329d81 Plane: ignore battery failsafe during landing
fixes https://github.com/ArduPilot/ardupilot/issues/10320
2019-01-23 14:16:27 -07:00
Nathan E 4d7fc66657 Update parameters.cpp per magicrub comments 2019-01-23 09:24:18 -07:00
Nathan E 448d19ddbb Update ArduPlane/Parameters.cpp 2019-01-23 09:24:18 -07:00
Mark Whitehorn 5c81a78c9c Plane: tailsitter forward transition bugfix 2019-01-22 12:55:47 +11:00
Peter Barker 40856fef56 Plane: remove vestiges of old PX4_MIXER code 2019-01-19 19:31:03 +11:00
Peter Barker 6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker 99a93112b4 Plane: remove PX4-specific code that disables overrides on reboot 2019-01-18 17:32:02 +11:00
Andrew Tridgell bc438676ab Plane: fix tailsitter logged attitude targets 2019-01-18 14:16:55 +11:00
Peter Barker 129762d3af Plane: APM_Control uses DataFlash singleton, stop passing it 2019-01-18 14:14:22 +11:00
Francisco Ferreira d0fa931b09
Plane: add KDECAN to included libraries 2019-01-18 00:57:32 +00:00
Peter Barker 76b31f315a Plane: log_terrain_data no longer takes a DataFlash argument 2019-01-18 11:17:40 +11:00
Peter Barker a35fbb4a11 Plane: Log_Write_SIMSTATE no longer takes dataflash pointer 2019-01-18 11:16:54 +11:00
Peter Barker cb92fba701 Plane: remove PX4 FWVersion info 2019-01-16 11:47:55 +11:00
Peter Barker b258e89a2d Plane: adjust for Location_Class and Location unification 2019-01-16 11:45:29 +11:00
Peter Barker acafb0f3c1 Plane: adjust for location flags being moved out of union 2019-01-16 11:45:29 +11:00
Randy Mackay 2650b1fe93 Plane: desired-ground-idle replaces spin-when-armed 2019-01-15 11:41:44 +09:00
Michael du Breuil 843c92ced5 Plane: Remove some redundant code/state resets 2019-01-15 10:45:50 +11:00
IamPete1 9c0ac5899f Plane: pass rudder diffential thrust to AP_motors 2019-01-15 10:19:19 +11:00
IamPete1 eaed0a2d47 Plane: make rudder differnal thrust global 2019-01-15 10:19:19 +11:00
Andrew Tridgell f35cebcca4 Plane: fixed EKF yaw reset
we need to do the yaw reset before updating the rest of quadplane, or
it is not effective

thanks to Leonard for noticing the bug!
2019-01-14 08:32:17 +11:00
Andrew Tridgell 53a1d98b68 Plane: fixed VTOL takeoff to ignore lat/lon in mission
we should always takeoff vertically
2019-01-11 13:48:45 +11:00
Peter Barker 5c90a2dab2 Plane: Terrain uses rally singleton 2019-01-09 10:14:16 +11:00
Michael du Breuil d6cac4b52a Plane: Add a failure timer for quadplane forward transitions
Falls over to QLAND if we fail to transition
2019-01-08 10:52:12 +11:00
Michael du Breuil 64e152fbc0 Plane: Remove unneeded GCS rally override 2019-01-08 10:39:50 +11:00
Michael du Breuil ae6dc01cd5 Plane: Reset all storage when format version is incorrect 2019-01-08 10:35:37 +11:00
murata 02d692f32e Plane: Delete NuttX version processing 2019-01-08 10:06:20 +11:00
Andrew Tridgell 97e54f6359 Plane: allow mavlink when in sensor error 2019-01-04 19:17:31 +11:00
Michael du Breuil 09f6ec8a00 Plane: Remove unneeded AP_Buffer include 2018-12-31 11:41:43 +09:00
Michael du Breuil e6bc44f471 Plane: Fix cases where quadplane level transition was not applied 2018-12-31 10:36:32 +11:00
Michael du Breuil 69c87c6c4a Plane: Disallow arming if quadplane has been requested but isn't available 2018-12-28 18:09:21 +11:00
IamPete1 9c2db806f3 Plane: add units to Q_VFWD_ALT 2018-12-28 16:15:41 +11:00
Andrew Tridgell 7939f3488b Plane: log PIDs during QAUTOTUNE twitch 2018-12-22 15:10:23 +11:00
Andrew Tridgell 088442880e build: removed makefile build system 2018-12-22 11:06:59 +11:00
Andrew Tridgell 9117dcc54b Plane: don't log QTUN when VTOL not active 2018-12-21 22:17:52 +11:00
Andrew Tridgell d3afc9424a Plane: make QTUN logging match copter logging 2018-12-21 22:17:52 +11:00
Andrew Tridgell 1013eddfce Plane: use AHRS_View for RATE logging 2018-12-21 22:17:52 +11:00
IamPete1 1a98989ac6 Tailsitter: move mixer to AP_motors 2018-12-21 11:19:18 +09:00
Michael du Breuil a78bce32c0 Plane: Allow users to force target airspeed in cruise or fbwb 2018-12-18 22:36:55 -08:00
Peter Barker d133f998c5 Plane: split SIMSTATE, AHRS2 and AHRS3 onto their own ap_message ids 2018-12-19 13:19:23 +11:00
Peter Barker 54022b6b57 Plane: split DISTANCE_SENSOR onto its own ap_message id 2018-12-19 07:24:37 +11:00
Randy Mackay a96c1566ec Plane: fix quadplane pos control param docs 2018-12-18 12:01:07 +00:00
Peter Barker 17f244ce9f Plane: try_send_message caller checks telemetry_delayed 2018-12-18 14:25:56 +11:00
Peter Barker 5137c0ab5f Plane: split SYS_STATUS and POWER_STATUS onto separate ap_messages 2018-12-18 14:05:20 +11:00
Michael du Breuil 47dfafd670 Plane: Ensure that the plane is an appropriate distance out before starting the approach 2018-12-18 10:11:22 +11:00
Michael du Breuil 05484c3987 Plane: Support a different landing airspeed for fw quadplane landings 2018-12-18 10:11:22 +11:00
Michael du Breuil 1a45755ffd Plane: Support a different landing radius for quadplane fw approach 2018-12-18 10:11:22 +11:00
Michael du Breuil f1154a6e7c Plane: Pass the mission command around rather then fetching it 2018-12-18 10:11:22 +11:00
Michael du Breuil 42e67d5849 Plane: Whitespace fixes 2018-12-18 10:11:22 +11:00