Commit Graph

326 Commits

Author SHA1 Message Date
Andrew Tridgell
f472da8e90 Plane: added ONESHOT_MASK parameter
after discussion with Paul on servo latency
2021-07-23 14:47:14 +10:00
Andrew Tridgell
1ae669bb01 Plane: added manual input expo for MANUAL, ACRO and TRAINING
this is easier than setting up mode specific expo in radios for flying
in manual modes
2021-07-23 14:47:14 +10:00
Peter Barker
055e82276e ArduPlane: remove HIL support 2021-06-15 09:47:31 +10:00
Hwurzburg
e958306343 Plane: Add options to USE_REVERSE_THRUST to cover all flight modes 2021-06-15 07:05:02 +10:00
Andrew Tridgell
0937d903a1 Plane: use HAL_EFI_ENABLED 2021-06-09 18:07:00 +10:00
Iampete1
60d26723ae Plane: make TERRAIN_FOLLOW at AP_int32 bitmask, per mode option 2021-03-24 10:15:18 +11:00
Iampete1
cca5e62c89 Plane: move RST_SWITCH_CH to RCx_OPTION 2021-03-17 19:18:46 +11:00
Iampete1
7226a3a9dc Plane: move FBWA_TDRAG_CHAN to RC Options 2021-03-17 19:18:46 +11:00
Iampete1
5f555e5314 Plane: move CHUTE_CHAN to RC Options 2021-03-17 19:18:46 +11:00
Iampete1
eeab196d91 Plane: move RST_MISSION_CH to RC option 2021-03-17 19:18:46 +11:00
James O'Shannessy
aae092b88f ArduPlane: Remove all unused geofence capability
ArduPlane: Remove missed geofence logic
2021-03-05 14:52:46 +11:00
James O'Shannessy
17fb585bf1 ArduPlane: Add support for AC_Fence
ArduPlane: Remove some geofence logic from ArduPlane

ArduPlane: Refactor action and mode return implementation

ArduPlane: Use polyfence to find the return point.
2021-03-05 14:52:46 +11:00
Tom Pittenger
c653ff880a Plane: extend Stream rates param count to match MAVLINK_COMM_NUM_BUFFER 2020-12-29 07:52:09 -07:00
Andrew Tridgell
52f61c7ac1 Plane: make FENCE_AUTOENABLE an AP_Enum 2020-12-02 18:33:07 +11:00
Samuel Tabor
10111f92d5 Plane: Rename SOARING_ENABLED to HAL_SOARING_ENABLED and don't compare to ENABLED. 2020-09-24 07:30:48 +10:00
Siddharth Purohit
fb180fa431 Plane: move to using CANManager library 2020-08-19 17:31:09 +10:00
Buzz
0f5177b291 Plane: Support a set of offboard MAVLink guided controls with rates
+ 3 rounds of fixes
2020-05-20 15:03:21 +10:00
Andrew Tridgell
8b21f5117a Plane: implement RTL_CLIMB_MIN parameter
this allows for an initial climb on RTL where roll is limited to
LEVEL_ROLL_LIMIT
2020-05-18 13:04:04 +10:00
Paul Riseborough
40cc5a5006 ArduPlane: Improve EKF failsafe in VTOL modes
Replicates Copter behaviour with a three step process if the EKF sustains a loss of navigation as detected by high GPS innovation test ratios:

