add Q_OPTION for AirMode (auto-enabled if RCx_OPTION ARMDISARM assigned)
bugfix: manual throttle mix for qacro
qualify auto airmode on/off
add Air Mode to Plane RC_OPTION metadata
restrict airmode to manual throttle modes
add qhover to manual throttle mix
move air_mode from Plane to QuadPlane
add Mode::is_vtol_man_throttle()
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
this allows tuning of the time between assistance thresholds being met
and assistance kicking in. It also changes the default delay from 1s
down to 0.5s based on analysis of a flight where assistance was too
slow
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
fix metadata for tailsitter param GSCMSK
rework roll/yaw scaling for body-frame roll options
add constraints on body-frame roll and yaw inputs
move speed_scaler logging into QTUN message
add tailsitter gain scaling option mask and logging
tailsitter qassist bugfix; thanks, @iampete
apply roll limit in tailsitter bodyframe roll control
add define for future exclusion of tailsitter gainscaling debug code/logging
tailsitter bodyframe roll and qacro input scaling bugfixes:
respect Q_TAILSIT_RLL_MX and roll/yaw scale parameters in bodyframe roll modes
fix unintended swap of Q_ACRO_RLL/YAW_RATE params in QACRO mode
don't scale motor tilt
Co-authored-by: IamPete1 <33176108+IamPete1@users.noreply.github.com>
this allows for quadplane assistance in fixed wing modes when the
aircraft drops below a given altitude. This could help save an
aircraft that is flying badly in fixed wing mode
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
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
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
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
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
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
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!
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
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
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.
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
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