Commit Graph

4452 Commits

Author SHA1 Message Date
Andrew Tridgell 3194059408 Plane: allow TAKEOFF mode on board with no compass 2019-10-17 12:19:43 +11:00
Andrew Tridgell f628524601 Plane: if already flying in TAKEOFF mode then skip takeoff 2019-10-17 12:19:43 +11:00
Andrew Tridgell dc2aaa7d5a Plane: deny reverse thrust in takeoff mode 2019-10-17 12:19:43 +11:00
Andrew Tridgell ff400243e0 Plane: added a new TAKEOFF flight mode
takeoff then circle in direction of takeoff
2019-10-17 12:19:43 +11:00
Henry Wurzburg 3e08e18202 Plane: add QACRO to flight mode list 2019-10-16 13:14:06 +11:00
Andrew Tridgell f821ca4677 Plane: remove AP_ADSB from wscript 2019-10-16 13:13:24 +11:00
Peter Barker 5d405896f8 Plane: move many members up to base class 2019-10-08 11:26:04 +11:00
Peter Barker a252aad39b Plane: become an AP_Vehicle 2019-10-08 11:26:04 +11:00
sas 9405fd6958 Plane: remove unused location argument to control_auto 2019-10-08 10:49:51 +11:00
Peter Barker fa0d0c6176 Plane: remove bogus ARMING_CHECK_NONE 'bitmask value' 2019-10-08 10:31:07 +11:00
Andrew Tridgell 2f936b0d3e Plane: updated release notes for 4.0.0beta3 2019-10-07 21:41:19 +11:00
Michael du Breuil f9580424f6 Plane: Resore old default behaviour for throttle curves
The change in this made QStabilize behave very differently then it had,
which is quite shocking in a test flight.
2019-10-07 21:17:07 +11:00
Andrew Tridgell db4ae9ff24 Plane: check airspeed and active Z controll for hover learning 2019-10-04 14:01:08 +10:00
Peter Barker 177f7bed81 Plane: remove unused configuration options 2019-09-27 11:58:10 -06:00
Peter Barker 3bb1b0845c Plane: stop compiling in AP_Buffer 2019-09-24 09:36:33 +10:00
Michael du Breuil 8bfab6d2f2 Plane: Geofence, speed up the no fence checks if disabled
This just checks if we are going to early out on the fence because it's
disabled. This also saves us 60 bytes of flash space. This technically
is a behaviour change as it was possible to load the fence before while
disabled if there was an RC channel mapped to it. This defers that until
the fence will have an action. The advantage of this though is that it
speeds up the check that's done per loop in a quadplane for stick mixing
2019-09-23 17:31:33 -06:00
Michael du Breuil 562b155f63 Plane: Remove unused geofence enable reason 2019-09-23 17:31:33 -06:00
Michael du Breuil 7d8b114b24 Plane: Reduce size of GeoFenceState
Cuts it from 32 bytes to 28
2019-09-23 17:31:33 -06:00
Michael du Breuil af0dfb6d8b Plane: Remove unneeded state from geofence 2019-09-23 17:31:33 -06:00
Andrew Tridgell 27187ca248 Plane: updated release notes for 4.0.0beta2 2019-09-24 08:46:52 +10:00
Andrew Tridgell c93d73b678 Plane: change master version to 4.1.0dev 2019-09-22 20:20:16 +10:00
Peter Barker 5730808778 Plane: remove stale enum entries for log message types 2019-09-18 15:02:57 +10:00
Andrew Tridgell 5c43b18672 Plane: fixed height_above_ground() for case when rangefinder is below min
this prevents a rangefinder that goes below min distance from causing
the calculations that depend on height above ground to fail
2019-09-17 09:36:26 +10:00
Andrew Tridgell 34b0967d09 Plane: prevent fwd motor from spinning up on ground in quadplane landing
if the rangefinder starts to measure below it's min range then the fwd
motor can spin up.

Thanks to Josh for reporting this!
2019-09-17 09:36:26 +10:00
Peter Barker a761cb62de Plane: remove get_advanced_failsafe override; singleton to be used 2019-09-17 09:13:43 +10:00
Andrew Tridgell 8b92df51db Plane: updated release notes for 4.0.0beta1 2019-09-16 12:59:25 +10:00
Andrew Tridgell 6572700baa Plane: fixed an issue with landing on rising ground
when landing on rising ground we don't want to use the terrain look
fwd correction for the flare calculation as otherwise we will flare
too early (and thus too high)
2019-09-16 12:52:00 +10:00
Andrew Tridgell 929426abf8 Plane: update release notes for 3.9.11 2019-09-15 19:08:16 +10:00
Andrew Tridgell 7751352a86 Plane: implement VTOL landing for AFS termination
this allows for vertical landing as an AFS_TERM_ACTION
2019-09-12 09:59:17 +10:00
Mark Whitehorn 788e7a840c Plane: default angle_boost to disabled for tailsitters 2019-09-12 09:05:42 +10:00
Andrew Tridgell b724608f03 Plane: update release notes for 3.9.11 2019-09-11 12:30:27 +10:00
Michael du Breuil 4f22dff14d Plane: Add an airspeed limit for quadplane takeoffs 2019-09-09 22:06:25 -06:00
Michael du Breuil 77afcf6a1b Plane: Abort takeoffs that take to long to complete 2019-09-09 22:06:25 -06:00
Henry Wurzburg 7178655cbe Plane: fixed landing after VTOL loiters 2019-09-10 08:57:13 +10:00
Michael du Breuil cf58f68e49 Plane: Rearrange header to save flash
Saves 392 bytes of flash on CubeBlack builds without increasing RAM
consumption at all. This also translates to a speed up as some of these
are looked up every loop multiple times.
2019-09-10 06:43:34 +10:00
Peter Barker 948d606694 Plane: remove ineffective DEVO_TELEM_ENABLED 2019-09-04 17:47:33 +10:00
Peter Barker b12f620233 Plane: fix format string warnings 2019-09-02 21:00:59 +10:00
IamPete1 27286b659b Plane: servos: update dspoiler auto trim 2019-09-01 09:00:16 +10:00
Peter Barker 32a71d2d5a Plane: mount uses AP_SerialManager singleton 2019-08-28 06:55:28 +10:00
Andrew Tridgell 296ce5a409 Plane: fixed throttle failsafe for FS_SHORT_ACTN=3
this is a replacement for #12043
many thanks to @Jaaaky for finding this issue
2019-08-26 17:20:24 +10:00
Andrew Tridgell 0ccd2fb273 Plane: update release notes for 3.9.10 2019-08-26 13:38:44 +10:00
Peter Barker 847f85a081 Plane: correct compilation with PARACHUTE==DISABLED 2019-08-23 13:22:44 +10:00
Andrew Tridgell 470a60f828 Plane: reset steering in MANUAL or when not stabilising 2019-08-22 20:10:09 +10:00
Michael du Breuil 0b0d0e2f8e Plane: Remove APM_Config.h 2019-08-21 22:16:49 -06:00
Peter Barker 1b36d64794 Plane: correct compilation with GEOFENCE_ENABLED==DISABLED 2019-08-20 23:03:32 -07:00
Michael du Breuil ea64077f77 Plane: Remove redundant protection 2019-08-20 23:59:06 +01:00
Andrew Tridgell 10770b5c7f Plane: update release notes for 3.9.10beta1 2019-08-18 16:18:43 +10:00
Peter Barker 2768d229ed Plane: stop updating sensor status flags
These are updated as required in the gcs library itself.
2019-08-17 17:45:03 +10:00
Peter Barker 466681a94e Plane: factor out a handle_command_int_do_reposition 2019-08-14 18:30:24 +10:00
Peter Barker cfe4ec4d1f Plane: add nullptr check for mavlink channel 0 2019-08-14 18:25:43 +10:00
Peter Barker 7e5a6f1895 Plane: avoid allocate a GCS_MAVLINK per mavlink channel 2019-08-14 18:25:43 +10:00
Peter Barker 20626a1fe1 Plane: move automatic declination setting into AP_Compass itself 2019-08-13 10:02:13 +10:00
Andrew Tridgell 1b775c96f5 Plane: added rangefinder correction by terrain data
allows for landing approach with terrain changes
2019-08-06 09:36:02 +10:00
Peter Barker b7b67f523d Plane: pass format string through to check_failed 2019-08-05 14:18:05 +10:00
Andrew Tridgell 6f57028c23 Plane: added release notes from 3.9.9 2019-08-04 18:01:51 +10:00
Leonard Hall 124d18228b Plane: Support seperate roll and pitch limits 2019-08-03 12:06:32 +09:00
Peter Barker 05c608e725 Plane: use MAV_FRAME_GLOBAL instead of MAV_FRAME_GLOBAL_INT in send_position_target 2019-07-30 10:55:21 +10:00
Peter Barker 20a20bde65 Plane: accept MAV_FRAME_GLOBAL for set_position and repositioning 2019-07-30 10:55:21 +10:00
Michael du Breuil 2d81ad63f5 Plane: Convert ARMING_CHECK 2019-07-30 10:42:16 +10:00
Michael du Breuil 3e214e1f8b Plane: Add keydump feature 2019-07-30 10:42:16 +10:00
Leonard Hall 34da437266 Plane: support for upgrade to PID object 2019-07-25 17:38:15 +09:00
Leonard Hall 157f786adf Global: rename desired to target in PID info 2019-07-25 17:38:15 +09:00
Michael du Breuil c6f884221e Plane: Fix parameter description on values to not use the delimiter character 2019-07-23 09:29:48 +10:00
Pierre Kancir 33e12a127c ArduPlane: pass mavlink_message_t by const reference 2019-07-16 20:51:42 +10:00
Michael du Breuil 22598b1a4b Plane: Reduce inerital nav dependence 2019-07-16 12:11:42 +09:00
Peter Barker 7c88eb670c Plane: RangeFinder uses AP_SerialManager singleton 2019-07-16 09:29:48 +10:00
Peter Barker 38e303389b Plane: avoidance no longer takes ahrs in constructor 2019-07-16 09:29:48 +10:00
Peter Barker 37014bdfe1 Plane: split RC_CHANNELS messages onto separate ap_message ids 2019-07-09 13:08:45 +10:00
Peter Barker 769e862807 Plane: stop passing relay and ahrs into camera constructor 2019-07-09 09:32:39 +10:00
Andrew Tridgell ff08de033e Plane: fixed home reset alt bias
this fixes a bug in the set of home alt while disarmed. The set had a
circular dependency which could cause a large bias to build up between
home alt and gps alt due to small fluctuations in barometer data

Thanks to Nick Allen for spotting this
2019-07-07 19:20:32 +10:00
Andrew Tridgell aa18c75689 Plane: decay fw rate integrators when at low airspeed
this prevents large fixed wing control surface integrators from
causing issues when we have wind from behind in hover
2019-07-07 18:16:47 +10:00
Andrew Tridgell ebe2278f5d Plane: reset rate controller integrators if not run for 2s
this prevents a bug where integrator buildup can happen from a
previous flight mode
2019-07-07 18:16:47 +10:00
Peter Barker 1674cb0a85 Plane: EKF logging moved into EKF from logger 2019-07-06 19:05:51 +10:00
Hwurzburg 44f6f7335e Plane: Added Quadplane option for QRTL failsafe action 2019-07-05 11:25:56 +10:00
Peter Barker 3ab266b751 Plane: ServoRelayEvents uses Relay singleton 2019-07-03 23:59:24 -07:00
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
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
Michael du Breuil e8885ee1a5 Plane: Fly a planned abort sequence if available 2018-12-15 09:03:25 +11:00
Nikhil Upadhye d1e93bae83 Plane: adding new mode QAUTOTUNE
copter like autotune support for quadplanes and tailsitter in VTOL mode.

cleanup
2018-12-14 16:33:11 +11:00
Peter Barker 9d323b4b90 Plane: move accept_packet to GCS_MAVLink base class 2018-12-14 12:44:31 +11:00
Peter Barker 56675851b6 Plane: DataFlash uses AP_Mission singleton 2018-12-13 14:45:30 +09:00
Peter Barker 2978da5ecd Plane: GCS_MAVLink now uses Mission singleton 2018-12-13 10:52:52 +09:00
Peter Barker bcf68a9103 Plane: split MSG_SCALED_PRESSURE into three separate messages 2018-12-12 21:36:01 +11:00
Peter Barker a263364959 Plane: GCS_MAVLink uses dataflash singleton 2018-12-11 08:43:47 +09:00
Michael du Breuil f3a843ebf7 Plane: Fix a comma in bitmask that was breaking emitters 2018-12-11 10:24:40 +11:00
Peter Barker 153228bef5 Plane: call GCS update functions at quadcopter main loop rate 2018-12-10 12:52:41 +09:00
Peter Barker 18d4df8d4f Plane: split MSG_RAW_IMU1 into per-IMU ap_messages 2018-12-10 12:52:41 +09:00
Peter Barker 67042d39d1 Plane: send both SYS_STATUS or POWER_STATUS or neither 2018-12-10 12:52:41 +09:00
Peter Barker d1727d26a1 Plane: rename send_extended_status1 to send_sys_status 2018-12-10 12:52:41 +09:00
Peter Barker 7f5c0db949 Plane: adjust for new update entry points into GCS 2018-12-10 12:52:41 +09:00
Peter Barker 1ca67df663 Plane: add parameter stream to list-of-all-streams 2018-12-10 12:52:41 +09:00
Andrew Tridgell fa04c2d094 Plane: prevent jitter on surfaces due to speed scaling
when disarmed the k_throttle output can oscillate due to stage in the
loop we are at, even though actual output is zero. This can cause
jitter in the speed scaling, which causes surface movement

