423 Commits

Author SHA1 Message Date
Henry Wurzburg
fafaa0a1a5 Plane:expand flightmode bit 15 description 2025-10-28 00:12:47 +00:00
Bob Long
853db0e2df global: add Range to batt idx param doc 2025-10-23 08:13:22 +11:00
Bob Long
9ff7b9c346 global: add Range to EKF failsafe param doc 2025-10-23 08:13:22 +11:00
Ep Pravitra
347f1a2b34 Plane: timeout for external guided command 2025-09-30 09:39:03 +10:00
Rubén Pérez Alonso
f5c0877854 Plane: Fix CLIMB_SLOPE_HGT DisplayName typo 2025-09-29 16:50:37 +10:00
Jazhi
5f70687b55 Plane: fix short failsafe
Co-Authored-By: Henry Wurzburg <hwurzburg@yahoo.com>
2025-08-12 09:32:38 +10:00
rubenp02
313c0cbf0a Plane: Use accurate roll limits if airspd. sensor
Aerodynamic load factor-based roll demand limits were only applied down
to ±25º to keep the aircraft maneuverable with a bad airspeed estimate.
However, with the addition of the AIRSPEED_STALL parameter, this is
unsafe if the aircraft is actually flying very close to its stall speed,
and can result in a spin.

This commit adds a FLIGHT_OPTION to make it possible for the roll demand
limits to go all the way down to LEVEL_ROLL_LIMIT if an airspeed sensor
is fitted and in use and the AIRSPEED_STALL parameter is set, since
under these conditions, the airspeed estimate is accurate and there is
very little bank angle overhead to prevent a stall.
2025-08-06 17:48:10 +10:00
Peter Barker
549e40ae7b Plane: add comment on speed scalar calculation
it needs to be a constant so that when the user changes TRIM_THROTTLE (eg. via DO_CHANGE_SPEED or via the parameter) that it doesn't change the tuning of their PID loops by changing the speed scaler. The aircraft could either start oscillating badly or could become very sluggish in control
2025-07-31 10:06:39 +10:00
rubenp02
8d3c52ccb2 Plane: Add climb slope minimum height parameter
Slope treatment for a flight leg was conditioned to a minimum height of
20m (which was a hardcoded value and only documented in a comment in the
code), below which an immediate altitude change was performed for that
leg. This caused unpredictable results for flight plans with waypoints
at exactly 20m followed by a climb, as the aircraft could, depending on
chance, be above or below the height demand, resulting in very different
trajectories.

This commit addresses that issue with the following changes:
- Added a parameter to control the minimum height at which a gradual
  climb slope can be performed. This documents the original feature and
  retains the safety aspect of it.
- Changed the behavior when below said minimum height to only
  immediately climb up to the safe height, regaining the intended climb
  slope afterwards. This leverages existing code for recalculating climb
  slopes, provides a good balance between safety and following the
  flight plan as intended, and fixes the core issue of different
  trajectories being taken based on random external factors.
2025-07-31 10:06:12 +10:00
Iampete1
066c07553f ArduPlane: move RPM lib to vehicle 2025-07-22 10:33:55 +10:00
Henry Wurzburg
eedcecd71c Plane:correct description of FBWB_ELEV_REV parameter 2025-07-17 08:13:28 +10:00
Andrew Tridgell
1c6a2aea34 Plane: make RNGFND_LANDING a bitmask
this gives greater control of when the rangefinder will be used. A
particularly important one is the ability to disable it for VTOL
assist as false positives can be quite common and drains the battery
2025-07-14 20:01:10 +10:00
Andrew Tridgell
8d34fabce0 Plane: added an option to enable flaps by actual speed
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
2025-07-14 19:31:01 +10:00
Iampete1
ba42092ee7 Plane: rework allow_reverse_thrust to allow reverse thrust in manual modes with USE_REV_THRUST 0 2025-07-08 10:05:27 +10:00
rubenp02
aca86915bb Plane: Add roll-only stick mixing
The current implementation of pitch stick mixing is unsafe, as it
introduces an attitude override that is decoupled from the TECS, and
also lacks any stall and overspeed prevention mechanisms. This means
that if a pitch nudge is held long enough, an overspeed or a stall will
occur.

