Commit Graph

417 Commits

Author SHA1 Message Date
Peter Barker c23f777ae6 ArduPlane: create and use a singleton for SRV_Channels
avoid creation of static pointers to objects held within SRV_Channels
2024-11-13 19:47:49 +11:00
Peter Barker 2ad8477f98 ArduPlane: use RC_Channel to populate IOMCU mappings 2024-11-12 13:10:14 +11:00
Peter Barker 96f7d8a969 Plane: avoid calling quadplane methods if quadplane not available
one block was guarded, the second not
2024-10-02 17:18:46 +10:00
George Zogopoulos 6ce6ef8fff Plane: Takeoff improvements
- 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
2024-10-02 17:09:07 +10:00
Andrew Tridgell 65e15f2bd9 Plane: don't run TECS update_speed_height() when in idle mode 2024-09-10 10:15:34 +10:00
Andrew Tridgell 2f19dfef8a Plane: added glider pullup support 2024-09-10 10:15:34 +10:00
timtuxworth f63568b34b ArduPlane: Bindings for crosstrack in Lua 2024-08-20 09:10:42 +10:00
George Zogopoulos 14b505c3cb ArduPlane: Fixed typos 2024-08-06 14:03:27 +10:00
Peter Barker da562369b5 Plane: remove replace PARACHUTE define with AP_PARACHUTE_ENABLED 2024-08-05 10:20:14 +10:00
Peter Barker c14c2d67d4 ArduPlane: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
TsuyoshiKawamura 0034a7fc30 Plane: minor comment corrections 2024-06-25 08:29:57 +09:00
Peter Barker e47c65f010 ArduPlane: remove Baro accumulate API
no backend actually needs to be prodded, everything is done on timers
2024-04-18 09:19:20 +10:00
Iampete1 afec757c33 Plane: pass current location to mission landing methods 2024-04-02 11:11:59 +11:00
Peter Barker 626d64f503 ArduPlane: allow HarmonicNotches to be compiled out of the code 2024-03-19 07:04:13 +11:00
Andrew Tridgell 980d328b53 Plane: make precsion QLOITER possible from lua 2024-03-12 10:45:56 +11:00
Andrew Tridgell cbe5cf8c81 Plane: support precland in QLAND for pos, velocity and descent rate
allow full override in QLAND
2024-03-06 09:39:51 +11:00
Andrew Tridgell 8c33e2d289 Plane: allow QLAND to use precision landing override 2024-03-06 09:39:51 +11:00
Andrew Tridgell a4109c6cf2 Plane: compile in AC_PrecLand for scripting 2024-03-06 09:39:51 +11:00
Andrew Tridgell bd928fb044 Plane: pass pitch trim parameter to TECS 2024-03-03 20:28:38 +11:00
Peter Barker d2d89b02cc ArduPlane: move gripper up to AP_Vehicle
also make the singleton return a reference rather than a pointer
2024-02-21 21:05:12 +11:00
Peter Barker 0bc2c15485 Plane: move AP_Stats to AP_vehicle 2024-01-30 11:12:21 +11:00
Andrew Tridgell 5619dca389 Plane: TRIM_PITCH_DEG to PTCH_TRIM_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 89a947cdca ArduPlane: change LIM_ROLL_CD to ROLL_LIMIT_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 17d6192e22 ArduPlane: convert LIM_PITCH_MIN/MAX -> PTCH_LIM_MIN/MAX_DEG 2024-01-23 15:00:30 +11:00
Tim Tuxworth 3cf0de2224 Plane: convert parameter TRIM_PITCH_CD to TRIM_PITCH_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
Peter Barker b3897c020e ArduPlane: make AHRS attitude member variables private 2024-01-14 12:47: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
Andy Piper 0d10f74bf7 Plane: update PID notch centers at 1Hz with average loop rate 2023-11-21 13:26:23 +11:00
Randy Mackay 84752fbeaa Plane: log MNT at 10hz 2023-07-26 17:33:18 +10:00
Andy Piper 49096422e7 Plane: allow notch frequencies to be logged at full rate 2023-07-18 11:03:47 +10:00
Tom Pittenger 606ef1b269 Plane: is_landing/is_taking_off not to req scripting 2023-07-03 22:44:00 -07:00
Andrew Tridgell 086d0907dd Plane: fixed TECS state reset in VTOL auto
this fixes a bug where TECS maintains its slow integrator while in a
VTOL hover mode in AUTO or GUIDED.

Among other things this affects PAYLOAD_PLACE and
DO_VTOL_TRANSITION. In those states the height can change while
hovering outside the control of TECS. When TECS regains control in a
fwd transition then can lead to a very large height loss or gain until
the TECS integrator can catch up
2023-07-03 07:03:14 +10:00
Tom Pittenger 4eeb1f18d3 Plane: fixup is_landing and is_taking_off members 2023-06-26 06:54:56 -07:00
Peter Barker 9d3ebf0d54 ArduPlane: add option to disable relay and servorelay libraries 2023-06-20 09:36:39 +10:00
Peter Barker 59bc070555 ArduPlane: move call of notify.update up to AP_Vehicle 2023-05-17 18:41:15 +10:00
Henry Wurzburg b4c79c9105 Plane:add FlightOptions helper 2023-04-26 17:35:25 +10:00
Iampete1 5f56a603a8 Plane: Quadplane: use new motors thrust linearization, don't send air density ratio 2023-04-18 09:32:22 +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
Nick Exton 6a2bfeb3dd Plane: Use new Location::same_loc_as() function 2023-04-04 09:40:45 +10:00
Tom Pittenger 3ac55f97b1 Plane generalize Aux Switch VTOL abort for any plane abort landings 2023-03-15 13:31:43 -07: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 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
Peter Barker 0cf56ea320 ArduPlane: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +11:00
Andrew Tridgell 289f76ac9c Plane: added FAST_TASK() for key scheduler tasks
this will be needed with #22298 as that now relies on integrating
position based on loop times
2022-12-06 11:17:04 +11:00
Peter Barker de4dda2d17 ArduPlane: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Andrew Tridgell 500ac9b99c Plane: cleanup abort of NAV_SCRIPT
use the same enable flag for tricks and auto NAV_SCRIPT_TIME and
ensure we disable if the script stops controlling
2022-10-29 21:22:29 +11:00
Andrew Tridgell ff5b4f1b13 Plane: unlock cruise/loiter heading while doing a scripted trick
and reset height
2022-10-29 21:22:29 +11:00
Peter Barker 3400d5e4a5 ArduPlane: use fence singleton in afs check 2022-10-25 11:31:14 +11:00