To fix, don't use k_throttle value when disarmed
2018-12-06 17:44:11 +11:00
Randy Mackay 71708ee4ea Plane: quadplane uses set_defaults_from_table 2018-12-06 12:23:41 +09:00
Peter Barker edd4f6d14d Plane: rename MSG_EXTENDED_STATUS2 to MSG_MEMINFO 2018-12-04 18:01:38 +11:00
Peter Barker de479032ba Plane: rename MSG_RAW_IMU2 and MSG_RAW_IMU3 to reflect what they send 2018-12-04 17:45:32 +11:00
Andrew Tridgell 6c7af3830b Plane: apply throttle slew to dual-motor setups
thanks to Alex for noticing this issue
2018-12-04 09:08:31 +11:00
IamPete1 c6e70c0454 Plane: add roll limit for tailsitters
Quadplane: add tailsitter pitch params
2018-12-01 09:40:07 +11:00
Andrew Tridgell b6519c88a5 Plane: fixed a bug in Q_ASSIST_ modes for tiltrotors
when a tilt-rotor drops below Q_ASSIST_SPEED we need to keep it in the
airspeed wait state until it has regained airspeed, otherwise we will
end up with too low throttle
2018-11-30 18:17:42 +11:00
Leonard Hall 0943ace7a9 Plane: Zero Yaw correction during transition
and relax attitude controller when not using lift motors.
2018-11-30 18:16:29 +11:00
Andrew Tridgell c081ce9adb Plane: don't relax attitude controllers for tailsitters
this fixes an issue with testing control movement when disarmed
2018-11-30 13:01:53 +11:00
Peter Barker ba3a369651 Plane: remove update_events scheduler shim 2018-11-27 10:07:13 +11:00
Michael du Breuil 1e220d3d37 Plane: Add support for mode change to QLand as a failsafe 2018-11-24 14:37:04 -08:00
Peter Barker d4e88bc6ba Plane: remove pointless wrappers around RC_Channels functions 2018-11-23 10:56:17 +11:00
Peter Barker 03b71e1123 Plane: remove pointless wrappers around gcs functions 2018-11-23 10:56:17 +11:00
Andrew Tridgell 4d8fbdfcfd Plane: fixed spoiler left rudder order
thanks to @jgilbertfpv for noticing
2018-11-20 20:10:00 +11:00
Andrew Tridgell 1d00d26b9e Plane: added parameters for crow flaps
DSPOILER_CROW_W1 and DSPOILER_CROW_W2 for inner and outer control
surfaces
2018-11-20 10:00:38 +11:00
jgilbertfpv 4d6547c533 Plane: added crow brakes and diff. spoilers
added crow braking via flap channel to differential spoilers and
reversed dspoiler outputs because having the inner elevon go up and
outer go down causes tip stall. now inner goes down, outer goes
up. still could use a percentage adjustment to change how much throw
each surface gets when using flap input.
2018-11-20 10:00:38 +11:00
Andrew Tridgell 987b556299 Plane: disable crash detection if no GPS and no airspeed 2018-11-19 07:32:20 +11:00
Andrew Tridgell b660022b20 Plane: handle long GPS loss in crash detector
fixes issue #9349
2018-11-19 07:32:20 +11:00
DOMINATOR\Eugene 802ae94e2c ArduPlane: move airspeed update to library 2018-11-17 07:52:42 +11:00
Andrew Tridgell 03f1deca9f Plane: support REVERSE_THROTTLE rc option
this provides a more convenient way to setup for reverse throttle
2018-11-16 08:33:35 +11:00
Andrew Tridgell da69bf3391 Plane: added an abstraction for reverse thrust
use have_reverse_thrust() and get_throttle_input()
2018-11-16 08:33:35 +11:00
Peter Barker a5c34f6172 Plane: OpticalFlow takes care of its own logging 2018-11-13 10:40:23 +11:00
Peter Barker e53a009a35 Plane: do not pass ahrs to opticalflow constructor 2018-11-13 10:40:23 +11:00
Peter Barker 12c67ecaab Plane: move sending of optical flow status up to base class 2018-11-13 10:40:23 +11:00
Andrew Tridgell c59b2c156a Plane: fixes for Q_TRIM_PITCH
improved documentation and variable names
2018-11-12 17:05:04 +11:00
IamPete1 5a7bd61e8c Quadplane: add trim params 2018-11-12 17:05:04 +11:00
Andrew Tridgell 85a1f9e40d Plane: added ACCZ pid tuning 2018-11-12 15:36:39 +11:00
Andrew Tridgell 432d786f82 Plane: pass height to landing gear update 2018-11-10 21:24:19 +11:00
Michael du Breuil 8ce0460daf Plane: Remove old parameter conversion 2018-11-10 18:58:54 +11:00
Michael du Breuil 8e906e0ba0 Plane: Add support for a loiter to alt approach to VTOL landing 2018-11-10 18:58:54 +11:00
Andrew Tridgell f89c770c46 Plane: moved LANDING_GEAR to common RC_Channel 2018-11-09 14:35:14 +11:00
Eugene Shamaev 01178a75e9 Plane: added landing gear support 2018-11-09 14:35:14 +11:00
Peter Barker 818bb8d56d Plane: don't pass ahrs to terrain constructor 2018-11-08 20:59:45 +11:00
Peter Barker 4b68ca79dc Plane: stop passing ahrs to Mission constructor 2018-11-08 10:01:16 +09:00
Andrew Tridgell f2b8067023 Plane: pass manual_rc_mask to iocmu mixer 2018-11-07 07:35:45 +11:00
Andrew Tridgell c3d434bc35 Plane: pass mixing gain to iomcu 2018-11-07 07:35:45 +11:00
Andrew Tridgell d5c29fc57e Plane: use IOMCU mixing if available 2018-11-07 07:35:45 +11:00
Michael du Breuil 1c54fa0230 Plane: Remove old battery conversion that conflicts with new monitor 2018-11-06 10:18:39 +09:00
Michael du Breuil d9e02403e1 Plane: Fix battery failsafe parameter conversion 2018-11-06 10:18:39 +09:00
Michael du Breuil 9e1b0de6b7 Plane: Make capability init consistent 2018-11-05 14:04:36 +11:00
Andrew Tridgell 1c162c8b64 Plane: ensure speed scaling covers full aircraft speed range
this is important for very fast or very slow aircraft
2018-11-02 15:30:50 +11:00
Andrew Tridgell 5ce418b4ea Plane: added FLIGHT_OPTIONS bit for disabling pitch up check in takeoff
some takeoff procedures use high pitch angles
2018-10-31 18:53:36 +11:00
Andrew Tridgell a00e06ea13 Plane: added TKOFF_ACCEL_CNT for multi-shake to start
this allows you to setup shake to start with a lower accel threshold,
but with multiple fwd/back movements needed.

This implements https://github.com/ArduPilot/ardupilot/issues/2221
2018-10-31 18:53:36 +11:00
Peter Barker 27b444f4e8 Plane: move handling of gimbal messages up
Plane: move handling of mav_cmd_do_mount_control up

Plane: move handling of deprecated mount messages up

Plane: move handling of command_do_set_roi up

Plane: mount no longer takes ahrs in constructor
2018-10-30 17:19:14 +11:00
Peter Barker 7890fbeaa1 Plane: let AP_Mission handle common camera commands 2018-10-30 15:37:18 +11:00
Peter Barker 1653b34b2b Plane: move servorelayevents mission handling into AP_Mission 2018-10-30 15:37:18 +11:00
Peter Barker dc6a03f5e0 Plane: mission library handles gripper 2018-10-30 15:37:18 +11:00
Peter Barker 3b49e46c36 Plane: AC_Avoid is built on all vehicles 2018-10-30 12:10:42 +11:00
Andrew Tridgell 009786a338 Plane: small update to failsafe documentation 2018-10-18 11:38:07 +11:00
Peter Barker 9e4e17c797 Plane: leave AHRS to log and notify home changes 2018-10-16 10:55:13 +11:00
Peter Barker 4e3e39a3e8 Plane: make libraries get EKF control limits themselves 2018-10-09 10:47:38 +11:00
Michael du Breuil 3aed07a83a Plane: Create a scripting object 2018-10-09 10:08:52 +11:00
Michael du Breuil 02d37d43d2 Plane: Disallow climbs during TRANSITION_AIRSPEED_WAIT 2018-10-02 09:35:47 +10:00
Michael du Breuil b945970914 Plane: Fix FLIGHT_OPTIONS bitmask doc 2018-09-27 17:20:49 +01:00
Michael du Breuil b2ef6b901e Plane: Cope with AC_PosControl renaming 2018-09-20 15:15:45 -07:00
Michael du Breuil b6efc8a20b Plane: reduce some copy pasted code 2018-09-20 13:47:21 -07:00
Andrew Tridgell adf318ce06 Plane: release notes for 3.9.2beta3 2018-09-20 07:17:34 +10:00
Leonard Hall 13c27e0eb8 Plane: Missing Loiter Init on accel 2018-09-19 17:29:55 +09:00
Andrew Tridgell 0e0d847f7f Plane: updated release notes for 3.9.2beta2 2018-09-15 16:11:04 +10:00
Andrew Tridgell 5136b90d27 Plane: do attitude relax after 100ms 2018-09-15 11:00:29 +10:00
Leonard Hall e50414d8b9 Plane: Log VTOL targets in ATT message in VTOL mode 2018-09-15 11:00:29 +10:00
Leonard Hall 7372a7b5f9 QuadPlane: Remove repeat I term reset 2018-09-15 11:00:29 +10:00
Andrew Tridgell ef154cf3fa Plane: fixed relaxing of attitude controller on transition
this fixes an issue found by Leonard where the attitude controller
could have residual control left over from a previous transition when
engaging the VTOL attitude controller
2018-09-15 11:00:29 +10:00
Andrew Tridgell 2215913b02 Plane: added speed scaling reduction for Q modes
when in a Q mode reduce surface movements at low airspeed, in case we
have the wind from behind us. This prevents the control surfaces from
causing instability
2018-09-14 19:28:29 +10:00
Andrew Tridgell 2d3942222b Plane: handle reverse thrust in AFS failsafe
and zero differential thrust
2018-09-13 08:15:02 +10:00
Andrew Tridgell 455f15a157 Plane: handle twin motor planes for AFS failsafe 2018-09-13 08:15:02 +10:00
Andrew Tridgell 6707c8af36 Plane: update release notes for 3.9.2beta1 2018-09-12 16:33:49 +10:00
Andrew Tridgell aa1548e404 Plane: fixed throttle when terminated
thanks to Michael Thomas for reporting this
2018-09-12 14:13:33 +10:00
Randy Mackay d6a102234e Plane: rename rudder_arming to get_rudder_arming_type 2018-09-11 19:34:39 +10:00
Randy Mackay b61b25e5bf Plane: minor format fix to Parmeters.cpp 2018-09-11 19:34:39 +10:00
Randy Mackay 96d494c2e8 Plane: use parent AP_Arming rudder value 2018-09-11 19:34:39 +10:00
Michael du Breuil f150cae75a Plane: Allow center throttle to be trim airspeed in cruise 2018-09-11 09:07:00 +10:00
Michael du Breuil ee96c53844 Plane: Don't go to minimum airspeed when in RC failsafe in cruise/fbwb 2018-09-11 09:07:00 +10:00
Michael du Breuil f9e56f9d12 Plane: Respect frame type on VTOL_TAKEOFF commands
allow missioncommands to fail to start
2018-09-11 06:42:00 +10:00
Peter Barker b574f4c1fc Plane: move support for inverted flight to rc-aux-switch
Functional change here; if someone de-configures the rc aux switch in
flight they will remain inverted
2018-09-07 09:07:40 +10:00
Peter Barker 4ad1869f43 Plane: add arm/disarm on aux switch 2018-09-06 08:26:50 +10:00
Peter Barker 901664ce09 Plane: add support for RCn_OPTION (servorelay,camera)
Closes #7071
Closes #7666
2018-09-05 13:44:07 +10:00
Michael du Breuil 925d76bb8c Plane: Small cleanup to quadplane const (and clarity) 2018-09-04 15:11:41 +10:00
Leonard Hall e11c7c6069 QuadPlane: remove true from init of loiter 2018-09-04 13:37:28 +09:00
Peter Barker 1aa75e4c3e Plane: use camera singleton to get camera rather than callback 2018-08-31 15:48:56 +10:00
Peter Barker 558158c62a Plane: GCS_MAVLink uses compass singleton, stop implementing get_compass 2018-08-31 15:48:56 +10:00
Andrew Tridgell 066c26e445 Plane: updated 3.9.1 release notes 2018-08-31 12:35:59 +10:00
Michael du Breuil 3098744777 Plane: Fix a stale rudder input that was left from rebase 2018-08-28 10:44:17 +10:00
Michael du Breuil 8417bcc7d5 Plane: Add flight options bitmask 2018-08-28 09:40:53 +10:00
Andrew Tridgell d1f419b530 Plane: updated release notes for 3.9.1beta3 2018-08-23 13:30:14 +10:00
Michael du Breuil e4bbcd5ee3 Plane: Don't initilize motors with a trim value 2018-08-23 13:19:08 +10:00
Andrew Tridgell d9b72f6821 Plane: reset rudder input during RC failsafe 2018-08-23 12:55:11 +10:00
Michael du Breuil 9ed5184d98 Plane: Remove unneeded ServoRelayEvent mask set 2018-08-20 21:31:06 -07:00
Michael du Breuil fa1ad09a3b Plane: Remove unneeded rudder set 2018-08-21 08:32:56 +10:00
Andrew Tridgell b11552e945 Plane: update release notes for 3.9.1beta2
# Conflicts:
#	ArduPlane/release-notes.txt
2018-08-17 20:43:02 +10:00
Alexander Malishev 001948d40c Plane: publish navigation info to OSD 2018-08-16 10:26:34 +10:00
Michael du Breuil c8cb5b9e0f Plane: Log target airspeed to NTUN messages 2018-08-09 11:53:05 +10:00
Michael du Breuil 3d923d0572 Plane: Send a quadplane version of NAV_CONTROLLER_OUTPUT 2018-08-07 09:49:01 +10:00
Randy Mackay 903d00c4b2 Plane: remove compass accumulate 2018-08-06 11:05:34 +10:00
Andrew Tridgell 690bbcdaad Plane: release notes for 3.9.0 2018-08-06 10:44:29 +10:00
Andrew Tridgell c964a393c0 Plane: fixed RC_Channels parameter docs 2018-08-04 12:28:38 +10:00
Peter Barker 9ce02bc504 Plane: minimal support for inheritting from RC_Channel 2018-08-01 12:11:30 +09:00
Michael du Breuil eea8267704 Plane: Update notify initilization 2018-08-01 09:22:09 +10:00
Andrew Tridgell 4f2508d89f Plane: updated release notes for 3.9.0beta6 2018-07-30 18:18:53 +10:00
Andrew Tridgell 1d675390ab Plane: make soaring an optional build feature
this disables soaring on px4-v2, saving 5k of flash

This is needed to consider pr #9042, which takes a lot of flash space
2018-07-30 13:09:15 +10:00
Andrew Tridgell 16c7ab81dc Plane: pass rc_speed to motor backend constructors
this sets the right speed as early as possible
2018-07-28 15:25:57 +10:00
Andrew Tridgell a4d3b08d87 Plane: release notes for 3.9.0beta5 2018-07-19 12:42:27 +10:00
IamPete1 20c67019b0 Plane: added Q_TAILSIT_THSCMX
this provides more flexibility in tailsitter throttle scaling
2018-07-19 09:48:25 +10:00
Andrew Tridgell 149a6af48f Plane: releases notes for plane 3.9.0beta4 2018-07-18 20:45:02 +10:00
Andrew Tridgell 07187f7797 Plane: fixed ARMING_REQUIRE=2 for dual-motor planes
many thanks to Marco for finding this bug!
2018-07-18 19:58:02 +10:00
Michael du Breuil f25726fbb1 Plane: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Andrew Tridgell ad55605605 Plane: update version to 3.10.0-dev 2018-07-06 11:01:05 +10:00
Andrew Tridgell db1f1a42d6 Plane: updated 3.9.0beta2 release notes 2018-07-06 10:59:55 +10:00
Peter Barker 94ad85a67d Plane: handle MAV_CMD_ACCELCAL_VEHICLE_POS in GCS base class 2018-07-06 09:43:09 +10:00
Peter Barker d077723028 Plane: handle command_int in GCS base class 2018-07-06 09:43:09 +10:00
Peter Barker d76e7d210b Plane: handle command_long in GCS base class 2018-07-06 09:43:09 +10:00
Andrew Tridgell 1d91f18177 Plane: fixed version for enums 2018-07-05 11:10:31 +10:00
Andrew Tridgell bd4515947a Plane: updated release notes 2018-07-05 11:10:27 +10:00
Peter Barker 85f339caae Plane: remove annoying ice_update shim 2018-07-04 21:08:47 +01:00
Peter Barker e404562544 Plane: remove vexing button_update shim 2018-07-04 21:08:47 +01:00
Peter Barker c42fb6d797 Plane: remove pointless rangefinder_init shim function 2018-07-04 21:08:47 +01:00
Peter Barker 4502fd21c3 Plane: use compass singleton for logging 2018-07-04 20:11:27 +01:00
Peter Barker 3bfa4c8678 Plane: use singletons in AP_Arming 2018-07-03 13:44:11 +10:00
Peter Barker 320e24af65 Plane: move mavlink reboot code up to base class 2018-07-03 12:12:25 +10:00
Jacob Walser 4eb00ac779 Plane: refactor output_test -> output_test_seq 2018-07-02 11:31:58 -04:00
Lucas De Marchi 1a45aa12f5 AP_Param: warn on last pass only about unknown parameters
Do not warn about unknown parameters on the first pass, i.e. when
AP_Param:load_all() is called. This is because we may still not know
about dynamically loaded parameters. When we call the second (last)
time, we expect to already know all possible parameters, so print a
warning to both console and the debug terminal.
2018-06-28 10:18:19 -07:00
Lucas De Marchi 7f0d5ddf21 AP_Param: stop panic()'ing on unknown parameters
Our track record on keeping parameters up to date with master is not
great and panic()'ing when loading them apparently is not helping
because every and each vehicle has a different file.

On aerofc load_defaults_file() is used in the same way as
load_embedded_param_defaults() is in which the panic() behavior has been
previously removed.

