Commit Graph

3456 Commits

Author SHA1 Message Date
Mark Whitehorn 34a1cf9528 Plane: move callback setup to QuadPlane::setup() 2019-05-08 10:28:42 +10:00
Mark Whitehorn aeaff72e14 Plane: fix acro stabilization check 2019-05-08 08:44:52 +10:00
Mark Whitehorn 4a7ce1b384 Plane: clean up qacro 2019-05-08 08:44:52 +10:00
Peter Hall 0b1d392342 Plane: only save gains if disarmed in autotune 2019-05-07 09:23:50 +10:00
Tom Pittenger 6970a66cad Plane: refactor stick_mixing to library 2019-05-03 13:14:11 -07:00
Andrew Tridgell cd72657c94 Plane: fixed qautotune exit
this was lost in the onion changes
2019-05-02 06:59:12 +10:00
Vinicius Knabben 99ad94ec49 Plane: Added parachute release on critcal sink rate and battery failsafe actions
Signed-off-by: Vinicius Knabben <viniciusknabben@hotmail.com>
2019-04-30 10:04:58 +10:00
IamPete1 02d976f264 plane: reinstate tailsitter roll limit 2019-04-30 09:20:40 +10:00
Mark Whitehorn dd50d435ab Plane: limit bodyframe roll mode to tailsitters 2019-04-30 08:51:24 +10:00
Andrew Tridgell 40245cabf1 Plane: update release notes for 3.9.8 2019-04-26 07:17:48 +10:00
Peter Barker 14a8bf3aec Plane: move responsibility for logging into library 2019-04-23 10:06:17 +10:00
Peter Barker ad16f31e11 Plane: call compass cal routine directly from sched table 2019-04-23 10:06:17 +10:00
Mark Whitehorn f054301ec2 Plane: add QACRO roll/pitch/yaw rate params 2019-04-23 09:46:38 +10:00
Mark Whitehorn 8bcf2439ad Plane: quadplane stabilize manual throttle midpoint and expo
move throttle curve logic to AP_Math

use parameter THROTTLE_EXPO in get_pilot_throttle
2019-04-23 09:46:38 +10:00
Mark Whitehorn b515431008 AP_Math: add expo and throttle_curve functions 2019-04-23 09:46:38 +10:00
IamPete1 fb4b092917 plane: restore thr_min behaviour and update description 2019-04-23 09:39:45 +10:00
Pierre Kancir 65b4ba0539 ArduPlane: use past_interval_finish_line and line_path_proportion from Location 2019-04-23 09:20:43 +10:00
Mark Whitehorn 0a78368590 Plane: avoid arithmetic exception in powf 2019-04-23 09:15:55 +10:00
Mark Whitehorn e8adbba2fc Plane: bodyframe roll log target attitude bugfix 2019-04-23 09:15:55 +10:00
Mark Whitehorn 3e2a253f4a Plane: in QACRO mode, use multicopter attitude target to set nav_roll/pitch 2019-04-23 09:15:55 +10:00
Andrew Tridgell 4a47127c58 Plane: updated release notes for 3.9.8-beta1
# Conflicts:
#	ArduPlane/release-notes.txt
2019-04-22 17:08:03 +10:00
Andrew Tridgell 11e8243bc9 Plane: read RC input in failsafe handler 2019-04-22 17:03:23 +10:00
Andrew Tridgell 340722c3c3 Plane: don't overwrite home on an armed watchdog reset 2019-04-22 16:53:35 +10:00
Andrew Tridgell ebbe01bd83 Plane: bypass arming checks for armed watchdog reboot 2019-04-22 16:53:35 +10:00
Andrew Tridgell f7c00c506e Plane: read RC inputs in plane failsafe code 2019-04-22 16:53:35 +10:00
Andrew Tridgell 468ee0bd9b Plane: removed an unnecessary delay on init 2019-04-22 16:53:35 +10:00
Andrew Tridgell 77516329fc Plane: show message for skipping gyro cal 2019-04-22 16:53:35 +10:00
Peter Barker bba902ab94 Plane: move setting of compass sys_status bits up 2019-04-16 09:48:23 +10:00
Peter Barker f09822a400 Plane: adjust for desired spool state and spool state renames 2019-04-14 12:18:03 +09:00
Peter Barker 3a4cbdd41f Plane: remove pointless update_notify shim 2019-04-11 05:31:43 -07:00
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