This commit introduces a "FBW style (no pitch)" setting to the
STICK_MIXING parameter. It behaves like the current "FBWMixing" option
for roll and yaw, but doesn't provide any pitch mixing. A warning about
the lack of flight envelope protections in "FWB style" mode has also
been added to the description.
2025-06-27 09:30:59 +10:00
Peter Barker
dc65e9ac7f ArduPlane: add and use AP_ADSB_AVOIDANCE_ENABLED
this gates the "ADSB" avoidance feature used for macro-level avoidance.  It's not actually limited to ADSB as input...
2025-06-26 16:32:22 +10:00
Peter Barker
0b20a973f0 Plane: extend ONESHOT_MASK documentation out to 32 servos 2025-06-18 22:57:27 +10:00
Simon Hancock
11400f703f ArduPlane: Add info for quadplane to RTL_RADIUS description
Some checks failed
colcon build/test / build-test (push) Has been cancelled
Cygwin Build / build (push) Has been cancelled
ESP32 Build / build (esp32buzz, 10) (push) Has been cancelled
ESP32 Build / build (esp32s3empty, 10) (push) Has been cancelled
Macos Build / build (CubeOrange) (push) Has been cancelled
Macos Build / build (sitl) (push) Has been cancelled
QURT Build / build (push) Has been cancelled
test chibios / build (CubeOrange-EKF2, 10, chibios) (push) Has been cancelled
test chibios / build (CubeOrange-ODID, 10, chibios) (push) Has been cancelled
test chibios / build (CubeOrange-PPP, 10, chibios) (push) Has been cancelled
test chibios / build (CubeOrange-bootloader, 10, chibios) (push) Has been cancelled
test chibios / build (CubeRedPrimary-bootloader, 10, chibios) (push) Has been cancelled
test chibios / build (MatekF405-Wing, 10, chibios) (push) Has been cancelled
test chibios / build (Pixhawk6X-PPPGW, 10, chibios) (push) Has been cancelled
test chibios / build (SOHW, 10, chibios) (push) Has been cancelled
test chibios / build (build-options-defaults-test, 10, chibios) (push) Has been cancelled
test chibios / build (configure-all, 10, chibios) (push) Has been cancelled
test chibios / build (fmuv2-plane, 10, chibios) (push) Has been cancelled
test chibios / build (fmuv3, 10, chibios) (push) Has been cancelled
test chibios / build (fmuv3-bootloader, 10, chibios) (push) Has been cancelled
test chibios / build (iofirmware, 10, chibios) (push) Has been cancelled
test chibios / build (new-check, 10, chibios) (push) Has been cancelled
test chibios / build (periph-build, 10, chibios) (push) Has been cancelled
test chibios / build (revo-bootloader, 10, chibios) (push) Has been cancelled
test chibios / build (revo-mini, 10, chibios) (push) Has been cancelled
test chibios / build (signing, 10, chibios) (push) Has been cancelled
test chibios / build (stm32f7, 10, chibios) (push) Has been cancelled
test chibios / build (stm32h7, 10, chibios) (push) Has been cancelled
test chibios / build (stm32h7-debug, 10, chibios) (push) Has been cancelled
test dds / build (sitl) (push) Has been cancelled
test dds / build (stm32h7) (push) Has been cancelled
test Linux SBC / build (bbbmini, armhf) (push) Has been cancelled
test Linux SBC / build (bebop, armhf) (push) Has been cancelled
test Linux SBC / build (bhat, armhf) (push) Has been cancelled
test Linux SBC / build (canzero, armhf) (push) Has been cancelled
test Linux SBC / build (erlebrain2, armhf) (push) Has been cancelled
test Linux SBC / build (linux, base) (push) Has been cancelled
test Linux SBC / build (navigator, armhf-musl) (push) Has been cancelled
test Linux SBC / build (navigator64, aarch64) (push) Has been cancelled
test Linux SBC / build (navio, armhf) (push) Has been cancelled
test Linux SBC / build (navio2, armhf) (push) Has been cancelled
test Linux SBC / build (pxf, armhf) (push) Has been cancelled
test Linux SBC / build (pxfmini, armhf) (push) Has been cancelled
test scripts / build (astyle-cleanliness) (push) Has been cancelled
test scripts / build (check_autotest_options) (push) Has been cancelled
test scripts / build (logger_metadata) (push) Has been cancelled
test scripts / build (param_parse) (push) Has been cancelled
test scripts / build (python-cleanliness) (push) Has been cancelled
test scripts / build (validate_board_list) (push) Has been cancelled
test plane / build (base) (push) Has been cancelled
test plane / build (clang) (push) Has been cancelled
test plane / autotest (sitltest-plane-tests1a) (push) Has been cancelled
test plane / autotest (sitltest-plane-tests1b) (push) Has been cancelled
test plane / autotest (sitltest-quadplane) (push) Has been cancelled
test unit tests and sitl building / build (examples, base) (push) Has been cancelled
test unit tests and sitl building / build (examples, clang) (push) Has been cancelled
test unit tests and sitl building / build (sitl, base) (push) Has been cancelled
test unit tests and sitl building / build (sitl, clang) (push) Has been cancelled
test unit tests and sitl building / build (unit-tests, base) (push) Has been cancelled
test unit tests and sitl building / build (unit-tests, clang) (push) Has been cancelled
2025-06-07 10:47:01 +01:00
Oleksiy Protas
55bdf2909f Plane: Explanation of an FS_GCS_ENABL edge case
The heartbeat failsafe only becomes active after contact with SYSID_MYGCS. Until it issues a first heartbeat, the failsafe is never triggered.
2025-06-07 10:44:17 +10:00
Peter Barker
057f96da9a Plane: add comment on when fence parameter conversion added 2025-05-20 11:59:34 +10:00
Peter Barker
d5da32f1e7 ArduPlane: use enum class for AC breach action enumeration 2025-05-20 11:59:34 +10:00
rubenp02
63642b7711 Plane: Update AIRSPEED_STALL parameter description
Updated the AIRSPEED_STALL parameter description to explain its effects
on the landing final
2025-05-14 16:42:12 +01:00
co63oc
50b8551ccc ArduPlane: correct typos and mis-spellings 2025-05-04 23:36:45 +10:00
Ryan Friedman
229bcaacd5 ArduPlane: Clarify behavior with small WP_LOITER_RAD
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-05-01 14:01:47 +10:00
Peter Barker
2bd34dc1ca ArduPlane: tweak MAV parameter names 2025-04-07 10:58:41 +10:00
Peter Barker
c40ce7d0e4 ArduPlane: add parameter conversion for MAV parameters 2025-04-07 10:58:41 +10:00
Peter Barker
f7e47741bb ArduPlane: move telem_delay up into MAV_TELEM_DELAY 2025-04-07 10:58:41 +10:00
Peter Barker
2d95018568 ArduPlane: SYSID_MYGCS and enforce move up to GCS, change to MAV_MYGCS_ENFRCE 2025-04-07 10:58:41 +10:00
Peter Barker
8ec9afa5e4 ArduPlane: move streamrate parameters to GCS_MAVLINK base class 2025-04-07 10:58:41 +10:00
Peter Barker
fe58c922c0 ArduPlane: create and use MAV_ parameter namespace
Move serveral parameters in
2025-04-07 10:58:41 +10:00
bnsgeyer
18a9c5bddb Plane: add system ID to quadplane
enable as an AUX switch
2025-03-21 13:01:43 +11:00
rubenp02
74127caee3 Plane: Use stall speed for roll stall prevention 2025-03-12 18:56:33 +11:00
rubenp02
cf68e52a99 Plane: Change glide slope to altitude slope
Smooth altitude changes were always referred to as "glide slopes"
despite this not being the appropriate aviation term in the case of a
climb. A better option is "altitude slope", which encompasses both
smooth climbs and descents.