This finishes the removal of the panic param and add warnings to the
debug console when reading the parameters (rather than when counting
them).
2018-06-28 10:18:19 -07:00
Andrew Tridgell bc503cc600 Plane: moved OSD to top level params
this is to give lots of depth for OSD params (which will be very
complex)
2018-06-27 14:55:00 +10:00
Alexander Malishev 75bf6984f5 Plane: added OSD support 2018-06-27 14:55:00 +10:00
Michael du Breuil 1c276e6af7 Plane: Remove unneeded wrapper functions
Also removes unneeded battery failsafe flag clearing
2018-06-27 11:39:35 +10:00
Peter Barker 23919daf11 Plane: use arming check_failed function 2018-06-23 15:33:19 +10:00
Andrew Tridgell d454bc555e Plane: added ESC_TELEMETRY to mavlink streams 2018-06-21 10:48:02 +10:00
Peter Barker f984e5e31d Plane: use magic force arm/disarm definitions 2018-06-20 11:43:38 +10:00
Peter Barker f5e241af01 Plane: option to force arm, bypassing checks 2018-06-20 11:43:38 +10:00
Peter Barker 2b7f9247e8 Plane: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Peter Barker 9824832523 Plane: use AP_RTC
Plane: AP_GPS now sets the system time directly
2018-06-15 08:01:22 +10:00
Michael du Breuil 12da35220c Plane: Simplify radio trimming, improve MAVLink report 2018-06-11 16:29:36 -07:00
Michael du Breuil fae8d1e489 Plane: Log navigation target location
Closes #4358
2018-06-12 09:08:58 +10:00
Peter Barker 2cdcca2841 Plane: move handling of MAV_CMD_DO_GRIPPER up 2018-06-11 19:07:39 +01:00
Andrew Tridgell d8a7618e15 Plane: update use of AC_Loiter controller for quadplane
this changes the way the loiter controller is initialised for QLOITER,
after discussions with Leonard.

The way we were doing it could cause a sudden acceleration demand when
switching into QLOITER.

This also changes the default loiter parameters to reduce the maximum
acceleration that will be applied in QLOITER. Many thanks to Leonard for
the advice
2018-06-11 08:40:58 +09:00
Michael du Breuil 47c0048499 Plane: Remove manual polling of flap input channel 2018-06-05 09:51:09 +10:00
Michael du Breuil a98a8d0789 Plane: Update to support new RC_Overrides conventions 2018-06-05 09:51:09 +10:00
Michael du Breuil 749861f8ad Plane: Only send healthy airspeed reports 2018-06-05 09:27:19 +10:00
Michael du Breuil 44f2a652f3 Plane: Remove software type param 2018-06-05 09:14:12 +10:00
Peter Barker 9437e893e5 Plane: move try_send_message handling of EKF_STATUS_REPORT up 2018-06-01 16:12:45 +01:00
Peter Barker ac729f4614 Plane: lock home when it is set from the GCS 2018-05-29 14:38:45 +10:00
Peter Barker 18c4823427 Plane: return MAV_RESULT_ACCEPTED for setting home to current location 2018-05-29 14:38:45 +10:00
Peter Barker bc9df01d21 Plane: remove sending of statustext for home location 2018-05-29 14:38:45 +10:00
Peter Barker 22306c370b Plane: factor out a Plane::set_home 2018-05-29 14:38:45 +10:00
Peter Barker ad600fff68 Plane: split home-set and home-locked state 2018-05-29 14:38:45 +10:00
Peter Barker 5a087ee7e2 Plane: create persist_streamrates() callback to indicate persistence 2018-05-29 13:08:29 +10:00
Peter Barker 8b4ffb11f5 Plane: move sending of vfr_hud up 2018-05-29 13:00:40 +10:00
Tom Pittenger 4dca1c48f2 Plane: update vehicle max_speed to ADSB library 2018-05-23 14:02:45 -07:00
Peter Barker ef77bea4eb Plane: move sending of simstate up 2018-05-23 18:36:50 +10:00
Peter Barker 2a68eca273 Plane: add type-correctness for stream messages 2018-05-22 11:21:25 +10:00
Peter Barker 2112d76b75 Plane: move try_send_message of servo-output-raw up 2018-05-21 19:08:08 +01:00
Andrew Tridgell ce73918873 Plane: fixed throttle_percentage for twin engine planes
there is no servo output for function 70 - use the scaled value
2018-05-21 14:39:56 +10:00
Andrew Tridgell 805b159fd4 Plane: update release notes for 3.9.0 2018-05-21 14:38:35 +10:00
Peter Barker cdf4128900 Plane: move sending of POSITION_TARGET_GLOBAL_INT up 2018-05-18 20:26:37 +10:00
Peter Barker 57cc0cac97 Plane: GCS_MAVLink base class now uses same ekf call to get alt 2018-05-17 15:48:06 +01:00
Peter Barker 5aefb90e61 Plane: move sending of GLOBAL_POSITION_INT up to GCS_MAVLINK 2018-05-17 15:48:06 +01:00
Peter Barker 1545b9b161 Plane: remove arguments to send_home and send_ekf_origin 2018-05-17 20:42:36 +10:00
Peter Barker 6f8339028e Plane: move send_attitude into GCS_MAVLINK_Plane 2018-05-17 18:28:43 +10:00
Peter Barker 1f9d1ee5a2 Plane: move try_send_message sending of scaled_pressure up 2018-05-17 15:37:14 +10:00
Peter Barker 0e3ad3f023 Plane: move try_send_message sending of sensor offsets up 2018-05-17 15:37:14 +10:00
Peter Barker e6411c6804 Plane: move try_send_message of RAW_IMU up to GCS_MAVLINK 2018-05-17 15:37:14 +10:00
Peter Barker 7afd056e98 Plane: handle setting of ekf origin in GCS_MAVLink 2018-05-17 10:13:42 +10:00
Peter Barker 052b76d017 Plane: move Log_Write_Home_And_Origin into AP_AHRS 2018-05-17 10:13:42 +10:00
Michael du Breuil fcf6c69a5b Plane: AP_Proximity is now a common library 2018-05-16 23:21:41 +01:00
Michael du Breuil 499df8e0b3 Plane: Move MAVLink rangefinder up to parent 2018-05-16 23:21:41 +01:00
Michael du Breuil 8afc96097b Plane: Send all distance sensors 2018-05-16 23:21:41 +01:00
Michael du Breuil b479f3760a Plane: Remove some unneeded logging indirection
Saves 32 bytes on make px4-v2
2018-05-16 20:34:00 +10:00
Peter Barker eb026e0a5f Plane: correct compilation when logging is disabled 2018-05-10 17:55:13 +09:00
Peter Barker 8da8c616f6 Plane: move sending of battery data up 2018-05-09 11:40:31 -07:00
Peter Barker 0fec702ba6 Plane: move data stream send up 2018-05-09 16:15:38 +10:00
Peter Barker e10c23bd43 Plane: make scheduler track whether it has called the delay callback 2018-05-09 16:15:38 +10:00
Andrew Tridgell 8d996112ec Plane: don't do throttle ESC scaling for quadplanes 2018-05-09 14:17:15 +10:00
Peter Barker 1dcd731005 Plane: AP_RSSI is included in build for all vehicles 2018-05-08 12:33:32 +01:00
Peter Barker 68497f27fa Plane: move try_send_message handling of RC_CHANNELS up 2018-05-08 12:33:32 +01:00
Peter Barker 8df625e81a Plane: move try_send_message of heartbeats up to GCS_MAVLINK 2018-05-07 11:30:13 -06:00
Peter Barker c1680d90a6 Plane: move try_send_message handling of VIBRATION up 2018-05-07 11:23:28 -06:00
Peter Barker 2e3a7fc5b6 Plane: remove rcmap member from AP_AdvancedFailsafe 2018-05-05 18:06:31 +09:00
Andrew Tridgell c20351202d Plane: document TKOFF_THR_SLEW = -1 for takeoff 2018-04-26 15:59:06 +10:00
Andrew Tridgell badea86fbd Plane: remove old pde file
this was here for upgrading very old MissionPlanner versions. We can
remove it now
2018-04-26 14:25:01 +10:00
Michael du Breuil 2deac7238c Plane: Support new RC_Channels::read_input() 2018-04-26 08:00:09 +10:00
Andrew Tridgell 7208fe96d5 Plane: update release notes for 3.8.5 2018-04-25 20:05:50 +10:00
Andrew Tridgell d07f8aa42b Plane: fixed a bug in transition to QSTABILIZE for tailsitters
this bug was found bug Marco on his tailsitter. It resulted in zero
throttle for 2s in transition from FBWA to QSTABILIZE
2018-04-25 18:01:12 +10:00
night-ghost aa53832a70 ArduPlane: devo telemetry support (RX705/707) 2018-04-24 10:44:28 +10:00
Peter Barker 5cc98a9733 Plane: use AP_ServoRelayEvents singleton 2018-04-18 20:31:55 +09:00
Peter Barker 5ef417a669 Plane: GPS now logs its own data 2018-04-18 13:50:55 +09:00
Michael du Breuil 7b7f5e242b Plane: Simplify channel reading 2018-04-14 14:05:20 +10:00
Peter Barker 2b54113334 Plane: Baro does its own dataflash logging 2018-04-12 19:12:12 +01:00
Michael du Breuil 3e4288d604 Plane: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil 1af2155641 Plane: Check MANUAL_CONTROL target 2018-04-10 16:54:34 +01:00
Randy Mackay 840a6e4147 Plane: quadplane uses AC_Loiter
includes param conversion
2018-04-04 10:45:10 +09:00
Francisco Ferreira bbe3e41162
Plane: fix method shadowing 2018-04-03 16:29:33 +01:00
Peter Barker f6a185a3c3 Plane: factor vehicle's mavlink send_heartbeat 2018-04-03 13:05:19 +01:00
Peter Barker 58d41e40d3 Plane: let GCS_MAVLink calibrate airspeed sensor
Also remove useless zero_airspeed function
2018-04-02 23:25:05 +01:00
Peter Barker 65893cfca5 Plane: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Peter Barker 71bc3f5def Plane: move common calibration functions up 2018-04-02 23:25:05 +01:00
Peter Barker 91c2ece7a2 Plane: factor out preflight calibration function 2018-04-02 23:25:05 +01:00
Michael du Breuil 7405bb7b85 Plane: Support new battery failsafes 2018-03-27 22:12:21 +01:00
Peter Barker 8a75a804e7 Plane: allow DataFlash to handle log sending 2018-03-26 09:22:47 +09:00
Przemek Lekston e5a9ac84e7 [Plane] Fix verify_loiter_heading acceptance criteria. 2018-03-20 10:25:35 -07:00
Peter Barker 5572d83ce9 Plane: move handling of get_home_position up 2018-03-19 10:32:37 +09:00
Peter Barker 7fd859da65 Plane: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
Peter Barker 7c86c4fe61 Plane: use ins singleton 2018-03-16 00:37:35 -07:00
Randy Mackay 548a7f8fcf Plane: add minor comment to quadplane 2018-03-16 13:50:57 +09:00
Leonard Hall ee745d2cd2 Plane: quad plane uses rate-control control during transitions 2018-03-16 13:50:57 +09:00
Leonard Hall a16d4ddad7 Plane: quadplane uses poscontrol instead of loiter 2018-03-16 13:50:57 +09:00
Randy Mackay c5d838125b Plane: quadplane logs PSC message 2018-03-16 13:50:57 +09:00
Randy Mackay 09cad7c59d Plane: quadplane integrates attitude control inertial_frame_reset 2018-03-16 13:50:57 +09:00
Randy Mackay 03c162432e Plane: quadplane provides dt to AC_WPNav::set_pilot_desired_acceleration 2018-03-16 13:50:57 +09:00
Randy Mackay a0a9a68fbc Plane: quadplane smoothing gain replaced by Q_A_INPUT_TC
Q_A_INPUT_TC parameter allows this to be tuned and a single value (which defaults to a value between the two previously used values) is used for all modes
2018-03-16 13:50:57 +09:00
Leonard Hall aa47b19dea Plane: remove quadplane calls to multicopter poscontrol's freeze_ff_xy 2018-03-16 13:50:57 +09:00
Peter Barker f558bbca2e Plane: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker 4104d40130 Plane: delete correct assignment operator 2018-03-08 21:20:05 -08:00
Peter Barker 5671b3173e Plane: use AHRS singleton in GCS_MAVLink 2018-03-07 12:34:39 +00:00
Peter Barker 0862d1454e Plane: use AP::ahrs() for ADSB 2018-03-07 12:34:39 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas 33288fa676 Plane: NFC adapt to new AP_Battery method name 2018-03-03 17:19:13 +00:00
Tom Pittenger 6820531e2a Plane: fixed error string spelling 2018-03-02 21:37:11 -08:00
Michael du Breuil faea5d285c Plane: Consolidate some of the PID logging details 2018-03-03 17:34:18 +12:00
Andrew Tridgell 27e4953ad8 Plane: disable HIL on px4-v2
this saves enough flash for px4-v2 to fit again
2018-03-03 13:35:39 +11:00
night-ghost 98b8a61ca8 Plane: allow AP_Stats to be optional 2018-03-02 07:23:35 +11:00
David Ingraham a6aeebad4b Plane: Add support for AP_Gripper 2018-03-01 14:14:43 +11:00
David Ingraham 9419cc3b32 Plane: Fix param docs for quadplane attitude control
Docs aren't currently being generated for plane for AC_AttitudeControl.cpp. I believe this will fix that.
2018-02-20 16:38:27 +11:00
Andrew Tridgell e6cebdecd1 Plane: use scheduler.get_last_loop_time_s() 2018-02-13 17:15:05 +11:00
Peter Barker 3859e5dfb1 Plane: eliminate update_perf_logging scheduler table shim 2018-02-13 17:15:05 +11:00
Andrew Tridgell 36660b2124 Plane: use filtered loop time 2018-02-13 17:15:05 +11:00
Peter Barker 4586b892f2 Plane: pass log-performance-bit at init time rather than update time 2018-02-13 17:15:05 +11:00
Peter Barker 8cae776448 Plane: move logging of PM and PERF messages to AP_Scheduler 2018-02-13 17:15:05 +11:00
Peter Barker 02540fdbf9 Plane: use AP_Scheduler's loop() function 2018-02-13 17:15:05 +11:00
Peter Barker 73092c3c30 Plane: use scheduler ticks in place of mainloop_count 2018-02-13 17:15:05 +11:00
Peter Barker 519e6c31d2 Plane: use AP::PerfInfo library 2018-02-13 17:15:05 +11:00
Randy Mackay dd6755f486 Plane: fix global-pos-int velocity direction to NED 2018-02-13 08:52:48 +09:00
Andrew Tridgell 2fb6113098 Plane: use AP:PerfInfo class 2018-02-10 10:50:22 +11:00
Andrew Tridgell ac196b8e0a Plane: fixed build error 2018-02-10 08:00:24 +11:00
Tom Pittenger 50a2d824c4
Plane: crash detection hard landing detection should skip debounce
closes https://github.com/ArduPilot/ardupilot/issues/7683
2018-02-09 11:40:12 -08:00
Andrew Tridgell d1e11a5bde Plane: fixed build (remove learn_offsets call) 2018-02-08 17:36:33 +11:00
Michael du Breuil 43972f8e56 Plane: Move battery logging code to AP_BattMonitor 2018-02-06 00:11:32 +00:00
Randy Mackay ddcd08d6b6 Plane: PSC_ACCZ param name shortened 2018-01-31 08:48:21 +09:00
Michael du Breuil aec7521da4 Plane: Fix truncation of a time interval
Truncating the a millisecond time delta to uint16_t causes it to wrap
every 65 seconds, which could momentarily reset the desired climb rate
2018-01-25 14:30:49 +11:00
Randy Mackay d579e086cf Plane: quadplane param index comment for moved PIDs 2018-01-24 21:14:53 +09:00
Andrew Tridgell 20b05e4228 Plane: added conversion code for PID layout change
this copes with the move of multicopter PIDs inside the position
controller
2018-01-24 18:23:59 +11:00
Tom Pittenger 518abfe1d0 Plane: Allow GUIDED mode to take advantage of crosstrack flag. 2018-01-22 19:17:09 -08:00
Randy Mackay 7b1157e2d8 Plane: remove setting accel_z PID controller's dt
This is handled within pos-controller's set_dt function
2018-01-23 12:00:43 +09:00
Randy Mackay f41f4dc6e5 Plane: move pos-control pids to pos-control library 2018-01-23 12:00:43 +09:00
Randy Mackay 017e71a748 Plane: quadplane velocity pi moves to position control library 2018-01-23 12:00:43 +09:00
Michael du Breuil ff85f5e9bd Plane: Support AP_BattMonitor_Params 2018-01-17 22:21:55 +00:00
Andrew Tridgell 5614fd1ccc Plane: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00
Andrew Tridgell 2c6a004a67 Plane: mark version as 3.9.0-dev 2018-01-16 11:04:55 +11:00
Andrew Tridgell be0d2229c1 Plane: update release notes 2018-01-16 11:03:26 +11:00
Andrew Tridgell 31d7d9f909 Plane: change airspeed parameter prefix
this makes for clearer parameter names with dual sensors
2018-01-16 07:14:20 +11:00
Andrew Tridgell c1cbbf9203 Plane: check all airspeed sensors are healthy 2018-01-16 07:14:20 +11:00
Tom Pittenger 746ca91649 Plane: reset groundspeed_undershoot value when GPS is lost
If we lose GPS lock the gndspd undershoot value gets stuck at the last calculated value forever (until GPS locks again)
2018-01-09 17:05:04 -08:00
Tom Pittenger 1ef0f27786 Plane: allow control_mode enum to be in arbitrary order
never use control_mode >= BLAH. This requires the order to be important which greatly increases chance for unexpected behavior
Closes https://github.com/ArduPilot/ardupilot/issues/4656
2018-01-09 17:05:04 -08:00
Tom Pittenger 39a200b83f Plane: allow control_mode enum to be in arbitrary order
never use control_mode >= BLAH. This requires the order to be important which greatly increases chance for unexpected behavior
Closes https://github.com/ArduPilot/ardupilot/issues/4656
2018-01-09 17:05:04 -08:00
Peter Barker c4c6b3cc70 Plane: AP_AHRS no longer requires GPS in constructor 2017-12-27 00:58:02 +00:00
Peter Barker c5ae01fc6d Plane: use GPS singleton 2017-12-27 00:58:02 +00:00
luweikxy 25224cd261 Plane: remove dead code from do_vtol_land 2017-12-14 20:52:18 +09:00
Andrew Tridgell 30e224e705 Plane: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Michael Oborne 9ed3ca3d35 ArduPlane: update version number 2017-12-13 18:00:03 +11:00
Ubuntu 16.04 VM 624aef401d Plane: Enforce THR_MIN/THR_MAX in VTOL modes 2017-12-11 22:18:39 -08:00
Tom Pittenger 512b327cd4 Plane: failsafe events to use enums instead of magical numbers : Non-functional change 2017-12-07 00:19:32 -08:00
Peter Barker af007c5f0f Plane: tighten handleMessage result type 2017-12-01 17:01:10 +00:00
Tom Pittenger 3d6cc59a6b Plane: cleanup geofence warnings 2017-11-27 18:35:49 -08:00
Andrew Tridgell 2a81792b41 Plane: don't disable compass on one bad reading
the compass can go back for a short time and recover

