Commit Graph

595 Commits

Author SHA1 Message Date
Bob Long
5824a12b2e Plane: remove altitude_error_cm variable
This variable updated unpredictably, and it was easy to introduce bugs.
It was not used in many places and is clearer to calculate the error
directly when needed.
2024-05-07 10:52:43 +10:00
Tom Pittenger
1fe7f6b099 Plane: refactor NAV_ALTITUDE_WAIT to AutoMode:: to match nav_delay() 2024-05-02 10:16:00 -07:00
Iampete1
2ee5cdd792 Plane: Quadplane: move Q Assist check into new VTOL assist files. 2024-04-23 09:11:34 +10:00
Peter Barker
c6d5bf5706 ArduPlane: fold startup_ground back into caller
remove stale comments around same.

rename method to avoid confusion
2024-04-17 22:18:22 +10:00
Peter Barker
42ce0867ae ArduPlane: move handling of DO_SET_HOME up to GCS_MAVLink base class 2024-04-09 09:35:16 +10:00
Andrew Tridgell
a4109c6cf2 Plane: compile in AC_PrecLand for scripting 2024-03-06 09:39:51 +11:00
Peter Barker
fcd7c5beb9 ArduPlane: move logger object up to AP_Vehicle 2024-02-13 10:54:29 +11:00
Peter Barker
0bc2c15485 Plane: move AP_Stats to AP_vehicle 2024-01-30 11:12:21 +11:00
Henry Wurzburg
3973c28f15 Plane:add TKOFF_TIMEOUT to MODE TAKEOFF 2024-01-30 11:02:53 +11:00
Andrew Tridgell
17d6192e22 ArduPlane: convert LIM_PITCH_MIN/MAX -> PTCH_LIM_MIN/MAX_DEG 2024-01-23 15:00:30 +11:00
Peter Barker
6ee5ab41fd ArduPlane: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Iampete1
01c8717308 Plane: ask flight mode if min/max throttle limits should be applied 2024-01-16 11:07:53 +11:00
Iampete1
ab0755d0d8 Plane: rework forward throttle votlage compensation into sub class and split min/max from throttle 2023-12-20 19:28:47 +11:00
Ryan Friedman
2e393bbbc6 ArduPlane: Make set position tgt depend on ext ctrl
* Set position target used to just be used in scripting, now it's used
  by DDS in external control

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Ryan Friedman
003c50a13c ArduPlane: add REP-147 Global Position Control
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Iampete1
21a9f8e3a2 Plane: move landing servo override out of throttle control function 2023-12-12 11:51:33 +11:00
Tom Pittenger
b468af81ac Plane: wrap Watt Limiiter in #if AP_BATTERY_WATT_MAX_ENABLED 2023-11-26 11:57:14 +11:00
Iampete1
8061b1b4c2 Plane: move set_servos_idle functionality to ModeAuto 2023-10-31 14:06:22 +11:00
Iampete1
7e4b5b0c97 Plane: rework set_servos_controlled function 2023-10-31 11:18:19 +11:00
Andrew Tridgell
c980e0488e Plane: fixed terrain RTL with rally points
this fixes a bug where if the terrain database cache does not have the
tile for the location of a rally point then RTL to the rally point
with TERRAIN_FOLLOW=1 will not track terrain

The underlying issue is that Location::loc.change_alt_frame() will
return false if the location is not in the terrain memory cache. We
can't just extrapolate as the rally point could be in a totally
different terrain area to the current location. So instead we set it
as terrain_following_pending and fix it as soon as the terrain cache
is filled.

fixes https://github.com/ArduPilot/ardupilot/issues/25157
2023-10-14 10:46:00 +11:00
Mykhailo Kuznietsov
b7c040e8bc ArduPlane: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Iampete1
e9fbf6db24 Plane: fix guided heading control anti windup 2023-10-03 11:28:18 +11:00
Peter Barker
fc722b5efc AP_Tuning: add and use AP_TUNING_ENABLED 2023-09-21 07:07:58 +10:00
Peter Barker
a1b021e833 Plane: move nav_delay state to be private in ModeAuto 2023-09-13 18:08:10 +10:00
Peter Barker
445f1fa272 Plane: handle DO_CHANGE_SPEED as COMMAND_INT 2023-09-12 09:22:36 +10:00
Andrew Tridgell
56dcad3cc2 Plane: dummy AP_ExternalControl implementation 2023-08-22 18:21:23 +10:00
Henry Wurzburg
e9414d69ff ArduPlane: add failsafe protections to Mode Takeoff 2023-08-09 17:33:58 +10:00
Iampete1
045cde5fcf Plane: output rudder and steering directly removing steering_control struct 2023-08-05 08:41:05 +10:00
Andrew Tridgell
2e2c7b50ad Plane: cope with home altitude change while navigating
this fixes a bug where a change of home altitude would cause a sudden
height demand change. This copes with 3 situations:

 - flying with AMSL alt demand. Changing home altitude makes for no change
 - flying with AGL alt demand. Changing home altitude requires update of next_WP_loc
 - flying with home relative alt demand. Changing home altitude changes demand at end of current navigation leg