Changed all references to glide slopes, except those that specifically
refer to a single kind (like those used for landings), to the more
general term. This also includes changing the GLIDE_SLOPE_MIN and
GLIDE_SLOPE_THR parameters to ALT_SLOPE_MIN and ALT_SLOPE_MAXHGT,
respectively.
2025-03-04 10:55:06 +11:00
Henry Wurzburg
89c46e3515 ArduPlane:add AUTOLAND metadata to FS_LONG_ATCN
Some checks are pending
colcon build/test / build-test (push) Waiting to run
Cygwin Build / build (push) Waiting to run
ESP32 Build / build (esp32buzz, 10) (push) Waiting to run
ESP32 Build / build (esp32s3empty, 10) (push) Waiting to run
Macos Build / build (CubeOrange) (push) Waiting to run
Macos Build / build (sitl) (push) Waiting to run
QURT Build / build (push) Waiting to run
test chibios / build (CubeOrange-ODID, 10, chibios) (push) Waiting to run
test chibios / build (CubeOrange-PPP, 10, chibios) (push) Waiting to run
test chibios / build (CubeOrange-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (CubeRed-EKF2, 10, chibios) (push) Waiting to run
test chibios / build (CubeRedPrimary-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (MatekF405-Wing, 10, chibios) (push) Waiting to run
test chibios / build (Pixhawk6X-PPPGW, 10, chibios) (push) Waiting to run
test chibios / build (SOHW, 10, chibios) (push) Waiting to run
test chibios / build (build-options-defaults-test, 10, chibios) (push) Waiting to run
test chibios / build (configure-all, 10, chibios) (push) Waiting to run
test chibios / build (fmuv2-plane, 10, chibios) (push) Waiting to run
test chibios / build (fmuv3, 10, chibios) (push) Waiting to run
test chibios / build (fmuv3-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (iofirmware, 10, chibios) (push) Waiting to run
test chibios / build (new-check, 10, chibios) (push) Waiting to run
test chibios / build (periph-build, 10, chibios) (push) Waiting to run
test chibios / build (revo-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (revo-mini, 10, chibios) (push) Waiting to run
test chibios / build (signing, 10, chibios) (push) Waiting to run
test chibios / build (stm32f7, 10, chibios) (push) Waiting to run
test chibios / build (stm32h7, 10, chibios) (push) Waiting to run
test chibios / build (stm32h7-debug, 10, chibios) (push) Waiting to run
test dds / build (sitl) (push) Waiting to run
test dds / build (stm32h7) (push) Waiting to run
test Linux SBC / build (bbbmini, armhf) (push) Waiting to run
test Linux SBC / build (bebop, armhf) (push) Waiting to run
test Linux SBC / build (bhat, armhf) (push) Waiting to run
test Linux SBC / build (canzero, armhf) (push) Waiting to run
test Linux SBC / build (erlebrain2, armhf) (push) Waiting to run
test Linux SBC / build (linux, base) (push) Waiting to run
test Linux SBC / build (navigator, armhf-musl) (push) Waiting to run
test Linux SBC / build (navigator64, aarch64) (push) Waiting to run
test Linux SBC / build (navio, armhf) (push) Waiting to run
test Linux SBC / build (navio2, armhf) (push) Waiting to run
test Linux SBC / build (pxf, armhf) (push) Waiting to run
test Linux SBC / build (pxfmini, armhf) (push) Waiting to run
test scripts / build (astyle-cleanliness) (push) Waiting to run
test scripts / build (check_autotest_options) (push) Waiting to run
test scripts / build (logger_metadata) (push) Waiting to run
test scripts / build (param_parse) (push) Waiting to run
test scripts / build (python-cleanliness) (push) Waiting to run
test scripts / build (validate_board_list) (push) Waiting to run
test plane / build (base) (push) Waiting to run
test plane / build (clang) (push) Waiting to run
test plane / autotest (sitltest-plane-tests1a) (push) Blocked by required conditions
test plane / autotest (sitltest-plane-tests1b) (push) Blocked by required conditions
test plane / autotest (sitltest-quadplane) (push) Blocked by required conditions
test unit tests and sitl building / build (sitl, base) (push) Waiting to run
test unit tests and sitl building / build (sitl, clang) (push) Waiting to run
test unit tests and sitl building / build (unit-tests, base) (push) Waiting to run
test unit tests and sitl building / build (unit-tests, clang) (push) Waiting to run
2025-02-12 11:01:23 +11:00
Henry Wurzburg
3093532d78 ArduPlane: add climb before turn to AUTOLAND
Co-authored-by: IamPete1 <iampete@hotmail.co.uk>
2025-02-11 11:16:33 +11:00
rubenp02
a1a0fc4a70 Plane: Add fwd. throttle cutoff voltage parameter
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.
2025-02-11 10:53:49 +11:00
Henry Wurzburg
1774bd9ef9 ArduPlane:add missing flight mode metadata 2025-02-09 14:21:25 +00:00
Peter Barker
1ed2e54269 ArduPlane: adjust for AP_Arming file rename 2025-01-28 10:56:26 +11:00
Peter Barker
fadc293867 Plane:remove stale conversion code
these lines are all present in 4.0.0.

Past this PR we won't convert PIDS correctly if someone attempts to upgrade to 4.7+ from 3.x
2025-01-14 11:46:35 +11:00
Henry Wurzburg
32f5afb22a ArduPlane: add AutoLand fixed-wing mode 2024-12-31 09:18:49 +11:00
Peter Barker
edc812d7f5 ArduPlane: adjust for renaming of RC_Channel and GCS_MAVLink headers 2024-12-26 11:01:22 +11:00
Henry Wurzburg
223d683441 ArduPlane: update FS actions metadata with DO_RETURN_PATH_START 2024-12-17 09:34:49 +11:00
Iampete1
a79fcdbfcd Plane: support DO_RETURN_PATH_START misison item and command 2024-12-03 10:31:02 +11:00
Michelle Rossouw
43fdc9ce19 Plane: Added Quicktune
replaces QAUTOTUNE in default build
2024-11-27 14:07:38 +11:00
Bob Long
a69b777d17 Plane: add missing AccZ bit from GCS_PID_MASK doc 2024-11-15 11:40:07 +11:00
George Zogopoulos
d149150a45 Plane: Added parameter TKOFF_THR_IDLE 2024-11-13 19:32:00 +11:00
Peter Barker
2bbf1a63a7 ArduPlane: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Andrew Tridgell
83cac93e85 Plane: allow for any orientation of rangefinder for landing
this is principally for tailsitters where rangefinders would be
orientation with RNGFND1_ORIENT=12 (PITCH_180), but also allows for
custom orientations which will be useful if the rangefinder is tilted
forward
2024-09-14 08:39:51 +10:00
Andrew Tridgell
2f19dfef8a Plane: added glider pullup support 2024-09-10 10:15:34 +10:00
Peter Barker
1476c69d84 ArduPlane: remove AUX_FUNC entries based on feature defines 2024-09-08 00:55:43 +10:00