found by Michael
2017-11-28 09:02:24 +11:00
Andrew Tridgell 49cb245ea6 Plane: use a min airspeed for is_flying test
in VTOLs setting min airspeed to zero can be useful
2017-11-28 09:02:24 +11:00
Michael du Breuil 1a3ca43e86 Plane: Don't check FS_SHORT_TIMEOUT if it's disabled
Also renames the check_minimum_altitude() to reflect that it's only used
for FBWB.
2017-11-24 09:58:01 -08:00
Tom Pittenger 7271586a47 Plane: invert auto_state.no_crosstrack flag to be auto_state.crosstrack. Non-functional change 2017-11-23 09:25:18 -08:00
Peter Barker 6ed0d645a3 Plane: support for units on fields 2017-11-23 10:40:30 +11:00
Guy Tzoler a6c7890c74 Plane: use cork/push wrapper 2017-11-21 14:10:54 +11:00
Michael du Breuil 9720fcb8cc Plane: Only update home when not armed, rather then not soft armed
Plane supports being armed, in takeoff logic and not spinning the motor
until the moment the safety button has been pressed. Unfortunately
because the safety button is required to be pressed for soft arming this
results in the plane updating home position while the user moves the
vehicle or is holding it to throw the vehicle which will can result in
several meters of altitude error from where the user expected home to
be.

Because the normal approach to plane is to have activated the safety
button before arming the aircraft this is not expected to be a behaviour
change for most users, but an improvement for people who use the button
to initiate a takeoff.
2017-11-21 11:45:15 +11:00
Andrew Tridgell f7a735b990 Plane: fixed transitions for tailsitters after auto-takeoff
need to use angle wait
2017-11-19 16:06:02 +11:00
Andrew Tridgell 85573b3ff3 Plane: fixed a division by zero
if min airspeed is zero
2017-11-19 16:04:40 +11:00
Andrew Tridgell e06f160dc9 Plane: disable rudder scaling in tailsitters
this is most often implemented as dual-motor differential thrust, and
we don't want to do surface speed scaling for that.

In the future we'll move this scaling so it can be done on rudders for
3D planes
2017-11-18 10:38:46 +11:00
Peter Barker ee5f550475 Plane: AP_Camera uses GPS singleton 2017-11-16 15:28:37 +00:00
Peter Barker b4294c00f6 Plane: use gps singleton for GCS functions 2017-11-15 13:43:03 +00:00
André Kjellstrup 1d27e21d83 Plane: Option to trig by distance only when in AUTO mode 2017-11-14 00:10:22 +00:00
Andrew Tridgell bf1aa64345 Plane: updated release notes for 3.8.3 2017-11-13 15:06:42 +11:00
Andrew Tridgell 271373e1e8 Plane: added a not on min slew rate for throttle 2017-11-13 10:29:46 +11:00
Michael du Breuil 767018b1d4 Plane: Support unlocking cruise heading with rudder 2017-11-09 09:39:44 +11:00
Michael du Breuil bd32b5deb7 Plane: update isFlying() landing check
When we are landing a sink_rate < -0.2f means the vehicle is climbing,
which should never happen during an approach for any supported landing
type (slope or deepstall), and on hard impacts with the ground its
common for the vehicle altitude to be projected to low and climb back to
the correct altitude slowly (but at a higher rate). This changes the
check to only consider sinks while on approach as acceptable.
2017-11-07 08:57:15 +01:00
Tom Pittenger 8029a7f10e
Plane: add Tom Pittenger to developers list
Plane: add Tom Pittenger to developers list. He was added to main Plane.h as "Lead Developer" here *https://github.com/ArduPilot/ardupilot/blob/master/ArduPlane/Plane.h#L2) but never to the main ArduPilot.c file.
2017-11-06 13:46:32 +01:00
Andrew Tridgell 5843086760 Plane: update release notes for 3.8.3beta4 2017-11-05 21:47:15 +11:00
Andrew Tridgell 957c1f6d23 Plane: extend QLOITER transition pitch limit
use twice transition time for pitch envelope to reduce QLOITER
transition harshness
2017-11-05 21:35:32 +11:00
Andrew Tridgell bbf98fae46 Plane: fixed a warning 2017-11-05 21:25:37 +11:00
Andrew Tridgell 9c8cd6c1cc Plane: added Q_TRANS_DECEL
this gives a deceleration rate for QRTL transition from RTL, and also
for transitions to QLOITER
2017-11-05 20:44:42 +11:00
Andrew Tridgell e27c54a312 Plane: smooth out fwd tailsitter transition
use Q_TRANSITION_MS and the transition angle to pitch forward more
slowly
2017-11-05 17:25:00 +11:00
Andrew Tridgell 21164ef409 Plane: added tailsitter surface speed scaling
added scaling of control surfaces by throttle when in hover. This helps
the controller remain stable over a wide range of throttle levels, such
as when descending or rapidly climbing
2017-11-05 17:05:08 +11:00
Michael du Breuil 83decd1370 ArduPlane: Only run is_flying landing checks when in landing stage 2017-11-04 10:07:16 +11:00
Andrew Tridgell 126d5ce5d4 Plane: re-implement MIXING_OFFSET
this was lost in the conversion of SRV_Channels
2017-11-04 09:34:22 +11:00
Michael du Breuil e63e39c411 Plane: Don't broadcast PWM value that tripped throttle failsafe 2017-11-02 16:46:08 -07:00
Michael du Breuil d52f5155f0 Plane: Rename rc failsafe state members 2017-11-02 16:46:08 -07:00
nick2204 7d91755bd1 Plane: update Q_OPTIONS docs
Made q_options description a little clearer
2017-11-01 09:38:42 +11:00
Andrew Tridgell 1bee1dd210 Plane: log currently used airspeed
this logs whatever airspeed is being used for flight
2017-11-01 09:22:15 +11:00
Andrew Tridgell 43ee462813 Plane: prepare for 3.8.3beta2 2017-10-31 18:05:50 +11:00
Andrew Tridgell f14f40d3ef Plane: fixed GUIDED loiter with Q_RTL_MODE=1
this was broken by the recent RTL_RADIUS changes

thanks to Nick for noticing this!
2017-10-31 18:02:31 +11:00
Andrew Tridgell 84e5cd7e14 Plane: update release notes for 3.8.3beta1 2017-10-30 18:46:51 +11:00
Andrew Tridgell 1085069851 Plane: use WP_LOITER_RAD if RTL_RADIUS is 0 for QRTL 2017-10-30 16:52:19 +11:00
Andrew Tridgell aa430a6e2c Plane: use RTL_RADIUS for QRTL threshold
when Q_RTL_MODE=1 in a quadplane use RTL_RADIUS as the distance to
switch to QRTL mode. We navigate to the destination using direct
waypoint navigation instead of using a loiter circle.
2017-10-30 16:30:38 +11:00
Andrew Tridgell 552faa8f67 Plane: smoother tailsitter transitions
this smooths out tailsitter transitions in both directions, adding a
new FW to VTOL transition state
2017-10-30 16:30:38 +11:00
Andrew Tridgell c24ee9192b Plane: prevent a float exception at pitch 90
this can happen with a tailsitter
2017-10-30 16:30:38 +11:00
Andrew Tridgell 214434a2d7 Plane: fixed tailsitter ANGLE_WAIT transition
we need vtol control during transition from hover to fwd flight
2017-10-30 16:30:38 +11:00
Andrew Tridgell af893ddde7 Plane: implement Q_OPTIONS
this allows for NAV_TAKEOFF to be treated as NAV_VTOL_TAKEOFF in
quadplanes, and for level flight to be maintained during quadplane
transitions
2017-10-30 16:30:10 +11:00
Andrew Tridgell 02f8d888c3 Plane: relax controllers when disarmed
this prevents any remaining integrator from a previous flight stage from
affecting flight across a disarm
2017-10-30 16:30:10 +11:00
Peter Barker d49be616da Plane: call ins's periodic function 2017-10-27 16:33:45 +11:00
Tom Pittenger 8adacfeea3 Plane: always log MODE and include reason when logging is enabled 2017-10-25 21:18:29 +11:00
Andrew Tridgell 92ee05b925 Plane: fixed motor channel handling 2017-10-25 11:39:11 +11:00
Peter Barker 4ce051af82 Plane: ensure we're in short failsafe before using failsafe.ch3_timer_ms 2017-10-24 09:28:13 +11:00
Peter Barker ff88b0dfda Plane: remove redundant failsafe string 2017-10-24 09:28:13 +11:00
Peter Barker 7feef72b34 Plane: improve failsafe notifications 2017-10-24 09:28:13 +11:00
Peter Barker 01d8c506d2 Plane: add option to entirely disable short failsafe 2017-10-24 09:28:13 +11:00
Andrew Tridgell 6526ff504d Plane: fix for changes to AP_Motors API 2017-10-22 15:52:50 +11:00
Andrew Tridgell e008559b6e Plane: support LOITER_TO_ALT in quadplanes 2017-10-21 18:50:01 +11:00
Andrew Tridgell 8178ab4037 Plane: make mav_type in HEARTBEAT configurable
needed for qgc to setup for quadplanes
2017-10-20 15:41:06 +11:00
Andrew Tridgell 0aed5a9a57 Plane: prevent controller windup on ground
when on the ground in an auto-throttle mode lik FBWB or CRUISE, we may
have the throttle suppressed. In that case we should not run the
multicopter controller on quadplanes, or it may build up control which
will then apply on takeoff. This is particularly severe for aircraft
that are not level on the ground, such as taildragger quadplanes

Fixes https://discuss.ardupilot.org/t/quadplane-flips-on-takeoff/22095

many thanks to Sriram for reporting
2017-10-20 15:41:04 +11:00
Andrew Tridgell 1a95dcbdd7 Plane: update docs for Q_YAW_RATE_MAX 2017-10-20 15:40:58 +11:00
Michael du Breuil 615f6dfadb Plane: Don't log PIDL messages 2017-10-17 14:37:11 -07:00
Michael du Breuil cc55e5a8fa Plane: Don't log SONR if there are no rangefinders 2017-10-16 10:10:26 -07:00
Andrew Tridgell f81ec9b1b3 Plane: support simple accelcal 2017-10-10 10:57:38 +11:00
Andrew Tridgell f5b4d8d99c Plane: added frame type 11 for FlreFlyY6 2017-10-06 11:36:34 +11:00
Michael du Breuil 52fc2c82af Plane: Report GPS health 2017-09-27 19:29:32 +01:00
Lucas De Marchi a2b67ed615 ArduPlane: use static method to construct AP_Landing 2017-09-26 03:01:21 +01:00
Lucas De Marchi e10c60e492 ArduPlane: use static method to construct controllers 2017-09-26 03:01:21 +01:00
Lucas De Marchi 05c870a4d4 ArduPlane: use static method to construct AP_TECS 2017-09-26 03:01:21 +01:00
Lucas De Marchi bfd13dfe87 global: use static method to construct AP_AHRS_DCM 2017-09-26 03:01:21 +01:00
Lucas De Marchi beabae6a98 global: use static method to construct AP_AHRS_NavEKF 2017-09-26 03:01:21 +01:00
Lucas De Marchi c9fbf7b722 global: use static method to construct AP_NavEKF3 2017-09-26 03:01:21 +01:00
Lucas De Marchi e2fe36357a global: use static method to construct AP_NavEKF2 2017-09-26 03:01:21 +01:00
Lucas De Marchi 6781a44046 global: use static method to construct AP_Avoidance_* 2017-09-26 03:01:21 +01:00
Lucas De Marchi 119e82f32e ArduPlane: add static create method for AP_Avoidance_* 2017-09-26 03:01:21 +01:00
Lucas De Marchi 6d009cdf6e global: use static method to construct AP_ADSB 2017-09-26 03:01:21 +01:00
Lucas De Marchi cf6ea9642e global: use static method to construct AP_Terrain 2017-09-26 03:01:21 +01:00
Lucas De Marchi 31db77e47b global: use static method to construct AP_Parachute 2017-09-26 03:01:21 +01:00
Lucas De Marchi eadd650d78 global: use static method to construct AP_RSSI 2017-09-26 03:01:21 +01:00
Lucas De Marchi b05610870c global: use static method to construct AP_Rally 2017-09-26 03:01:21 +01:00
Lucas De Marchi 18aa88b329 global: use static method to construct AP_Mount 2017-09-26 03:01:21 +01:00
Lucas De Marchi c3647f0185 global: use static method to construct AP_Camera 2017-09-26 03:01:21 +01:00
Lucas De Marchi cc53e7bc4b global: use static method to construct AP_ServoRelayEvents 2017-09-26 03:01:21 +01:00
Lucas De Marchi 13d7f58036 global: use static method to construct AP_Relay 2017-09-26 03:01:21 +01:00
Lucas De Marchi 9ce6019138 global: use static method to construct AP_Frsky_Telem 2017-09-26 03:01:21 +01:00
Lucas De Marchi b022c02029 global: use static method to construct AP_BattMonitor 2017-09-26 03:01:21 +01:00
Lucas De Marchi 69b6d95cb2 global: use static method to construct AP_Board_Config{,_CAN} 2017-09-26 03:01:21 +01:00
Lucas De Marchi a74e700006 global: use static method to construct RCMapper 2017-09-26 03:01:21 +01:00
Lucas De Marchi 72fd2d6f05 global: use static method to construct AP_SerialManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi fbe0d9761c global: use static method to construct AP_OpticalFlow 2017-09-26 03:01:21 +01:00
Lucas De Marchi 2d2876a226 ArduPlane: use static method to construct AP_Arming_Plane 2017-09-26 03:01:21 +01:00
Lucas De Marchi b36a5919f5 global: use static method to construct AP_Mission
This also move the initialization to be in the header for those that
weren't already to maintain consistency.
2017-09-26 03:01:21 +01:00
Lucas De Marchi de5e044b02 global: use static method to construct AP_RPM 2017-09-26 03:01:21 +01:00
Lucas De Marchi 40fd1b346c global: remove rangefinder from AP_AHRS_NavEKF
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.

