Increase the storage width of throttle slew rate parameters from AP_Int8
to AP_Int16 to allow higher values.
Affected parameters:
- THR_SLEWRATE
- TKOFF_THR_SLEW
- Landing THR_SLEW
The parameter range is increased from 127 to 500 (%/s). This increases the
maximum allowed slew rate but does not change the parameter resolution.
Existing parameters are migrated using convert_parameter_width(AP_PARAM_INT8)
to preserve stored values.
Fixes#2024
this allows auto flaps in manual throttle modes, and when speed drops
in an uncommanded fashion
this needs to be used with caution and carefully tested on an aircraft
as it could result in an oscillation, as adding flaps can change the
airspeed
Updated the forward throttle battery voltage compensation feature to
disable the throttle entirely when the sag-compensated voltage drops
below the new parameter FWD_THR_CUTOFF_V.
Key changes:
- Added new parameter FWD_THR_CUTOFF_V to control the voltage threshold
for this feature. The default value of 0 matches the original behavior
of never cutting the throttle due to low voltage.
- Modified forward throttle battery voltage compensation logic in the
servos code to cut off the throttle in auto-throttle modes if the
resting voltage estimate of the FWD_BAT_IDX battery is under
FWD_THR_CUTOFF_V.
- TAKEOFF and AUTO flight modes now should have identical takeoff
- Prevent behaviour switching past climb altitude in TAKEOFF mode.
- Refactor set_pitch_min/max methods.
Max was already there, now renamed.
Min is newly introduced.
behaviour.
- Remove enforcement of min takeoff throttle logic from servos.cpp.
It is now handled only by takeoff.cpp.
- Take TKOFF_LVL_ALT into consideration in AUTO as well.
- Fixed pitch setpoint when TKOFF_ROTATE_SPD>0.
- Roll navigation in mode TAKEOFF during climb should now work again.
- Now the TAKEOFF loiter waypoint is set by the bearing of the
aircraft while on TKOFF_LVL_ALT, as in the last stable release, instead
of TKOFF_ALT.
- Using TRIM_THROTTLE in takeoffs, when TKOFF_THR_MIN==0
This is a rework so that servos.cpp is responsible for setting the
throttle limits under more circumstances and always notifies TECS when
it does so.
Additionally, the TAKEOFF mode has been improved with a new parameters
TKOFF_MODE and TKOFF_THR_MIN that extend the throttle behaviour.