1) Attempts a yaw reset using the GSF estimate if available
2) Attempts a lane switch
3) Falls back to a non-position mode
2020-05-14 10:40:48 +10:00
Iampete1
3ded030fa8 Plane: compensate forward throttle for battery voltage drop 2020-05-05 09:46:41 +10:00
Peter Hall
660c9a8a60 Plane: move from FLAP_IN_CHANNEL to RCx_Option 2020-01-01 08:11:01 +11:00
Andy Piper
eca398e7a2 Plane: create generic vehicle management and move runcam to it 2019-12-30 13:02:04 +11:00
Peter Barker
33a0e55b32 Plane: correct duplicate button instance 2019-12-10 09:29:52 +09:00
Andrew Tridgell
2b27cd2ce9 Plane: Add EFI Support 2019-11-17 20:10:54 +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
Mark Whitehorn
f054301ec2 Plane: add QACRO roll/pitch/yaw rate params 2019-04-23 09:46:38 +10:00
IamPete1
520f5f7894 Plane: add crow flap options paramiter 2019-04-04 09:18:11 +11:00
Peter Barker
73707077b5 Plane: move enabled parameter into compass library 2019-04-02 10:24:49 +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
Peter Barker
40856fef56 Plane: remove vestiges of old PX4_MIXER code 2019-01-19 19:31:03 +11:00
Peter Barker
b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +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
Eugene Shamaev
01178a75e9 Plane: added landing gear support 2018-11-09 14:35:14 +11:00
Andrew Tridgell
d5c29fc57e Plane: use IOMCU mixing if available 2018-11-07 07:35:45 +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
Michael du Breuil
3aed07a83a Plane: Create a scripting object 2018-10-09 10:08:52 +11: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
Michael du Breuil
8417bcc7d5 Plane: Add flight options bitmask 2018-08-28 09:40:53 +10:00
Peter Barker
9ce02bc504 Plane: minimal support for inheritting from RC_Channel 2018-08-01 12:11:30 +09: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
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
44f2a652f3 Plane: Remove software type param 2018-06-05 09:14:12 +10:00
Michael du Breuil
7405bb7b85 Plane: Support new battery failsafes 2018-03-27 22:12:21 +01: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
Tom Pittenger
512b327cd4 Plane: failsafe events to use enums instead of magical numbers : Non-functional change 2017-12-07 00:19:32 -08: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
Peter Barker
1a665280e9 Plane: remove CLI 2017-08-14 10:23:50 +09: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
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
Eugene Shamaev
b95ebadf8b ArduPlane: move of CAN parameters into separate group 2017-07-03 11:44:32 +01: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
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
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
Andrey Kolobov
35d406aeab Plane: added a soaring controller to Arduplane 2017-03-14 08:53:10 +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
Michael du Breuil
2326eee9a0 Plane: Move loiter_radius to vehicle 2017-01-30 10:43:54 -08:00
Andrew Tridgell
b83f50be0f Plane: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
priseborough
38a0e8a6ae ArduPlane: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11: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
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
f556f705e6 Plane: move various g params to aparms 2016-11-25 19:07:30 -08:00
Peter Barker
98ae6c776a Plane: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09: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
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
8170df7ba8 Plane: added servo remapping object 2016-10-15 16:59:35 +11:00
Tom Pittenger
285e41bac6 Plane: add avoidance_adsb framework for object avoidance 2016-08-17 22:38:54 -07:00
Andrew Tridgell
5d6dfd927b Plane: changes for AP_AdvancedFailsafe naming 2016-08-16 12:55:50 +10:00
Tom Pittenger
fc50f145ce Revert "ArduPlane: Convert references to AP_Airspeed. Added automatic migration of ARSPD_FBW_MIN and ARSPD_FBW_MAX (plane parameter) to ARSPD_FBW_MIN and ARSPD_FBW_MAX (library parameter)."
This reverts commit da1b18d918.
2016-08-07 17:54:24 -07:00
AndersonRayner
da1b18d918 ArduPlane: Convert references to AP_Airspeed. Added automatic migration of ARSPD_FBW_MIN and ARSPD_FBW_MAX (plane parameter) to ARSPD_FBW_MIN and ARSPD_FBW_MAX (library parameter). 2016-08-04 10:09:04 -07:00
Andrew Tridgell
327a057ee0 Plane: added internal combustion engine support
this allows for automatic engine start and restart
2016-07-25 10:06:03 +10:00
Andrew Tridgell
3f0a8d1761 Plane: added AP_Button support for plane
this also adds the g2 parameter table
2016-07-22 15:01:20 +10:00
Andrew Tridgell
1256c2f351 Plane: changed for AP_Vehicle API change 2016-06-24 11:39:23 +10:00
E Thomas
7d824247af Differential spoilers support, elevon offset
Fixed differential spoilers support, added elevon offset
See PR #2935
2016-06-06 21:55:50 -07:00
Andrew Tridgell
191d6df0ea Plane: moved EKF2 to a new parameter index
the meanings of many of the parameters have changed. Best to use a new
index to prevent old parameters from causing crashes
2016-05-25 19:35:17 +10:00
Tom Pittenger
6746b4227a Plane: handle large negative baro offsets (corner case) to self-trigger a land-abort go-around
new param: LAND_ABORT_DEG
@Description: This parameter is used when using a rangefinder during landing for altitude correction from baro drift (RNGFND_LANDING=1) and the altitude correction indicates your altitude is higher than the intended slope path. Steeper slopes can result in crashes so this allows the option to remember the baro offset and self-abort the landing and come around for a another landing with the correct baro offset applied for a perfect slope. An auto-abort go-around will only happen once, next attempt will not auto-abort again. This operation happens entirely automatically in AUTO mode. This value is the delta degrees threshold to trigger the go-around. Example: if set to 5 deg and the mission planned slope is 15 deg then if the new slope is 21 then it will go-around. Set to 0 to disable. Requires LAND_SLOPE_RCALC > 0.
2016-05-17 15:41:09 -07:00
Tom Pittenger
034cd2413e Plane: re-calc landing glide slope to gracefully handle baro offset during long flights
New param: LAND_SLOPE_RCALC
@Description: This parameter is used when using a rangefinder during landing for altitude correction from baro drift (RNGFND_LANDING=1) and the altitude correction indicates your altitude is lower than the intended slope path. This value is the threshold of the correction to re-calculate the landing approach slope. Set to zero to keep the original slope all the way down and any detected baro drift will be corrected by pitching/throttling up to snap back to resume the original slope path. Otherwise, when a rangefinder altitude correction exceeds this threshold it will trigger a slope re-calculate to give a shallower slope. This also smoothes out the approach when flying over objects such as trees. Recommend a value of 2m.