For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer.  Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00
Lucas De Marchi 9027a55696 global: use static method to construct RangeFinder 2017-09-26 03:01:21 +01:00
Lucas De Marchi f5c2ffffb9 global: remove DataFlash from AP_Mount::init() 2017-09-26 03:01:21 +01:00
Lucas De Marchi 53c82b4aaf global: use static method to construct DataFlash_Class 2017-09-26 03:01:21 +01:00
Lucas De Marchi 62ac0ab8aa global: use static method to construct AP_Notify 2017-09-26 03:01:21 +01:00
Lucas De Marchi de680dac5b global: use static method to construct AP_Scheduler 2017-09-26 03:01:21 +01:00
Lucas De Marchi 8094482f21 global: use static method to construct AP_GPS 2017-09-26 03:01:21 +01:00
Lucas De Marchi 87b30b4552 global: use static method to construct AP_InertialSensor 2017-09-26 03:01:21 +01:00
Lucas De Marchi c1a957fbf3 global: use static method to construct Compass 2017-09-26 03:01:21 +01:00
Lucas De Marchi 91feec0e14 global: use static method to construct AP_Baro 2017-09-26 03:01:21 +01:00
Lucas De Marchi 96e7ea4d69 ArduPlane: protect version.h from inclusion and use ap_version.h 2017-09-23 21:37:45 -07:00
Lucas De Marchi 36c80daa86 ArduPlane: do not include version.h/ap_version.h
The interface provided by each vehicle should be used to get the
version.
2017-09-23 21:37:45 -07:00
Lucas De Marchi 18ff17e22c ArduPlane: move version to a static member
We should never include version.h or ap_version.h headers directly
on a header since this will trigger a complete rebuild of the
codebase when we commit to the repository. The ap_version.h header
is auto-generated containing information from the current commit.

If we include it in a header, every other file that ends up including
that header (directly or indirectly) will need to be rebuilt. No
ccache's cache beats having to do nothing when the header is just
not included.

version.h contains information that is kept on a struct inside
each vehicle. Rather than using the macros from each vehicle,
the getter should be preferred, which returns an AP_FWVersion
referente.
2017-09-23 21:37:45 -07:00
Ferruccio Vicari 85ab3edc5f Plane: Smoother transition to QLOITER and QLAND
Use estimated stopping position
2017-09-21 07:57:38 +10:00
Peter Barker 1a724ded2a Plane: AP_Arming: sanity-check fs timeout parameters 2017-09-20 09:46:24 -07:00
mirkix 7c6be7c421 Plane: change format of reset alt target message 2017-09-20 20:28:53 +10:00
Randy Mackay 667cdcdfcf Plane: resolve compiler warning while using send_text
non-functional change
2017-09-20 12:14:38 +09:00
Randy Mackay 2073d65975 Plane: command-long DO_SET_HOME check first param is zero 2017-09-20 12:14:38 +09:00
Randy Mackay 640fb91329 Plane: accept DO_SET_HOME within COMMAND_INT 2017-09-20 12:14:38 +09:00
Andrew Tridgell 3d16ca7144 Plane: fixed MANUAL_RCMASK
ensure it only applies in MANUAL, and fixed input scaling in px4io
2017-09-19 17:05:56 +10:00
Peter Barker 7e631ba16c Plane: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
mirkix b682f3f6d9 Plane: fix parameter units 2017-09-19 11:34:26 +10:00
Randy Mackay 3d7b6ddc40 Plane: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker 1304b86d09 Plane: remove old DO_SET_MODE support
We no longer support setting anything except custom-modes
2017-09-19 01:24:11 +01:00
Andrew Tridgell 35c1a732a6 Plane: allow takeoff in guided then fw loiter
this allows for quadplane takeoff in GUIDED with Q_GUIDED_MODE=0. The
takeoff will be VTOL, but subsequent guided points will be fixed wing
2017-09-18 10:21:53 +10:00
Tom Pittenger 85b7f1bbb4 Plane: guided takeoff success should return true 2017-09-13 14:46:22 -07:00
Michael du Breuil 4fd13d5205 Plane: Support landing terminations on landing backends that support it 2017-09-13 13:15:08 -07:00
Peter Barker aee939f891 Plane: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Andrew Tridgell 73d6a05241 Plane: support change alt for GUIDED from qgc 2017-09-11 13:26:48 +10:00
Andrew Tridgell 1c75cd7039 Plane: update release notes for 3.8.2 2017-09-11 09:57:28 +10:00
Andrew Tridgell 11b9805dce Plane: added MANUAL_CONTROL support
allows for joystick with QGC
2017-09-11 07:55:48 +10:00
Andrew Tridgell 37220e1568 Plane: removed unused prototypes 2017-09-10 17:15:18 +10:00
David Ingraham 750212eb8f Plane: Remove deprecated control surface mixing functions
This commit removes the deprecated functions used for calculating elevon and vtail mixes. This code is currently unrechable.
The functions that called these were removed in PR #6546.
2017-09-10 17:14:14 +10:00
Andrew Tridgell d61705ee51 Plane: added release notes for plane 3.8.2beta1 2017-09-09 08:32:14 +10:00
Andrew Tridgell 600a5c44d2 Plane: allow changing of target altitude in GUIDED 2017-09-09 08:14:09 +10:00
Andrew Tridgell bc17c26dbf Plane: limit pitch in transition to QLOITER and QLAND
when switching to QLOITER or QLAND when in forward flight, limit the
maximum pitch to prevent a sudden decelleration
2017-09-09 08:14:09 +10:00
Andrew Tridgell b6809655d4 Plane: smooth the transition to LAND_FINAL in quadplanes
this makes for a much smoother change to LAND_FINAL, without a jerk as
it changes vertical speed
2017-09-09 08:14:09 +10:00
Andrew Tridgell 8411ac5c57 Plane: fixed a problem with descent rate in landings for quadplanes
use xy controller instead of xyz controller, which prevents calling z
controller twice, which led to poor height control
2017-09-09 08:14:09 +10:00
Andrew Tridgell baee71a5b4 Plane: added GUIDED takeoff for quadplanes
this allows takeoff in GUIDED mode in the same way as copters
2017-09-09 08:14:09 +10:00
Michael du Breuil 1f5743e900 Plane: Report the primary magnetometer health rather then the first 2017-09-08 10:27:17 +10:00
Andrew Tridgell a88e663191 Plane: adjust target altitude slowly in QRTL mode
this fixes a sudden throttle drop when starting the descent in QRTL mode
thanks to Marco for finding this issue
2017-09-07 07:22:13 +10:00
Andrew Tridgell 87e52a9f0f Plane: prepare for 3.8.1 release 2017-09-03 19:31:30 +10:00
Peter Barker 0c7c2a41c4 Plane: handle param_request_list in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker dd4bffb4a2 Plane: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker 0db1711b1f Plane: move send_autopilot_request calls up to GCS base class 2017-08-30 15:54:46 +01:00
Peter Barker c15c1b84a4 Plane: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Peter Barker 0708130b5e Plane: correct bad case fallthrough 2017-08-30 15:54:46 +01:00
Andrew Tridgell 6bfed07eae Plane: updated USE_REV_THRUST docs 2017-08-30 08:46:53 +10:00
Michael du Breuil 8630037fd7 Plane: Parameterize the home altitude reset conditions 2017-08-29 13:09:46 -07:00
Andrew Tridgell d541ac509f Plane: removed TRIM_RC_AT_START parameter
this option caused a lot more problems than it solved, and is buggy
2017-08-29 07:35:49 +10:00
Andrew Tridgell 1a207c919b Plane: fixed bug in TRIM_AUTO
fixed trim for differential spoilers
2017-08-29 07:35:49 +10:00
Andrew Tridgell 4124d371c9 Plane: fixed minacc and delay for launch
See
https://discuss.ardupilot.org/t/tkoff-thr-minacc-and-tkoff-thr-delay-doesnt-work-together/19928
2017-08-29 07:35:04 +10:00
Peter Barker 2861c1d06a Plane: add ArduSub to list of SYSID_SW_TYPE 2017-08-24 19:50:38 +09:00
Peter Barker 212174bc0e Plane: remove unused defines 2017-08-24 19:48:17 +09:00
Lucas De Marchi 44ffb67837 ArduPlane: use FALLTHROUGH define
When falling through on a case switch, allow to add an empty statement
with the correct attribute to tell the compiler this behavior is
intended.
2017-08-22 23:59:13 -07:00
Randy Mackay c80a83322a Plane: integrate simpler Log_Write_EKF 2017-08-23 11:19:14 +09:00
Peter Barker 8272fb8fa2 Plane: remove unused repeating events defines 2017-08-22 09:58:12 -07:00
Peter Barker 9732b19f04 Plane: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker 4321abd477 Plane: move play_tune and led_control handling to base class 2017-08-17 12:27:10 +01:00
Peter Barker 8eeae45300 Plane: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Michael du Breuil 833ec1336e Plane: Expose the AFS instance to MAVLink 2017-08-15 15:14:56 +01:00
Peter Barker 1a665280e9 Plane: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker c6b9c84d1f Copter: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker d33cd801a1 Plane: send gps messages as separate queued messages 2017-08-09 16:18:22 +01:00
Peter Barker c3e86840b2 Plane: move sending of gps_raw up 2017-08-09 16:18:22 +01:00
Peter Barker 933cd7a44c Plane: move sending of system_time up 2017-08-09 16:18:22 +01:00
Peter Barker 4aee416c1d Plane: move sending of camera_feedback up 2017-08-09 16:18:22 +01:00
Peter Barker 9eb96886e5 Plane: move sending of meminfo up 2017-08-09 16:18:22 +01:00
Peter Barker a9c866f574 Plane: use new retry_deferred method 2017-08-05 23:14:36 +01:00
Andrew Tridgell 3802e7bc3b Plane: mark version as 3.8.1-dev 2017-08-05 17:19:32 +10:00
Andrew Tridgell 6e84210d1b Plane: prepare for plane 3.8.0 release 2017-08-05 17:19:32 +10:00
Peter Barker 4cb94b80ee Plane: move try_send_message queued_param_send up 2017-08-03 14:34:33 +01:00
Peter Barker 089f6f4650 Plane: move try_send_message send_hwstatus up 2017-08-03 14:33:37 +01:00
Peter Barker fee9e83881 Plane: move try_send_message mission handling up 2017-08-03 14:24:47 +01:00
Peter Barker a740c10dfe Plane: move try_send_message compass message handling up 2017-08-03 14:24:46 +01:00
Peter Barker 50cbbc324b Plane: base SYS_STATUS load average on variable loop rate 2017-08-01 19:39:27 +01:00
Andrew Tridgell 9b16836da5 Plane: cope better with more RC trim/min/max values
when min > trim we need to do RC scaling via rc_config. This loses the
ability to go beyond RC limits, but that can be coped with using
MANUAL_RCMASK
2017-08-01 08:25:32 +10:00
Andrew Tridgell 99df31f6ec Plane: fixes from review
thanks Francisco
2017-08-01 08:25:32 +10:00
Andrew Tridgell ea1a4bc176 Plane: improve px4_mixer handling of servo trim/min/max 2017-08-01 08:25:32 +10:00
Andrew Tridgell cff692ca48 Plane: implement MANUAL_RCMASK
this replaces the functionality of the old "with input"
aileron/elevator functions, but in a much more flexible way. It means
that people who want to fly in MANAUL mode will have the ability to
have full control of trims and mixing using transmitter mixers if they
need that functionality
2017-08-01 08:25:32 +10:00
Andrew Tridgell fedd2c558c Plane: added AETR log message
this makes debugging mixers much easier
2017-08-01 08:25:32 +10:00
Andrew Tridgell 5d91e29cea Plane: fixed px4_mixer for new function based mixing
this fixes the OVERRIDE_CHAN functionality to work correctly with the
new function based mixing code

It isn't a perfect match for ArduPilot mixing, but it is very close
for the key control surfaces, including mixed surfaces
2017-08-01 08:25:32 +10:00
Andrew Tridgell 0266168e69 Plane: removed old elevon and vtail mixers
now only use the function based mixing, and auto-convert on startup
2017-08-01 08:25:32 +10:00
Andrew Tridgell 178e7eca54 Plane: always setup target airspeed
this sets up a target airspeed even when flying without an airspeed
sensor. This is needed for quadplanes without airspeed sensors where
we use synthetic airspeed during the transition in TECS
2017-07-31 09:55:44 -07:00
Andrew Tridgell 909f109b3f Plane: don't start a transition while disarmed
this can caused flooding of the GCS console while disarmed in FBWA
mode
2017-07-30 12:39:36 -07:00
Peter Barker 1cb6962f84 Plane: move common mavlink camera handling up 2017-07-28 14:32:58 +01:00
Peter Barker 2fb46a67dd Plane: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker fbcd072d98 Plane: move gps inject handling up to GCS_MAVLINK 2017-07-27 12:03:25 +01:00
Patrick José Pereira 60834e9af0 Plane: Allow a second activation of parachute
The hardware can fail in the first activation,
this patch allow a second chance to active the parachute successfully.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2017-07-26 17:51:34 +01:00
Peter Barker 87af817893 Plane: handle common GPS messages in base GCS_MAVLINK class 2017-07-25 14:00:45 +01:00
Peter Barker fa39f315c6 Plane: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Peter Barker ea892d278f Plane: remove MSG_STATUSTEXT entirely 2017-07-18 16:12:59 +01:00
Michael du Breuil f87a69dcf2 Plane: Throttle based landing aborts should ask the landing library
Throttle based aborts should be requesting a go around from AP_Landing.
This was missed in the initial port.
2017-07-17 08:43:50 -07:00
Peter Barker 7f0cb82797 Plane: move handling of PREFLIGHT_SET_SENSOR_OFFSETS up 2017-07-17 14:17:19 +01:00
Peter Barker 6047026b11 Plane: move handling of MAG_CAL command longs up 2017-07-17 14:17:19 +01:00
Peter Barker 2b6752e0b4 Plane: move MAV_CMD_START_RX_PAIR handling to base class 2017-07-17 14:17:19 +01:00
Peter Barker 7042d3e9c9 Global: all vehicles get AP_Relay and AP_ServoRelayEvent libraries 2017-07-17 00:06:31 +01:00
Peter Barker 36eab56178 Plane: move mavlink support for servo/relay up 2017-07-16 23:56:00 +01:00
Peter Barker 3af52d9db3 Plane: add common handling of mavlink command messages 2017-07-16 23:56:00 +01:00
Michael du Breuil b8e6ad7476 Plane: Document loop max time as being in microseconds 2017-07-15 17:27:04 +09:00
Peter Barker 983686745e Plane: move rally-point handling up 2017-07-14 01:28:05 +01:00
Peter Barker a250f47f13 Plane: remove unneeded telemetry_delayed parameter 2017-07-12 17:01:36 +01:00
Peter Barker c9c4b31e99 Plane: move handling of incoming statutext messages up 2017-07-12 16:52:24 +01:00
Peter Barker c058fba5ac Plane: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Peter Barker 592729733e Copter: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Peter Barker 1be52495f1 Plane: eliminate global static GCS_MAVLINK::send_home_all 2017-07-11 23:48:39 +01:00
Peter Barker d850feb75f Plane: move common mission handling up to GCS_MAVLINK 2017-07-11 23:45:17 +01:00
Peter Barker 250f315678 Plane: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 3b0a7703c4 Plane: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 5a8f01c19c Plane: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker 685706952c ArduPlane: use Notify singleton for sending statustext 2017-07-09 17:17:29 -04:00
Peter Barker 5b3b61a2e4 Plane: move GCS functions up to superclass GCS 2017-07-07 16:18:37 +01:00
Andrew Tridgell 1d626db3b1 Plane: use scaled outputs for AFS failsafe
we need to use scaled outputs so that derived outputs (such as elevons
and vtail) have a valid input to use
2017-07-04 07:59:28 +10:00
Peter Barker 923b201025 Plane: send servos outputs after flaperon update 2017-07-04 07:59:28 +10:00
Peter Barker 38921c4f1a Plane: correct AFS terminate for rcin/servos split 2017-07-04 07:59:28 +10:00
Eugene Shamaev b95ebadf8b ArduPlane: move of CAN parameters into separate group 2017-07-03 11:44:32 +01:00
Andrew Tridgell b2cd5f5c06 Plane: release 3.8.0beta5 2017-07-03 11:39:48 +10:00
Andrew Tridgell d3f9afd4e7 Plane: fixed auto-adjustment of flaperon trim 2017-07-03 11:17:42 +10:00
Andrew Tridgell 2cb511c049 Plane: deprecate old aileron_with_input and elevator_with_input
these have very rarely been used and don't work well with new trimming
mechanisms. Now treat them as ordinary ailerons/elevators
2017-07-03 11:17:42 +10:00
Andrew Tridgell 51b39ea3a1 Plane: removed ancient "mix_mode" type elevon mixing
this has been deprecated for a long time
2017-07-03 11:17:42 +10:00
Andrew Tridgell 725244ff8a Plane: implement new TRIM_AUTO functionality
this fixes TRIM_AUTO for new scaled output approach to servo functions
2017-07-03 11:17:42 +10:00
Andrew Tridgell 984e887d1d Plane: changed differential spoilers to scaled outputs
this matches new elevon, vtail and flaperon code
2017-07-03 11:17:42 +10:00
Andrew Tridgell c9e4423997 Plane: re-implement flaperons
implement as scaled output instead of PWM output

