Commit Graph

74 Commits

Author SHA1 Message Date
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
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 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 b3380ecfa7 Plane: support twin-engine planes
with differential thrust for yaw
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
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
Tom Pittenger 61bc0a6206 Plane: check stage==LAND instead of landing.in_progress 2017-01-26 13:11:44 -08:00
Tom Pittenger e709705ab8 Plane: describe flight stages without using specific stage name 2017-01-26 13:11:43 -08: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