default value is 2 (so, enabled by default)
2016-05-17 15:39:04 -07:00
Tom Pittenger
2ba9a04bf5 Plane: smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC
@Description: This parameter reduces the pitch minimum limit of an auto-takeoff just a few seconds before it reaches the target altitude. This reduces overshoot by allowing the flight controller to start leveling off a few seconds before reaching the target height. When set to zero, the mission pitch min is enforced all the way to and through the target altitude, otherwise the pitch min slowly reduces to zero in the final segment. This is the pitch_min, not the demand. The flight controller should still be commanding to gain altitude to finish the takeoff but with this param it is not forcing it higher than it wants to be. (+1 squashed commits)
2016-04-21 22:54:17 -07:00
Andrew Tridgell
27fb35253c Plane: added in-flight transmitter tuning 2016-04-16 20:26:43 +10:00
Andrew Tridgell
3a242ee4a9 Plane: support up to 16 output channels
the extra channels can be used via SBUS output
2016-04-14 08:05:06 +10:00
Andrew Tridgell
dd6c4d6225 Plane: fixed up parameters for quadplane
this fixes quadplane parameters for the new AP_Motors code
2016-04-01 16:17:07 +11:00
Lucas De Marchi
e01d49ff53 ArduPlane: replace header guard with pragma once 2016-03-16 18:40:45 +11:00
Tom Pittenger
75be40ea59 Plane: add LAND_THR_SLEW 2016-03-02 10:54:19 -08:00
Tom Pittenger
0b26a34f22 Plane: new param LAND_THEN_NEUTRL
// @Description: When enabled, after an autoland and auto-disarm via LAND_DISARMDELAY happens then set all servos to neutral. This is helpful when an aircraft has a rough landing upside down or a crazy angle causing the servos to strain.
2016-02-16 23:40:44 -08:00
Tom Pittenger
2e92089ce6 Plane: Reverse Thrust
Reverse thrust for controlled landings, even with much steeper approach slopes. This is achieved by allowing throttle demand to go negative to maintain a target airspeed. A Pre-Flare stage was added, triggered by an altitude, to allow for a slower airspeed just before land. That lower airspeed can be near stall.
new params LAND_PF_ALT, LAND_PF_SEC, LAND_PF_ARSPD, USE_REV_THRUST
2016-02-09 14:18:02 +11:00
Andrew Tridgell
125af1b856 Plane: added OVERRIDE_SAFETY parameter 2016-01-29 12:20:14 +11:00
Andrew Tridgell
23eef91c59 Plane: added parameter RTL_RADIUS
this allows the loiter radius for RTL to be controlled separately from
the radius for loiter (as requested by a user)
2016-01-19 15:04:30 +11:00
Andrew Tridgell
6468fc6d93 Plane: Initial implementation of quadplane
adds "HOVER" mode
2016-01-09 07:38:52 +11:00
Andrew Tridgell
7b6d862316 Plane: support up to 14 rc inputs for all boards 2016-01-04 08:22:35 +11:00
Tom Pittenger
7cde90553d Plane: new param CRASH_ACC_THRESH
@Description: X-Axis deceleration threshold to notify the crash detector that there was a possible impact which helps disarm the motor quickly after a crash. This value should be much higher than normal negative x-axis forces during normal flight, check flight log files to determine the average IMU.x values for your aircraft and motor type. Higher value means less sensative (triggers on higher impact). For electric planes that don't vibrate much during fight a value of 25 is good (that's about 2.5G). For petrol/nitro planes you'll want a higher value. Set to 0 to disable the collision detector.
2016-01-02 09:58:32 +11:00
pepevalbe
9743e32f70 Plane: added group parameter for AP_Notify library 2015-12-31 11:33:05 +09:00
Peter Barker
574f95bd76 Plane: support multiple simultaneous backends 2015-12-03 13:21:51 +11:00
Tom Pittenger
eaad72c192 Plane: Add support for handing ADS-B traffic
- parse MAVLINK_MSG_ADSB_VEHICLE msg
- new 1Hz adsb_update task to compare list against for threat detection
- perform object avoidance via loiter or loiter_and_descend. More methods are welcome!
2015-11-23 19:45:40 +11:00
Lucas De Marchi
d1be74c87e ArduPlane: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Andrew Tridgell
5d1d54a8cb Plane: added CHUTE_CHAN parameter for manual release 2015-10-27 16:06:34 +11:00
Andrew Tridgell
9affddcaa3 Plane: initial support for AP_Parachute library 2015-10-27 16:06:34 +11:00
Andrew Tridgell
458e967d06 Plane: added RPM logging
useful for seeing if a petrol motor is still running
2015-09-24 20:58:18 +10:00