this will break some peoples setups, but gives much easier setup and
more consistent behaviour
2017-07-03 11:17:42 +10:00
Peter Barker 1ca5f243a5 Plane: check dataflash to see if we should log backend gps messages 2017-06-29 15:43:38 +01:00
Peter Barker 949e07c7e3 Plane: use DataFlash should_log to determine raw IMU logging 2017-06-29 15:26:27 +01:00
Peter Barker 88a7167cb9 Plane: move should_log check of log bitmask into DataFlash 2017-06-29 15:26:27 +01:00
Peter Barker 5b70b688cb Plane: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Peter Barker 60ebd099bd Plane: move send-logs-via-mavlink code into DataFlash 2017-06-27 03:10:43 +01:00
Michael du Breuil 8691eae679 Plane: Handle NAV_CONTROLLER_OUTPUT.wp_dist overflowing 2017-06-20 15:41:50 +01:00
Andrew Tridgell 0b40e853c9 Plane: call set_likely_flying() 2017-06-20 09:44:44 +10:00
Peter Barker ceec44350f Plane: move MAVLINK_MSG_ID_REMOTE_LOG_BLOCK_STATUS handling up 2017-06-17 15:07:48 +01:00
Michael du Breuil 92cdb54176 Plane: Fix a fly away when aborting a landing
DO_LAND_START -> LAND waypoints in sequence would cause a perpetual abort state
due to the sticky nature of the abort states. If we restart a landing on
purpose while doing an abort, then we can move onto trying to land again.
2017-06-17 09:10:27 +10:00
Peter Barker 30dfd32b87 Plane: stop using in_mavlink_delay as a proxy for disabling logging 2017-06-16 17:07:48 +01:00
Peter Barker b57a4e9685 Plane: call dataflash should_log method 2017-06-16 17:07:48 +01:00
Michael du Breuil 1d03732ac5 Plane: Remove redundant status text on MAV_CMD_DO_GO_AROUND 2017-06-16 11:49:52 +09:00
Pierre Kancir 5d0972f589 Arduplane: fix implicit cast to double warning in quadplane 2017-06-14 12:40:47 +01:00
Peter Barker c6beb3a867 Plane: simplify dataflash initialisation 2017-06-14 12:20:29 +01:00
Peter Barker 4dc241fd22 Plane: StartUnstartedLogging replaces logging_started/start_logging 2017-06-11 20:34:12 +01:00
Peter Barker 927cc75843 Plane: simplify should_log (NFC) 2017-06-11 20:34:12 +01:00
Andrew Tridgell 1455c23230 Plane: fixed docs for tailsitter 2017-06-10 18:41:34 +10:00
Pierre Kancir d5cc1e64ed GCS_Common: rename send_rangefinder to send_rangefinder_downward 2017-06-08 01:32:04 +01:00
Pierre Kancir 0bc9d294fb ArduPlane: change rangefinder msg for common one 2017-06-08 01:31:52 +01:00
Pierre Kancir 9a121dc7c4 ArduPlane: add DISTANCE_SENSOR support 2017-06-08 01:31:52 +01:00
Dr.-Ing. Amilcar Do Carmo Lucas ccee841578 Plane: NFC SYS_NUM_RESETS is a read-only variable 2017-06-07 19:53:03 +09:00
Mark Whitehorn 6607dafc66 ArduPlane: change is_tailsitter() to tailsitter_active() 2017-06-07 20:21:49 +10:00
Mark Whitehorn 53b82d1d4d ArduPlane: add comments on tailsitter pitch limits 2017-06-07 20:21:49 +10:00
Mark Whitehorn 65755454e0 ArduPlane: set tailsitter VTOL pitch limits using only Q_ANGLE_MAX 2017-06-07 20:21:49 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas 14b214eb9b Plane: remove FS parameters default values macros.
They just add an un-necessary level of indirection in the code. The parameters are run-time configurable now.
2017-06-07 17:46:39 +10:00
Michael du Breuil 87c076da4d ArduPlane: Fix missing break in GCS_MAVLink
Was causing AOA_SSA to send a landing message as wel
2017-06-05 13:12:01 +09:00
Randy Mackay f7e830cfad Plane: pixhawk mixer supports motors 9 to 12 2017-05-27 14:21:13 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 405e0bb9d9 Plane: Add missing @RebootRequired: True 2017-05-27 01:55:55 +01:00
Paulo Neves a45dd30c1d Plane: Add MAV_CMD_DO_SET_CAM_TRIGG_DIST support. 2017-05-25 09:35:22 +09:00
Michael du Breuil 19a5475195 Plane: Send landing messages 2017-05-24 15:22:27 -07:00
Dr.-Ing. Amilcar Do Carmo Lucas 2f5f8eb323 Plane: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Michael du Breuil 92d505598b ArduPlane: Poll AP_Landing for fly forward information 2017-05-15 14:50:29 -07:00
Andrew Tridgell 92f88e9b33 Plane: fixed climb rate for quadplanes in CRUISE
the high loop rate of quadplanes led to less than 1cm/loop change in
height, which got truncated to zero. Adjusting height at 10Hz fixes
that.

Thanks to Marco for reporting this!
2017-05-10 08:03:23 +10:00
Andrew Tridgell 6eaad59115 Plane: improve vectored tailsitter takeoff
this gives extra pitch input when taking off a vectored tailsitter,
allowing the motors to point straight up for easy takeoff

thanks to Leonard for the idea!
2017-05-07 09:10:44 +10:00
Andrew Tridgell a46799d34e Plane: removed AP_Airspeed from vehicle code 2017-05-04 22:59:02 -07:00
André Kjellstrup 21b8d3cb3d Plane: Removed scary autotakeoff message.
This message does not provide anything useful, but is rather scary to
get moments before launch.
If it's somehow meant to provide useful information, or an action "Timer
interrupted AUTO" should be replaced by something else.
2017-05-04 22:37:32 -07:00
Peter Barker 378015691b Plane: stop appending lf to PERF message 2017-05-01 16:21:55 +01:00
Peter Barker 084242cf03 Plane: move init of DataFlash references into vehicle init
It is possible to start a log before the existing codepath is crossed.
2017-05-01 15:04:34 +01:00
Andrew Tridgell 708b483d77 Plane: prepare for 3.8.0beta5 2017-05-01 20:30:32 +10:00
Andrew Tridgell 2706c9d57a Plane: use common send_queued_parameters() 2017-05-01 14:36:10 +10:00
Andrew Tridgell 351304ebcb Plane: don't set fly-forward when transitioning
when quad motors are providing assistance don't see the fly-forward
flag in the AHRS. This will lower the chance of EKF yaw confusion
2017-05-01 14:27:45 +10:00
Andrew Tridgell 3eeff938b0 Plane: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +10:00
Mark Whitehorn dc10675965 ArduPlane: suppress differential thrust when throttle is zero
this prevents motors from spinning when disarming in FBWA
2017-04-28 16:08:50 -07:00
Andrew Tridgell 5a57aafb98 Plane: reduce pitch demand on takeoff on roll error 2017-04-28 16:34:33 +10:00
Andrew Tridgell 954905e0eb Plane: allow battery failsafe with usb connected
some people connect USB to allow connections from a companion
computer. The arming check is sufficient to prevent unwanted battery
failsafes when bench testing
2017-04-28 16:33:49 +10:00
Andrew Tridgell 888edcd709 Plane: fixed duplicate include of AP_ADC library 2017-04-27 18:32:26 +10:00
Andrew Tridgell 7ea0f65590 Plane: removed incorrect comment 2017-04-24 16:56:23 +10:00
Andrew Tridgell 06b0742481 Plane: fixed jump in qhover on takeoff
Z controller PID is from -1 to 1

thanks to Leonard for spotting this
2017-04-24 16:55:41 +10:00
Andrew Tridgell b9debba509 Plane: make ground test easier for tilt 2017-04-24 16:55:41 +10:00
Andrew Tridgell 76870f8e01 Plane: improve fast/slow tilt in ground tests
when disarmed use the slow tilts so users can judge the rates it will
use in flight
2017-04-24 16:55:41 +10:00
Andrew Tridgell aab20317a0 Plane: fixed position control in QLAND_FINAL 2017-04-24 16:55:41 +10:00
Andrew Tridgell b1f1ace736 Plane: support vectored yaw tiltrotors
this adds support for tiltrotors which control yaw by vectoring the
forward motors. This avoids the need for the rear motor on a
tilt-tricopter to have a tilt servo
2017-04-24 16:54:41 +10:00
Andrew Tridgell fedabd1ace Plane: added logging of quadplane desired yaw
makes analysis of takeoffs easier
2017-04-24 16:52:16 +10:00
Andrew Tridgell 2d9c3e3d93 Plane: added EKF yaw reset handling to quadplane
this follows the implementation from copter. Thanks to Leonard for the
suggestion
2017-04-24 16:52:16 +10:00
Andrew Tridgell 516bf26719 Plane: fixed QRTL change when coming from loiter
the nav controller can think we have already reached the loiter target
if we were last in a LOITER when we switch to RTL. In that case it
would switch to QRTL immediately

found by Leonard (thanks!)
2017-04-24 16:28:59 +10:00
Andrew Tridgell be1b50d6e2 Plane: support auto trim for separate elevon and vtail channels
this supports SERVO_AUTO_TRIM=1 for elevons and vtails setup using the
new separate functions
2017-04-24 16:26:08 +10:00
Andrew Tridgell b4ffcfa6bd Plane: added support for elevon and vtail servo functions
these make trimming and limiting servo movement easier
2017-04-24 16:26:08 +10:00
Peter Barker b5b8620d04 Plane: log GPS detection state to DF on log startup 2017-04-23 21:04:17 +01:00
Eugene Shamaev ca84ab36be Plane: AOA and SSA estimations are added to parameters and data logs 2017-04-19 20:48:42 +10:00
Andrew Tridgell 88e02c7b35 Plane: log the throttle mix for quadplane copter control 2017-04-19 09:08:43 +10:00
Andrew Tridgell 8e3f8f47c8 Plane: tilt motors fast in final stages of quadplane transition
when transition of tilt quadplane has reached the stage where the tilted
motors are used solely for fwd thrust and rear motors are off we should
move the tilt to full forward rapidly
2017-04-19 09:08:14 +10:00
Tom Pittenger 5b47927937 Plane: pre-launch flaps incorrectly always disabled
Pre-launch flaps are always disabled by checking current state against zero (which it always will be) instead of the param which is what it was supposed to be checking.
2017-04-18 14:40:17 -07:00
Andrew Tridgell d5ec7b0aad Plane: fixed a sign error in the angle assist code
thanks to Leonard for finding this!
2017-04-18 22:09:22 +10:00
Andrew Tridgell b15b11e32d Plane: always stabilize with tailsitters 2017-04-14 12:48:08 +10:00
Michael du Breuil b850c1041f Plane: Send BATTERY_STATUS 2017-04-12 10:21:49 +09:00
Andrew Tridgell 46d910539c Plane: fixed a warning 2017-04-11 17:34:40 +10:00
Andrew Tridgell 642a6acfcb Plane: support thrust vectoring in tailsitters
adds Q_TAILSIT_VHGAIN and Q_TAILSIT_VFGAIN, allowing for thust
vectoring in both fixed wing and hover
2017-04-11 17:34:40 +10:00
Andrew Tridgell 664e41cec6 Plane: bring in demanded climb rate over 1 second
when we engage the Z controller in quadplane we bring in the climb
rate slowly to prevent a sudden change in motor demand
2017-04-09 16:45:19 +10:00
Andrew Tridgell 17ba8b3304 Plane: raise logging rate for PID and servos 2017-04-09 16:45:19 +10:00
Andrew Tridgell 0cf571d338 Plane: moved Z altitude target reset
reset alt target whenever we have not run Z controller for 2s
2017-04-09 16:45:19 +10:00
Mark Whitehorn 7679b758b0 Plane: add parameter RUDD_DT_GAIN for dual motor tailsitter
controls rudder to differential thrust mixing in FW mode
2017-04-06 08:29:44 +10:00
Michael du Breuil 876ffa351b Plane: Update L1 constructor for new arguments 2017-04-06 08:26:04 +10:00
Andrew Tridgell acaef22416 Plane: improve transition from QSTABILIZE to FBWA or QHOVER 2017-04-05 20:00:29 +10:00
Andrew Tridgell a9b8e4b5d3 Plane: prepare for 3.8.0beta4 2017-04-04 20:49:10 +10:00
Andrew Tridgell 36d8f730e1 Plane: setup better defaults for tailsitters 2017-04-04 10:15:08 +10:00
Andrew Tridgell 48ae2f2de0 Plane: changed default THR_MAX to 100
we have left it at 75 for far too long
2017-04-04 08:19:41 +10:00
Andrew Tridgell 6a90257d2a Plane: fixed attitude logging for tailsitters 2017-03-31 11:30:44 +11:00
Andrew Tridgell c76eadf4f6 Plane: add available memory to PM message 2017-03-27 14:35:21 +09:00
Andrew Tridgell 5d06e4238f Plane: make the quadplane motors var_info dynamic
this will allow for more quadplane motors class types
2017-03-25 16:22:10 +11:00
Michael du Breuil 649ef0fc16 Plane: Only consider a takeoff as begun if the safety switch has been pressed 2017-03-23 16:55:47 -07:00
Andrew Tridgell af97a3974b Plane: initialise target height correctly on quadplane transition
this fixes a bug where a plane in QSTABILIZE would drop suddenly if
switched to FBWA when the target altitude had not been initialised
2017-03-22 21:34:40 +11:00
Andrew Tridgell bb158a437e Plane: handle bad Q_FRAME_CLASS
default to quad with a warning. This prevents users getting stuck
without being able to set Q_ENABLE=1

