Commit Graph

85 Commits

Author SHA1 Message Date
Michael du Breuil 7d8005ef27 Plane: Update flaperons for all control modes
Fixes flaperons not working during takeoff, and is generally slightly
easier to reason about
2019-12-24 16:58:46 +11:00
Peter Barker c93d17b4b2 ArduPlane: use enum-class for SRV_CHANNEL_LIMIT_TRIM and friends 2019-11-26 10:17:17 +11:00
Andrew Tridgell 36baaeb3a0 Plane: added option to run idle governor in MANUAL mode
useful for quadplane testing
2019-11-17 20:10:54 +11: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
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
IamPete1 27286b659b Plane: servos: update dspoiler auto trim 2019-09-01 09:00:16 +10:00
IamPete1 76663d66e8 Plane: support bicopter tiltrotors 2019-07-02 10:15:17 +10:00
IamPete1 fb4b092917 plane: restore thr_min behaviour and update description 2019-04-23 09:39:45 +10:00
Tom Pittenger ade6281923 Plane: use #if ADVANCED_FAILSAFE == ENABLED just like Rover and Copter 2019-04-03 17:46:50 -07:00
IamPete1 520f5f7894 Plane: add crow flap options paramiter 2019-04-04 09:18:11 +11:00
Tom Pittenger 0270c57530 Plane: massive refactor and creation of Mode class 2019-04-02 16:28:52 +11: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
Peter Barker ca7566fff9 Plane: use enum class for ArmingMethod and ArmingRequired 2019-03-12 19:48:14 +11: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
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
Andrew Tridgell 5dbf603450 Plane: separate out slew limit logic for left/right throttles 2019-02-03 05:06:37 -08:00
IamPete1 eaed0a2d47 Plane: make rudder differnal thrust global 2019-01-15 10:19:19 +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
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 da69bf3391 Plane: added an abstraction for reverse thrust
use have_reverse_thrust() and get_throttle_input()
2018-11-16 08:33:35 +11:00
Eugene Shamaev 01178a75e9 Plane: added landing gear support 2018-11-09 14:35:14 +11:00
Andrew Tridgell 2d3942222b Plane: handle reverse thrust in AFS failsafe
and zero differential thrust
2018-09-13 08:15:02 +10:00
Michael du Breuil e4bbcd5ee3 Plane: Don't initilize motors with a trim value 2018-08-23 13:19:08 +10:00
Michael du Breuil fa1ad09a3b Plane: Remove unneeded rudder set 2018-08-21 08:32:56 +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 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 47c0048499 Plane: Remove manual polling of flap input channel 2018-06-05 09:51:09 +10: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
Ubuntu 16.04 VM 624aef401d Plane: Enforce THR_MIN/THR_MAX in VTOL modes 2017-12-11 22:18:39 -08:00
Guy Tzoler a6c7890c74 Plane: use cork/push wrapper 2017-11-21 14:10:54 +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 d52f5155f0 Plane: Rename rc failsafe state members 2017-11-02 16:46:08 -07: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
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 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
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 38921c4f1a Plane: correct AFS terminate for rcin/servos split 2017-07-04 07:59:28 +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 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
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 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
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