Commit Graph

3477 Commits

Author SHA1 Message Date
IamPete1 76663d66e8 Plane: support bicopter tiltrotors 2019-07-02 10:15:17 +10:00
Peter Barker 80c7449145 Plane: add sanity check when fetching GCS_MAVLink instance 2019-06-27 07:54:45 +10:00
Michael du Breuil 39c35814ec Plane: Send a heartbeat on mode change 2019-06-26 12:58:18 -07:00
Peter Barker 3e4366906b Plane: allow GCS MAVLink base class to handle out-of-time for sending messages 2019-06-25 10:29:40 +10:00
Peter Barker 78a1f97caa Plane: remove pointless protocol parameter to setup_uart 2019-06-25 09:47:08 +10:00
Peter Barker a900fa0117 Plane: stop pointlessly passing serial manager around 2019-06-25 09:47:08 +10:00
Michael du Breuil 183640789d Plane: Enable scripting parameters 2019-06-18 00:06:32 -07:00
Peter Barker 53d2a6c1e2 Plane: set os_sw_version to date fw was compiled
Also avoids non-trivial-designator compilation error
2019-06-18 10:54:01 +10:00
Peter Barker 584404a6da Plane: add RC options for changing mode 2019-06-18 10:48:47 +10:00
Michael du Breuil 1d379dd0b3 Plane: Update for AFS interface 2019-06-18 10:02:05 +10:00
Andrew Tridgell 08baabed4a Plane: modify FENCE_AUTOENABLE docs 2019-06-11 06:58:47 +10:00
Andrew Tridgell 5076058459 Plane: added FENCE_AUTOENABLE=3 option
this enables the fence when arming. If the vehicle is outside the
fence or it can't be enabled then arming fails
2019-06-11 06:58:47 +10:00
Peter Barker fb2422e496 Plane: stop setting eas2tas in AirSpeed - it can work it out itself 2019-06-06 12:44:36 +10:00
1iggy2 220176f283 Plane: added octa I frame 2019-06-04 09:49:44 +09:00
Peter Barker 13f7022cec Plane: move Arming functions into AP_Arming file 2019-05-30 16:02:10 +09:00
Peter Barker 8fdc2a1bad Plane: emit throttle armed and throttle disarmed statustexts 2019-05-30 07:37:30 +09:00
Peter Barker 92ce75517c Plane: move check for ARMING_CHECK_NONE back into Plane
Plane allows all prearm and arm checks to be bypassed with
ARMING_CHECK_NONE.  Not all vehicles allow this, so move this bypass
back into Plane.
2019-05-30 07:37:30 +09:00
Peter Barker 400aa53654 Plane: move arming-related functionality into parent classes
Logging moves up
arming via mavlink moves up
arming via switch moves up
2019-05-30 07:37:30 +09:00
Peter Barker 515e950a66 Plane: add missing override keywords in afs 2019-05-15 21:05:20 +10:00
Andrew Tridgell a7c6e9c007 Plane: restore WP num on watchdog reset 2019-05-15 15:33:48 +10:00
Tom Pittenger 08d5e7d4ae Plane: move heartbeat sending to gcs instead of by vehicles 2019-05-14 10:54:45 -06:00
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