thanks to Leonard for noticing
2017-03-18 22:10:20 +11:00
Andrew Tridgell e3a8d477f5 Plane: improve tiltrotor transition strategy
avoid running forward motors at high throttle when transitioning to a
VTOL mode
2017-03-14 14:42:20 +11:00
Andrew Tridgell 3f7e7d456f Plane: in fixed wing mode slave quadplane attitude rate controller
For quadplanes this uses the attitude controller from fixed wing
when using the multicopter controller to assist fixed wing
flight. This prevents a rate mismatch between the two controller
leading to oscillation
2017-03-14 14:42:20 +11:00
Andrew Tridgell 2db8589f49 Plane: smarter Z controller initialisation for quadplanes
this is more generic than the previous one used only for the full
position controller
2017-03-14 14:42:20 +11:00
Andrew Tridgell dd4f56dd98 Plane: added PIQ messages for quadplane PIDs
keep them separate from fixed wing PIDs, so we can watch the
interaction between the PIDs in transitions
2017-03-14 14:42:20 +11:00
Andrew Tridgell 0e175179a6 Plane: log home and origin on logging start 2017-03-14 10:51:15 +11:00
Andrey Kolobov 35d406aeab Plane: added a soaring controller to Arduplane 2017-03-14 08:53:10 +11:00
Michael du Breuil 9e893eacd1 Plane: Change some user facing statustexts 2017-03-08 00:59:56 -08:00
Michael du Breuil 041fe38ba6 Plane: Update build tools for deepstall PID dependency 2017-03-02 12:38:59 +11:00
Michael du Breuil cf10b7b841 Plane: Add support for landing PID's and servo control 2017-03-02 12:38:59 +11:00
Michael du Breuil 1bb806edb2 Plane: Use new landing interfaces 2017-03-02 12:38:59 +11:00
Andrew Tridgell abcc75009d Plane: move relay init earlier
allows relay pins to be used as pullups for other sensors (such as
LidarLiteV3)
2017-03-01 22:44:37 +11:00
Randy Mackay eb746eaeef Plane: fix SYSID_ENFORCE parameter description 2017-02-28 15:08:17 +09:00
Michael du Breuil fbf6050876 Plane: Reset home to AHRS position rather then snapshotting GPS 2017-02-28 11:33:53 +11:00
Randy Mackay c0f155fd27 Plane: use only downward facing rangefinder 2017-02-27 15:18:25 +09:00
Andrew Tridgell 4ff5bf5af5 Plane: zero integrators and set throttle mix
this zeros fixed wing integrators during TRANSITION_AIRSPEED_WAIT and
uses a zero throttle mix during TRANSITION_TIMER. This should allow
the fixed wing controller more time to adapt to forward flight
2017-02-26 09:20:51 +11:00
Andrew Tridgell c061d5615b Plane: added manual input mask for tailsitter prop-hang
This adds new parameters Q_TAILSIT_MASK and Q_TAILSIT_MASKCH. These
parameters allow a user to use the tailsitter capabilities of a 3D
plane to teach themselves to prop-hang.

It works by allowing the user to setup a switch on their transmitter
to enable manual pass-thru of a set of the input channels to outputs
when in tailsitter hover. The user can then use that switch to allow
learning of hover control in a 3D plane one channel (or two channels)
at a time.
2017-02-26 09:20:13 +11:00
Andrew Tridgell 3bb25eb194 Plane: added Q_TAILSIT_INPUT
this allows the user to control tailsitters either in body frame (like
a plane) or in earth frame (like a multicopter). This is useful for
people wanting to learn to fly prop-hang on 3D planes
2017-02-26 09:20:13 +11:00
Andrew Tridgell ea5186340b Plane: added Q_TILT_RATE_UP and Q_TILT_RATE_DN as separate parameters
allow control of tilt rate separately for UP and DOWN

always allow at least 90 degrees/second for switching to MANUAL
2017-02-25 17:53:26 +11:00
Tom Pittenger 4ccd59f394 Plane: allow exiting loiter_to_alt in cases where you get stuck
- check for scenarios where updrafts can keep you from loitering down indefinitely.
2017-02-23 05:15:49 -08:00
Andrew Tridgell a4c5247fba Plane: prepare 3.8.0-beta3
key fix is the servo slew rate bug
2017-02-22 07:25:47 +11:00
Tom Pittenger 69a10042eb Plane: always stream RPM data over mavlink when enabled 2017-02-21 11:16:27 -08:00
Tom Pittenger 67486dc3f0 Plane: always log RPM when enabled 2017-02-21 04:20:01 -08:00
Peter Barker 97145f20fc Plane: fix startup of CLI menu system 2017-02-20 00:06:23 -08:00
Andrew Tridgell 07ab04897d Plane: reset roll/pitch integrators while tailsitter active
this prevents integrator buildup while flying in hover
2017-02-18 22:23:58 +11:00
Andrew Tridgell b3380ecfa7 Plane: support twin-engine planes
with differential thrust for yaw
2017-02-18 17:26:43 +11:00
Andrew Tridgell e8b11924f8 Plane: split out the tailsitter transition complete code
use both roll and pitch to trigger completion of transition. This
copes with situations where the plane has managed to get itself rolled
over far enough that it can't recover into hover
2017-02-18 17:26:43 +11:00
Andrew Tridgell d5a3f844f1 Plane: changes for AC_WPNav 2017-02-18 17:26:43 +11:00
Andrew Tridgell c787f4c56f Plane: initial support for tailsitter transitions 2017-02-18 17:26:43 +11:00
Andrew Tridgell 83f3cee99e Plane: initial hooks for tailsitter support 2017-02-18 17:26:43 +11:00
Andrew Tridgell 4e4f5a7ac9 Plane: allow tailsitters to takeoff with any attitude 2017-02-18 17:26:43 +11:00
Andrew Tridgell 0fc04b0158 Plane: setup plane frame type parameter flags 2017-02-14 19:50:01 +11:00
Andrew Tridgell c294519925 Plane: lower default Q_M_SPOOL_TIME to 0.25 2017-02-14 09:23:17 +09:00
Peter Barker 1d7994e9ba Plane: create GCS_Plane subclass 2017-02-13 17:03:06 +11:00
Peter Barker 98c4b48161 Plane: not in log download upon log erase
erase is a synchronous operation
2017-02-13 11:36:16 +11:00
Peter Barker 49bf336539 Plane: Support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker d060670ba3 Plane: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Michael du Breuil 29b16dbafd Plane: Refactor to request relative altitudes from AHRS
Removes the need for plane to do the math for finding the relative height.

Also caches the value at the same time we update current_loc, which is a
non behaviour change as that was the only time you could see a change in
the relative height propegate through the system anyways
2017-02-13 09:23:14 +11:00
Michael du Breuil f183a2618f Plane: Don't lock home altitude to AHRS origin 2017-02-13 09:23:14 +11:00
Michael du Breuil 7a1cbf76d3 Plane: Remove ALT_MIX
Closes #4998, and fix a tab/spaces error on the previous parameter
2017-02-13 09:18:52 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas c4419739c4 Plane: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is 2017-02-07 11:41:12 +11:00
Andrew Tridgell 90d9e74054 Plane: fixed parameter path 2017-02-06 15:12:32 +11:00
Andrew Tridgell 287614b415 Plane: fixed auto-takeoff throttle trigger for inverted launch
quite an unusual setup, but has been done :-)
2017-02-01 16:31:49 -08:00
Tom Pittenger 9abb0bba7f Plane: use abs() instead of labs() for int16 2017-01-30 10:43:54 -08:00
Michael du Breuil 2326eee9a0 Plane: Move loiter_radius to vehicle 2017-01-30 10:43:54 -08:00
Andrew Tridgell 5baf37f7a3 Plane: release 3.8.0beta2 2017-01-30 10:29:01 +11:00
priseborough 013eb254a2 Plane: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
murata 2492b9db7e Plane: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Tom Pittenger 1a34221db9 Plane: remove old commented code
- leftover from the AP_Landing stage refactor
2017-01-26 13:45:28 -08:00
Tom Pittenger bdafc2c025 AP_Landing: re/move complete flag into backend
the complete flag was only ever true during FLIGHT_LAND_FINAL so we just check for that now instead
2017-01-26 13:11:45 -08:00
Michael du Breuil 4cf1c74c62 AP_Landing + Plane: Check for land complete before requesting disarm 2017-01-26 13:11:44 -08:00
Tom Pittenger 2ccd91d88f AP_Landing: rename stage enum 2017-01-26 13:11:44 -08:00
Tom Pittenger 650e694eb1 Plane: move landing.reset to landing.do_land() 2017-01-26 13:11:44 -08:00
Tom Pittenger 61bc0a6206 Plane: check stage==LAND instead of landing.in_progress 2017-01-26 13:11:44 -08:00
Michael du Breuil 3e66dd10d7 Plane: Move landing stages inside AP_Landing and refactor 2017-01-26 13:11:44 -08:00
Tom Pittenger b570c11e26 AP_Landing: allow separate handling for verify_land() vs verify_abort() 2017-01-26 13:11:43 -08:00
Tom Pittenger e709705ab8 Plane: describe flight stages without using specific stage name 2017-01-26 13:11:43 -08:00
Tom Pittenger 6c0296ba13 AP_Landing: shadow copy of plane flight_stage into landing
.. and describe stages without using specific stage name
2017-01-26 13:11:43 -08:00
Andrew Tridgell 07cedd8a66 Plane: prevent stability shutdown in transition
this prevents the vertical motors from shutting down while
transitioning if the desired throttle was too low at the start of the
transition
2017-01-25 19:01:15 +11:00
Andrew Tridgell 0d4405106f Plane: removed forcing of trim for motors in quadplane
this caused problems with tricopter tail servos
2017-01-25 19:01:15 +11:00
Andrew Tridgell 5c820adad4 Plane: fixed tilt transition with binary tilt servo
once the tilt is fully fwd then force transition as done at any
airspeed
2017-01-25 19:01:15 +11:00
Andrew Tridgell 586f8a9ca8 Plane: fixes for tilt quadplane after rebase 2017-01-25 19:01:15 +11:00
Andrew Tridgell 2feaa9926c Plane: prevent fwd motor when throttle in dead zone for tiltrotor
otherwise we end up with the SPIN_ARMED value
2017-01-25 19:01:15 +11:00
Andrew Tridgell 54bca768b8 Plane: added Q_TILT_TYPE for retract servo tiltrotors 2017-01-25 19:01:15 +11:00
Michael du Breuil f017073077 Plane: Report battery failsafes via sys_status 2017-01-25 09:26:19 +09:00
Randy Mackay fc4741395d Plane: notify initialised after parameters loaded 2017-01-23 15:07:21 -08:00
Randy Mackay fad2ba608f Plane: send flight mode string to Notify 2017-01-23 15:07:21 -08:00
Randy Mackay af514eb101 Copter: remove some comments 2017-01-23 15:07:20 -08:00
Dmitry Prokhorov 497a4bd4a5 ArduPlane: Support for OLED display by Alexey Kozin
https://github.com/ArduPilot/ardupilot/pull/5135
2017-01-23 15:07:20 -08:00
Randy Mackay e906310b71 Plane: rudder_arming moved to AP_Arming_Plane 2017-01-17 11:45:08 +09:00
Randy Mackay 7cc8b7232c Plane: rename arming_checks to AP_Arming 2017-01-17 11:45:08 +09:00
Peter Barker fc28beacea Plane: AP_Arming: use callback in place of variable reference for home state 2017-01-17 11:45:08 +09:00
Tom Pittenger b8784e2c4a Plane: do not crosstrack after a land abort 2017-01-12 15:21:34 -08:00
Andrew Tridgell 3338b4295e Plane: use reload_defaults_file() 2017-01-12 17:39:37 +11:00
Andrew Tridgell 2f100b0804 Plane: removed separate tricopter quadplane build
can all be done with one build now
2017-01-12 17:39:37 +11:00
Andrew Tridgell 68504dbcbb Plane: auto-upgrade old parameters for SRV_Channel split 2017-01-12 17:39:37 +11:00
Andrew Tridgell cb4ebdd7b4 Plane: fixed throttle_percentage()
thanks to Buzz for noticing!
2017-01-12 17:39:37 +11:00
Andrew Tridgell 6b4e5304cf Plane: fixed mixer outputs 2017-01-12 17:39:37 +11:00
Andrew Tridgell 1879eddfa0 Plane: adjust for limit_slew_rate API change 2017-01-12 17:39:37 +11:00
Andrew Tridgell 081909bf6a Plane: removed use of pwm_to_angle() 2017-01-12 17:39:37 +11:00
Andrew Tridgell b83f50be0f Plane: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Tom Pittenger 9a250c3bf4 Plane: clarify some variable names and protect against divide-by-zero 2017-01-06 17:35:44 -08:00
Eugene Shamaev ac2880db7c Plane: waypoint logic change for overflow/underflow 2017-01-06 17:35:44 -08:00
Peter Barker af9729c126 Plane: correct compilation when parachute disabled 2017-01-02 20:39:03 -08:00
Peter Barker d40187fac7 Plane: correct compilation when geofence disabled 2017-01-03 00:37:28 +00:00
Peter Barker 4865bec871 Plane: correct compilation when logging disabled 2017-01-02 16:01:29 +09:00
Tom Pittenger 063f517424 Plane, TECS, AP_Landing: rename stage LAND_ABORT to ABORT_LAND
this will reduce confusion when searching for FLIGHT_LAND_* and you get a bunch of takeoff related hits. It will also make more sense when the landing library fully manages the FLIGHT_LAND stage entirely because it will not mange FLIGHT_LAND_ABORT
2016-12-30 23:50:03 -08:00
Tom Pittenger 04f32b6ec6 Plane: simplify flight stage landing check to use landing.in_progress 2016-12-30 23:50:03 -08:00
Tom Pittenger 84e11fd899 Plane, AP_TECS: do not pass auto_land flag to TECS, it already knows it 2016-12-30 23:50:03 -08:00
Tom Pittenger c286ceba43 Plane: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:03 -08:00
Tom Pittenger 90b2458a27 Plane: remove redundant flightstage update 2016-12-30 23:44:20 -08:00
Andrew Tridgell 1c4bf77cf6 Plane: added custom conversion of Q_FRAME_CLASS parameter 2016-12-31 10:56:01 +09:00
Randy Mackay 934ef55338 Plane: quadplane instantiates motor matrix outside of case
Thanks to khancyr for noticing this
2016-12-31 10:55:23 +09:00
Randy Mackay c6dec5c3f6 Plane: quad plane uses consolidated multicopter classes 2016-12-31 10:55:23 +09:00
Andrew Tridgell 4cf509a693 Plane: fixed EKF3 logging 2016-12-19 08:07:14 +11:00
priseborough 38ad778ff1 make.inc: Add EKF3 and remove EKF1 library from make.inc files 2016-12-19 08:07:10 +11:00
priseborough 38a0e8a6ae ArduPlane: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Tom Pittenger b7b56b94a3 Plane: convert landing.complete to landing.is_complete() 2016-12-14 04:32:30 -08:00
Tom Pittenger 4b683edac9 Plane: simplified logic where landing complete overrides the calc value 2016-12-14 04:32:30 -08:00
Tom Pittenger 83f0a8114b Plane: use a common reset for uniform landing wipe 2016-12-14 04:32:30 -08:00
Tom Pittenger 8c1509ad47 Plane: abstract land abort request method 2016-12-14 04:32:30 -08:00
Andrew Tridgell 3dcf4cfb55 Plane: removed resetting integrators on mode change
this removes the zero of roll, pitch and yaw integrator on mode
change, now only doing the steering integrator.

The zeroing was from the early days when our controllers were not as
good. It should not be needed any more.
2016-12-14 20:22:56 +11:00
Randy Mackay c3b6fd4315 Plane: fix suppressing comment for case fall through
No functional change
eclipse stops complaining if no-break is used in place of fall-through
2016-12-14 13:22:15 +09:00
Randy Mackay 4efbc29490 Plane: pass HIL_GPS to gps driver 2016-12-08 15:52:26 +09:00
Tom Pittenger a3ccca17ff Plane: use fabsf instead of fabs 2016-12-06 17:38:47 -08:00
Tom Pittenger b299b9c0bb Plane: abstract out init_start_nav_cnd work to landing lib
This reverts commit 1380a35f70.
2016-12-06 03:45:14 -08:00
Peter Barker 669dc01b67 Plane: correct on_flight_line landing stage check 2016-12-06 03:24:41 -08:00
Andrew Tridgell 1380a35f70 Revert "Plane: abstract out init_start_nav_cnd work to landing lib"
This reverts commit e2288d5262.

