Iampete1
2f4661c52f
Plane: use float for set/get output scaled
2021-10-20 18:29:58 +11:00
Andrew Tridgell
faba02a3f5
Plane: apply the takeoff throttle slew limit to quadplanes
...
this applies the limit when we are in a fwd transition, both in AUTO
modes and stabilized modes
2021-10-13 18:53:45 +11:00
Michel Pastor
7cb2619413
Plane: fix flawed logic in throttle voltage comp params check
2021-09-29 17:05:17 +10:00
Shiv Tyagi
cdb4ec8ad0
Plane : Improved LAND_THEN_NEUTRL to work on all control surfaces
...
This fixes the issue #18593
Co-Authored-By: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2021-09-17 22:06:24 -05:00
Iampete1
c4a1ae42e5
Plane: Quadpalne: move tiltrotor functionality to own class
2021-09-17 08:24:17 +10:00
Peter Barker
3d34e061fe
ArduPlane: add and use HAL_QUADPLANE_ENABLED
2021-09-14 11:23:18 +10:00
Iampete1
b18da48f39
Plane: remove AUTO_FBW_STEER
2021-09-12 22:12:32 -05:00
Hwurzburg
327f3a0803
ArduPlane: add option for man throttle center to be TRIM_THROTTLE
2021-09-07 10:02:26 +10:00
Iampete1
0eab3faf32
Plane: use new tailsiter class
2021-07-27 09:08:34 +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
Andrew Tridgell
062a15ce11
Plane: set_takeoff_expected should only get set when not flying
2021-06-02 11:13:16 +09:00
Andrew Tridgell
68a1100c64
Plane: use new APIs for takeoff/touchdown expected
2021-06-02 11:13:16 +09:00
Peter Hall
d3dca4c17d
Plane: consistantly slew all three throttles
2021-04-27 09:37:32 +10:00
Paul Riseborough
1dc79f0be8
Plane: Clarify calculation used to detect throw
2021-03-05 12:10:01 +11:00
Paul Riseborough
39e1eb238d
Plane: make detection of impending takeoff more likely
2021-03-05 12:10:01 +11:00
Patrick José Pereira
cdc7f891a9
ArduPlane: Add missing const in member functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Barker
6baaf03c8c
Plane: move auto_throttle_mode to being a method on each mode
2021-01-10 16:04:30 +11:00
Andrew Tridgell
8e3c6124eb
Plane: added support for rear motor tilt
...
needed for X8 tilt tri test aircraft for this PR
2020-12-21 12:05:50 +11:00
Iampete1
024d2b7435
Plane: always output flaperons and dspoilers
2020-11-03 10:44:07 +11:00
Hwurzburg
cf055fd1e0
Plane: add midposition to flare RC option sw
2020-10-27 10:47:07 +11:00
Hwurzburg
b61ee34b6b
ArduPlane: add RC option for landing flare
2020-10-13 11:36:19 +11:00
Andy Piper
d16872cca5
Plane: compile out ADSB mode if required
2020-09-24 08:22:16 -07:00
Samuel Tabor
93bcfc4c3e
Plane: Assign flap channel in set_control_channels() to avoid expensive call in set_servos_flaps().
2020-09-03 07:55:51 +10:00
Samuel Tabor
590ebb180c
Plane: Update airbrake channel assignment in set_control_channels() to avoid expensive call in airbrake_update()
2020-09-02 10:10:09 -07:00
Samuel Tabor
f1290a2e17
Plane: Add use of airbrakes, used when throttle is negative OR via RC channel option.
2020-09-02 10:10:09 -07:00
Henry Wurzburg
16a15f5450
ArduPlane: add CROW flaps mode select switch
2020-07-16 13:30:45 +10:00
Paul Riseborough
e5bd99a66f
ArduPlane: Signal EKF to expect takeoff start to improve GSF yaw estimate
2020-07-07 15:33:58 +10:00
Mark Whitehorn
d5b1b20274
Plane: implement manual forward throttle for QACRO, QSTABILIZE and QHOVER
...
add parameter Q_FWD_THR_MAX for scaling manual throttle
allow forward motor tilt when disarmed
add FWD_THR_CH as an RC option
change Q_FWD_THR_MAX to percent
change RC_OPTION FWD_THR to 209
move assignment of rc_fwd_thr_ch to one_second_loop
move arming check from forward_throttle_pct to set_servos
change Q_FWD_THR_MAX TO Q_FWD_MANTHR_MAX
expand description of Q_FWD_MANTHR_MAX
add pre-arm check for VTOL manual forward throttle
change VTOL fwd throttle input to percent
2020-07-07 08:37:46 +10:00
Mark Whitehorn
ab2eb6185f
Plane: also limit throttle during quadplane transitions
2020-06-16 11:43:18 +10:00
Paul Riseborough
fdb4f908bb
ArduPlane: Fix bug in forward throttle voltage compensation
...
The existing code does not adjust the upper and lower throttle limits with the result that at and of discharge climb and reverse thrust performance is significantly degraded.
2020-06-16 10:17:33 +10:00
Iampete1
2121ddf736
Plane: drop unneeded call to calc_pwm
2020-06-09 09:04:14 +10:00
Michael du Breuil
911570e9f3
Plane: Protect against a divide by 0 when calculating the forward throttle compensation
2020-06-02 09:38:51 +10:00
Buzz
d4df145b4b
ArduPlane: option to keep landing throttle at thr_min during flare and touchdown, not zero.
2020-05-20 11:29:45 +10:00
Iampete1
3ded030fa8
Plane: compensate forward throttle for battery voltage drop
2020-05-05 09:46:41 +10:00
Andrew Tridgell
156fe0846f
Plane: fixed plane landing gear to obey LGR_OPTIONS bits
...
we forced landing gear retract/deploy on takeoff and landing when we
should be following the options bits
2020-04-15 17:10:31 +10:00
Samuel Tabor
684ee11fc3
AP_TECS: Add flags to indicate gliding flight, and use these with AP_Soaring.
2020-04-08 09:11:54 +10:00
Andrew Tridgell
bd341691e2
Plane: fixed flaperon auto-trim
...
fixed direction of flaperon automatic trim with SERVO_AUTO_TRIM
2020-03-23 15:20:08 +11:00
Peter Hall
660c9a8a60
Plane: move from FLAP_IN_CHANNEL to RCx_Option
2020-01-01 08:11:01 +11:00
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
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