2023-08-05 08:31:02 +10:00
Tom Pittenger
606ef1b269 Plane: is_landing/is_taking_off not to req scripting 2023-07-03 22:44:00 -07:00
Iampete1
61682f6551 Plane: implement FLTMODE_GCSBLOCK bitmask 2023-06-28 12:56:25 +01:00
Henry Wurzburg
3f7f7cd3a1 Plane:remove duplication in setting servos in MANUAL 2023-06-27 11:04:53 +10:00
Tom Pittenger
4eeb1f18d3 Plane: fixup is_landing and is_taking_off members 2023-06-26 06:54:56 -07:00
Zach Flathers
6177cbbfe2 Plane: Add is_landing/is_taking_off scripting support 2023-06-26 06:54:56 -07:00
Paul Riseborough
c92f71842b ArduPlane: Enable ground speed undershoot correction without GPS
The code had a bug where if GPS fix was lost, the demanded airspeed would be set to the measured or estimated airspeed causing unpredictable variations in the demanded airspeed.
This patch prevents the minimum ground speed protection speed up from running if the ground speed undershoot cannot be calculated.
This patch extends the range of conditions over which the minimum ground speed functionality can be used by enabling the ground speed undershoot to be calculated when the navigation system is able to estimate velocity.
2023-06-15 08:59:02 +10:00
Paul Riseborough
52743787b2 Plane: Fix bug that can cause early exit from loiter to alt and time wp's
The check for the aircraft being lined up for a tangent exit has an early breakout condition if the next waypoint is too close to the loiter circle which can prevent the required ground course to waypoint ever being achieved. This check was using the WP_LOITER_RAD parameter value, not the actual radius being used which can be set differently by the mission plan. If a large value for WP_LOITER_RAD was set and being over-written by the mission plan with a smaller value compatible with the distance to the next waypoint, the aircraft would still exit early.
2023-05-18 02:35:47 -07:00
Iampete1
6111e9d9db Plane: move Stabilize functions into mode 2023-05-02 09:29:40 +10:00
Henry Wurzburg
b4c79c9105 Plane:add FlightOptions helper 2023-04-26 17:35:25 +10:00
Henry Wurzburg
1415418d6e Plane:Takeoff on rudder arm only after return to neutral 2023-04-25 09:28:45 +10:00
Peter Barker
57d3ebf123 ArduPlane: make Plane use more of RC_Channel library for mode switching 2023-04-18 09:19:20 +10:00
Peter Barker
43c6bb3864 ArduPlane: AP_Arming ensures mission items present when in auto mode
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2023-04-14 07:49:54 +10:00
Peter Barker
98e2782851 Plane: correct compilation when AP_Rally disabled 2023-04-10 16:37:42 -07:00
Tom Pittenger
3ac55f97b1 Plane generalize Aux Switch VTOL abort for any plane abort landings 2023-03-15 13:31:43 -07:00
Iampete1
50eaa1cc54 Plane: move acro stabilization into mode acro 2023-02-21 11:27:24 +11:00
Iampete1
6bb0096b9d Plane: move training stabilize function to training mode 2023-02-21 11:27:24 +11:00
Andrew Tridgell
312d37306e Plane: ensure home is up to date on arming
remove any discrepancy which has crept in over the last few seconds

this also ensures that relative_altitude is updated, and copes with
the EKF refusing the resetHeightDatum call
2023-02-19 10:45:42 +11:00
Andrew Tridgell
99f997161a Plane: holdoff auto takeoff till rudder neutral
when arming with rudder we need to hold off the takeoff until the user
has released the rudder stick or we can yaw badly during the takeoff
2023-02-09 07:02:32 +11:00
Andrew Tridgell
2989e2deba Plane: added support for NAV_PACKAGE_PLACE mission item
this works in conjunction with a lua script to allow for a wide
variety of package place options
2023-02-09 07:02:12 +11:00
Peter Barker
648a13d3f7 ArduPlane: add and use AP_ADVANCEDFAILSAFE_ENABLED 2023-02-08 19:00:13 +11:00
Andrew Tridgell
7735614634 Plane: implement set_rudder_offset() 2023-02-08 16:25:39 +11:00