doesn't build
2016-12-06 17:32:02 +11:00
Tom Pittenger e2288d5262 Plane: abstract out init_start_nav_cnd work to landing lib 2016-12-05 18:44:02 -08:00
Andrew Tridgell 1e691cdefc Plane: fixed build 2016-12-05 16:51:49 -08:00
Pierre Kancir da1f784e78 Plane : quadplane change to float to avoid the loss of a fractional part 2016-12-05 12:39:31 -08:00
Michael du Breuil da400dc643 Plane: Add compass cal capability bit 2016-12-04 19:17:01 -08:00
Tom Pittenger 9dd46aa03a Plane: post msg if aborting via throttle
fixes https://github.com/ArduPilot/ardupilot/issues/4906
2016-12-02 17:40:01 -08:00
Tom Pittenger 696828c144 Plane: increase landing airspeed scaled to headwind 2016-12-02 15:35:28 -08:00
Randy Mackay d95baf51c9 Plane: include AP_Beacon 2016-11-30 17:57:01 +09:00
Randy Mackay d9462d5dbc Plane: remove call to EKF1 logging 2016-11-30 17:57:00 +09:00
Randy Mackay 3587961be6 Plane: add AP_Beacon to build 2016-11-30 17:56:59 +09:00
Peter Barker f712dd5d7e Plane: add arming check for logging actually started 2016-11-29 15:14:09 -08:00
Peter Barker 784da9d1eb Plane: check CardInserted in AP_Arming 2016-11-29 15:14:09 -08:00
Peter Barker 98b5ab4656 Plane: remove incorrect comment about logging/in_mavlink-delay 2016-11-29 15:14:09 -08:00
Peter Barker d11578f203 Plane: do not reset LOG_BITMASK when no CardInserted
This really just confuses everyone
2016-11-29 15:14:09 -08:00
Peter Barker 17f5ef4610 Plane: inform dataflash of vehicle arm state 2016-11-28 09:42:09 -08:00
Tom Pittenger dc85ffa834 Plane: move jump_to_landing_sequence() to AP_Mission 2016-11-25 19:07:30 -08:00
Tom Pittenger ac1dced3bf Plane: set landing params as private and use accessors 2016-11-25 19:07:30 -08:00
Tom Pittenger 6544afbcba Plane: Migrate the rest of "LAND_" params from Plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger 8a5a62cfdc Plane: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger 9f184a1490 Plane: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger bfbfc3ea3d Plane: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger fa991297db Plane: create new "LAND_" param block for AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger e919afad1e Plane: update comment and remove redundant work
- update_flight_stage is already called within restart_landing_sequence()
2016-11-25 19:07:30 -08:00
Tom Pittenger 1b0a263761 Plane: remove landing.cpp entirely 2016-11-25 19:07:30 -08:00
Tom Pittenger fc2f518f31 Plane: revert auto_state.checked_for_autoland back to Plane 2016-11-25 19:07:30 -08:00
Tom Pittenger db42252168 Plane: port the rest of plane/landing.cpp to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger 9a79b79f1e AP_Landing: port more from plane 2016-11-25 19:07:30 -08:00
Tom Pittenger 10027b21d6 Plane/AP_Landing: port setup_landing_glide_slope() 2016-11-25 19:07:30 -08:00
Tom Pittenger f556f705e6 Plane: move various g params to aparms 2016-11-25 19:07:30 -08:00
Tom Pittenger 5dbb2d4c2a Plane: move two functions out of landing.cpp
- these two functions will be hard to port to AP_Landing due to complex dependancies so we'll defer them by moving them ArduPlane.cpp
2016-11-25 19:07:30 -08:00
Tom Pittenger d2376b7c8b Plane: migrate two helper functions to AP_Landing
- move functions restart_landing_sequence() and jump_to_landing_sequence() to AP_Landing
- NOTE: jump_to function can not set mode, so it is now done externally in vehicle
2016-11-25 19:07:30 -08:00
Tom Pittenger 896b931a7c Plane: Move auto_state variables to AP_landing members 2016-11-25 19:07:30 -08:00
Tom Pittenger 61b02cb41d AP_Landing: add new library for fixed wing landing abstraction 2016-11-25 19:07:30 -08:00
Tom Pittenger ce8db1fdba Plane: move struct Rangefinder_State to AP_Vehicle 2016-11-25 19:07:30 -08:00
Tom Pittenger 0ffeed644c Plane: remove define RANGEFINDER_ENABLED - always enabled 2016-11-25 19:07:30 -08:00
murata 0ee8edc29d Plane: Change from printf statement to print, println statement. 2016-11-25 15:57:15 -08:00
Francisco Ferreira 4c8d151190 Plane: support MAV_CMD_ACCELCAL_VEHICLE_POS 2016-11-15 11:42:54 -08:00
Michael du Breuil 4dae7a6f3d Plane: Simplify parameters
Remove a lot of cases where @Values and @Bitmask were encoding the same
information. @Value should only be used with @Bitmask when it is being
used to present a series of reasonable defaults that is some hybrid of
the @Bitmask fields. Enumerating each bit as 1, 2, 4, 8 is of no value.
2016-11-13 11:53:19 -08:00
Andrew Tridgell 5ed8418305 Plane: move radio init after boardconfig init
to ensure px4io is setup first
2016-11-13 14:55:35 +11:00
Tom Pittenger d12a55f33c Plane: fixed spelling
fixed spellling in gcs msg
2016-11-11 01:17:59 -08:00
Andrew Tridgell cb57945e9e Plane: use handle_common_message() 2016-11-09 17:08:09 +11:00
floaledm 6dc71beb1e Plane: move AP_Frsky_Telem for waf to ardupilotwaf 2016-11-08 07:42:39 +11:00
floaledm b2a6b93d30 Plane: send ahrs groundspeed estimate instead of GPS groundspeed in VFR_HUD message 2016-11-07 09:14:28 +11:00
floaledm bae9ce20c1 Plane: update sensor status error flags independently of sending a sys_status message 2016-11-02 08:36:58 +11:00
murata ab99ea54eb Plane: To nullptr from NULL. 2016-10-29 10:32:05 -03:00
Peter Barker 98ae6c776a Plane: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09:00
Peter Barker 33b7750c7d Plane: remove duplicate parameter metadata 2016-10-27 09:15:03 -07:00
Andrew Tridgell b65c559558 Plane: updates for EKF API changes 2016-10-27 17:09:06 +11:00
priseborough 72db2ebd81 Plane: Add compensation for optical flow sensor body position offset 2016-10-27 14:54:42 +11:00
expntly 0d1e50b50b Plane: fix typo, check wp_nav is initialized 2016-10-27 14:39:50 +11:00
Michael du Breuil fd24e944b8 Plane: Allow compass calibrator to manage size of buffer 2016-10-27 14:04:33 +11:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell 5ac62c27e2 Plane: reduce change of false rangefinder readings triggering a flare
This doesn't count repeated readings towards the rangefinder count,
and resets the counter if the change is more than 20% of full
range. This greatly reduces the impact of poor sonar sensors for
landing
2016-10-23 15:53:12 +11:00
Andrew Tridgell 32a74e37d2 Plane: update version to 3.8.0beta1 2016-10-21 13:16:36 +11:00
Andrew Tridgell 8dd122e6df Plane: updated release notes for 3.7.1 2016-10-21 13:15:51 +11:00
Ricardo de Almeida Gonzaga 3d1db89655 ArduPlane: Fix typos 2016-10-20 08:14:37 -07:00
Andrew Tridgell 15d6c77087 Plane: fixed vtail rudder only planes 2016-10-20 17:49:05 +11:00
Tom Pittenger 350ed20460 Plane: ensure rangefinder last_time resets
ensure rangefinder_state.last_correction_time_ms resets to zero via memset(&rangefinder_state, 0..)
2016-10-17 14:34:00 -07:00
William Liu 8a64106faa Plane: return false when throttle is not suppressed 2016-10-17 09:50:25 +11:00
Ferrin Benjamin Katz 38581669ec Plane: slow down home update
Moved the code theat updates the home position while the aircraft is
unarmed from 10hz loop to one second loop and ensured that is does not
update more then once every 5 seconds. Closes issue 4311.
2016-10-17 09:50:25 +11:00
Andrew Tridgell c3aaff122b Plane: fixed startup order of setting mavlink system ID 2016-10-17 09:20:55 +11:00
Andrew Tridgell 5724aef8b3 Plane: support automatic servo trimming
now that we have separated RC input from servo output with
SERVO_RNG_ENABLE=1 we can do full automatic servo trimming as an
option
2016-10-16 15:20:47 +11:00
Andrew Tridgell 70375720f3 Plane: fixed throttle slew handling with SERVO_RNG_ENABLE=1 2016-10-15 21:42:39 +11:00
Andrew Tridgell 29f4fe2398 Plane: fixed accel based launch with timer enabled
when both timer and accel set should meet both conditions
2016-10-15 21:42:38 +11:00
Andrew Tridgell 6878a9a270 Plane: use handle_rc_bind 2016-10-15 21:42:38 +11:00
Andrew Tridgell 3a8e38ee12 Plane: added SYSID_ENFORCE parameter
this allows safer sharing of telemetry links between aircraft
2016-10-15 17:12:13 +11:00
Andrew Tridgell be1109174e Plane: apply elevon and vtail mixers after SRV_Channel remap
this is needed to ensure that changes in RCn_MIN/MAX don't cause
changes in the output handling for elevon nd vtail planes
2016-10-15 16:59:36 +11:00
Andrew Tridgell a369b4833a Plane: fixed throttle channel during startup failsafe 2016-10-15 16:59:36 +11:00
Andrew Tridgell d49f50db4b Plane: don't output aux channels on termination 2016-10-15 16:59:36 +11:00
Andrew Tridgell 856b4f4d14 Plane: disable AUX passthrough during termination 2016-10-15 16:59:36 +11:00
Andrew Tridgell 57ddc8f58f Plane: use SRV_Channels set_esc_scaling()
this fixes throttle range on Disco with SERVO_RNG_ENABLE=1
2016-10-15 16:59:36 +11:00
Andrew Tridgell fcd98e2c44 Plane: implement AUTO_TRIM for SERVO_RNG_ENABLE=1
automatically adjust servo trims
2016-10-15 16:59:35 +11:00
Andrew Tridgell a23c373f16 Plane: fixed servo mixing for AFS and failsafe case 2016-10-15 16:59:35 +11:00
Andrew Tridgell 8170df7ba8 Plane: added servo remapping object 2016-10-15 16:59:35 +11:00
Andrew Tridgell c7f738c284 Plane: separate out the output channel mixing
this provides a framework for other output mixing types
2016-10-15 16:59:35 +11:00
Andrew Tridgell eb67c97bb2 Plane: split out flap output functions 2016-10-15 16:59:34 +11:00
Andrew Tridgell a2cdd75870 Plane: removed THROTTLE_OUT define
this can be achieved with THR_MAX parameter instead
2016-10-15 16:59:34 +11:00
Andrew Tridgell 40c6ebf61a Plane: refactor more of servos output code to be easier to read 2016-10-15 16:59:34 +11:00
Andrew Tridgell 6aa3ded666 Plane: split main servo output functions into a separate file 2016-10-15 16:59:34 +11:00
Andrew Tridgell b5a2bf2c6f Plane: only revert a tuning parameter if it has been set
fixes a 2nd transmitter tuning bug found by expntly
2016-10-14 08:34:54 +11:00
Randy Mackay f0f4322500 Plane: add AP_Proximity to build
Required because quadplane uses copter's navigation libraries which interact with AC_Avoidance which now supports AP_Proximity
2016-10-13 20:21:07 +09:00
Randy Mackay 574976a3b7 Plane: include AP_Proximity in quadplane 2016-10-13 20:21:07 +09:00
Andrew Tridgell 70265f9100 Plane: fixed bug in transmitter tuning
This bug affects transmitter tuning of parameters that have never been
saved to eeprom and don't have a default value in the AP_Param
tables. When reverting these parameters became zero which could lead
to a crash

many thanks to expntly for finding this bug!
2016-10-13 22:08:13 +11:00
Andrew Tridgell a2aa89dc1e Plane: deprecate RC_CHANNELS_RAW 2016-10-13 21:23:56 +11:00
Andrew Tridgell 0445b51143 Plane: fixed throttle slew rate in manual for quadplanes 2016-10-12 09:55:37 +11:00
Michael du Breuil 05d0696b0d Plane: Support GPS_RTCM_DATA 2016-10-11 11:00:36 +11:00
Andrew Tridgell 2b144d5c3d Plane: allow rudder arming in CRUISE and FBWB modes 2016-10-08 08:01:55 +11:00
murata b3eecb87ac Plane: To define the same wording. 2016-10-06 10:03:23 -07:00
Andrew Tridgell cb61840ad2 Plane: tell TECS to use synthetic airspeed during transition 2016-10-05 11:52:52 +11:00
murata 2f18d1de73 Plane: To add a judgment of 0 degrees longitude. 2016-10-04 08:15:23 -07:00
Andrew Tridgell 4e017bf5b3 Plane: fixed loiter mode when Q_GUIDED_MODE=1
This fixes the fixed wing behaviour of LOITER mode whne
Q_GUIDED_MODE=1.

Many thanks to the PertUAV team for finding and reporting this bug
2016-10-01 08:37:17 +10:00
Lucas De Marchi 0f000efc6f ArduPlane: Fix use of logical op instead of bitwise op
../../ArduCopter/GCS_Mavlink.cpp: In member function 'void Copter::send_extended_status1(mavlink_channel_t)':
../../ArduCopter/GCS_Mavlink.cpp:281:37: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
     uint32_t sensors_error_flags = !control_sensors_health & control_sensors_enabled & control_sensors_present;
                                     ^
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors

Thanks to Ralph Campbell <ralphcampbell1@gmail.com> for the bug report.
2016-09-29 11:36:23 -03:00
Andrew Tridgell 841828541d Plane: fixed auto ICE engine cut in QLAND final 2016-09-29 05:18:55 +10:00
Pierre Kancir 64a2fca812 Arduplane: simply invalid cmd msg 2016-09-27 07:45:48 -07:00
Pierre Kancir 04ee4141e0 ArduPlane: uniformize verify_command
Add all handle message,
Change MAV_CMD_NAV_ROI to MAV_CMD_DO_SET_ROI
Reformate comments,
2016-09-27 07:45:48 -07:00
Andrew Tridgell 6d09897b19 Plane: fixed VTOL motor termination in AFS 2016-09-27 11:53:45 +10:00
Peter Barker 31321b3b60 Plane: log to dataflash statustext messages from my_gcs 2016-09-26 00:06:07 -07:00
Tom Pittenger 94f83c3e78 Plane: frsky telem init to utilize default arguments 2016-09-25 10:42:02 -07:00
floaledm 4f6a8a017c Plane: consolidate into a single frsky.init() 2016-09-25 10:42:02 -07:00
floaledm 68df5b7606 Plane: change sensor health check to prevent false positive 2016-09-22 13:56:59 -05:00
Tom Pittenger b8d53e1c58 Plane: change how is_flying bool is assignment in fysky lib
Florent had this correct on his PR but I incorrectly advised him to change it. This commit changes it back to his original method which was correct.
2016-09-21 15:38:58 -07:00
floaledm 0b666d4933 Plane: Plane support for Frsky passthrough protocol 2016-09-21 12:12:37 -07:00
Andrew Tridgell dac7f45326 Plane: fixed use of multicopter mix_max
we need a settable mix_max for some vehicles
2016-09-21 12:23:19 +10:00
Andrew Tridgell 08dc5fab12 Plane: fixed pilot throttle based motor test 2016-09-15 18:09:35 +10:00