Commit Graph

4907 Commits

Author SHA1 Message Date
Iampete1 5216dc92f9 Plane: reorder set_throttle function 2024-02-14 20:01:31 +11:00
Andrew Tridgell b6d8b37018 Plane: release notes for 4.5.0-beta2 2024-02-14 11:22:22 +11:00
Peter Barker 739a4a97da ArduPlane: move parameter storage formatting up to AP_Vehicle 2024-02-13 14:23:35 +11:00
Richard Marko 04b46678a4 treewide: fix shebangs - /bin/bash -> /usr/bin/env bash
Most scripts/tools use non-portable `/bin/bash`, switch
to environment agnostic `/usr/bin/env bash`.
2024-02-13 11:36:23 +11:00
Peter Barker fcd7c5beb9 ArduPlane: move logger object up to AP_Vehicle 2024-02-13 10:54:29 +11:00
Iampete1 6b32227d2f Plane: output nav scripting throttle with rest of nav scripting stuff 2024-02-13 10:50:03 +11:00
Iampete1 3aa742e1b9 Plane: rework `isHeadingLinedUp` function for loiter breakout 2024-02-13 10:48:47 +11:00
Henry Wurzburg d91ff440e7 ArduPlane: fix autofence enable in takeoff mode 2024-02-13 10:45:39 +11:00
Peter Barker 04fab27136 ArduPlane: move RC bits in mavlink to common code
Plane's semantics change to be like Copter. Rover, Sub and Tracker will start reporting the bits
2024-02-10 11:46:44 +11:00
Peter Barker 33895e8816 Plane: move scripting up to AP_Vehicle 2024-02-07 18:24:12 +11:00
Peter Barker 9aab59ca9e ArduPlane: add comment for lost AP_Stats object params 2024-02-07 18:24:12 +11:00
Peter Barker e7a6a2e3ec ArduPlane: move can_mgr.init call up to AP_Vehicle
... also adds the call for Blimp...
2024-02-06 11:03:54 +11:00
Iampete1 2f42f55278 Plane: move pilot throttle output up to control modes 2024-02-06 11:02:28 +11:00
Andrew Tridgell 4f327e44ea Plane: fixed handling of arming with safety on
if safety is on and you force arm them turn safety off then Q modes
cannot run the motors as the AP_Motors armed state will still be off.

This ensures that the motors are armed immediately we arm. This
matches what copter does when arming with safety on
2024-02-03 15:55:36 +11:00
Peter Barker 89417f07a6 ArduPlane: move call to BoardConfig.init to AP_Vehicle 2024-02-01 07:59:11 +11:00
Iampete1 b119a2a6d7 Plane: move guided throttle passthrough to mode_guided 2024-01-31 18:21:27 +11:00
Andrew Tridgell 629cb92642 Plane: mark master as 4.6.0 dev 2024-01-31 10:42:38 +11:00
Randy Mackay d70ff4db75 Plane: 4.5.0-beta1 release notes 2024-01-31 10:05:08 +11:00
Peter Barker 0bc2c15485 Plane: move AP_Stats to AP_vehicle 2024-01-30 11:12:21 +11:00
Iampete1 c84e5b337e Plane: move forward throttle output in VTOL modes to QuadPlane update 2024-01-30 11:06:09 +11:00
Henry Wurzburg 3973c28f15 Plane:add TKOFF_TIMEOUT to MODE TAKEOFF 2024-01-30 11:02:53 +11:00
Peter Barker 127961e692 Plane: break out a method for set-attitude-target 2024-01-24 19:10:35 +11:00
Peter Barker f96add13e9 Plane: break out a method for set-position-target-local-ned 2024-01-24 19:10:35 +11:00
Peter Barker 5bc2b1a09b Plane: break out a method for set-position-target-global-int 2024-01-24 19:10:35 +11:00
Peter Barker 57535b538e ArduPlane: handle RADIO_STATUS is GCS base class 2024-01-24 18:43:15 +11:00
Peter Barker 2f0cb8b650 ArduPlane: use virtual method for GCS_MAVLink::handle_message
use more appropriate naming for the method.
2024-01-24 09:07:41 +11:00
J.R. Bronkar 2be84183b7 ArduPlane: fractional Loiter Turn Support
Adds special storage handling for loiter turns. Fractional Loiter
Turns 0<N<1 are stored by multiplying the turn number by 256, then
dividing that number by 256 on retrieval.
2024-01-22 20:27:20 -08:00
Andrew Tridgell e602aa68a4 Plane: removed incorrect comment 2024-01-23 15:00:30 +11:00
Andrew Tridgell 649fbe9f24 Plane: make the 90x factor more obvios 2024-01-23 15:00:30 +11:00
Andrew Tridgell 0d434c8b54 ArduPlane: fixed parameter names 2024-01-23 15:00:30 +11:00
Andrew Tridgell a4302e5fb8 Plane: tidy 2 comments 2024-01-23 15:00:30 +11:00
Andrew Tridgell 2b6ffe17e3 ArduPlane: tidy TRIM_PITCH to PTCH_TRIM_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell 108a0b77bd Plane: Q_ACCEL_Z -> Q_PILOT_ACCEL_Z 2024-01-23 15:00:30 +11:00
Andrew Tridgell 57e88e2242 Plane: Q_VELZ_MAX -> Q_PILOT_SPD_UP and Q_VELZ_MAX_DN -> Q_PILOT_SPD_DN 2024-01-23 15:00:30 +11:00
Andrew Tridgell 2d0a236b49 Plane: Q_LAND_SPEED -> Q_LAND_FINAL_SPD 2024-01-23 15:00:30 +11:00
Andrew Tridgell 5619dca389 Plane: TRIM_PITCH_DEG to PTCH_TRIM_DEG 2024-01-23 15:00:30 +11:00
Andrew Tridgell ee884ab137 ArduPlane: convert LAND_PITCH_CD to LAND_PITCH_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
Andrew Tridgell a3d622b37d Plans: rename ALT_CRUISE_MIN to CRUISE_ALT_FLOOR 2024-01-23 15:00:30 +11:00
Andrew Tridgell 8151647e04 ArduPlane: convert ALT_HOLD_RTL and ALT_HOLD_FBWCM 2024-01-23 15:00:30 +11:00
Andrew Tridgell 5723b1c780 ArduPlane: convert MIN_GNDSPEED_CM to MIN_GROUNDSPEED 2024-01-23 15:00:30 +11:00
Andrew Tridgell 912e2f224b ArduPlane: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell 94edcc4654 ArduPlane: change TRIM_ARSPD_CM to AIRSPEED_CRUISE 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
Simon Hancock 6f832bbd3b ArduPlane: Updates to log message units and help text
Separate descriptions for PID and PIQ messages
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-01-21 14:26:54 +11:00
Henry Wurzburg f7f9fda6a7 Plane:expand description of AUTOTUNE_OPTIONS 2024-01-21 12:31:38 +11:00
Iampete1 7e79a13053 Plane: ask mode if battery voltage compensation should be done 2024-01-18 12:28:38 +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 17fb9455a9 Plane: `set_throttle` add early return for disarmed and throttle suppression 2024-01-16 11:07:53 +11:00
Iampete1 3e955d12fa Plane: Quadaplane: add helper `allow_forward_throttle_in_vtol_mode` 2024-01-16 11:07:53 +11:00
Peter Barker b3897c020e ArduPlane: make AHRS attitude member variables private 2024-01-14 12:47:47 +11:00
Peter Barker 0690e3c9fa ArduPlane: remove entire airspeed_checks if AP_AIRSPEED_ENABLED is off
saves bytes and removes some redundant code which is obscured when the ifdefs are inside the body
2024-01-10 18:33:41 +11:00
Peter Barker 6c105d2649 PLane: return MAV_RESULT_COMMAND_INT_ONLY if command-long support not compiled in 2024-01-02 18:58:07 +11:00
Henry Wurzburg 4b692b470f add note about Qmode FS switches to FS actions) 2024-01-02 13:00:05 +11:00
Henry Wurzburg 1f78cb29b4 Plane: correct TKOFF_LVL_ALT metadata 2023-12-25 17:05:20 -07: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
Ryan Friedman c22a3439d4 AP_ExternalControl: add REP-147 Global Position Control
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-20 02:37:01 +00:00
Andrew Tridgell 0ec994c46b Plane: release notes for 4.4.4 2023-12-19 15:08:48 +11:00
Iampete1 c98bdd155a Plane: Quadplane: log tailsitter speed scailing in TSIT msg 2023-12-19 11:20:42 +11:00
Michael du Breuil 9aa0ceb9dd Plane: Fix AP_Relay param naming 2023-12-19 10:01:01 +11:00
Thomas Watson f20893259d Plane: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Lachlan Conn d5cc1d4ad0 Plane: QAssist speed warning added
Also updated the severity of other QAssist messages
2023-12-13 18:08:36 +11:00
Iampete1 5642d2449a Plane: allow set_takeoff_expected in manual mode 2023-12-12 11:51:33 +11:00
Iampete1 740b04aed3 Plane: Mode: ensure flight stage is correct on successful mode change 2023-12-12 11:51:33 +11:00
Iampete1 21a9f8e3a2 Plane: move landing servo override out of throttle control function 2023-12-12 11:51:33 +11:00
Bob Long f8d7be5e43 Plane: fix bug in RTL_AUTOLAND with rally points
After loading the rally point, ModeRTL:navigate checks if rally altitude
has been reached before altitude_error_cm gets updated
2023-12-12 10:58:22 +11:00
Randy Mackay 31e39fc385 Plane: 4.4.4-beta1 release notes 2023-12-05 20:27:01 +11:00
Iampete1 4ac9eb9509 Plane: set_servos_controlled: rework throttle output 2023-12-05 11:00:55 +11:00
Iampete1 41f61da0d9 Plane: Quadplane: add `get_throttle_input` method that behaves the same as Plane::get_throttle_input did 2023-11-29 18:15:01 +11:00
Iampete1 483ef18087 Plane: ignore invalid pilot throttle 2023-11-29 18:15:01 +11:00
Tom Pittenger d1b2c6e564 Plane: set nav_controller stale on mode change 2023-11-28 10:27:19 +11:00
Tom Pittenger 0e9f9920bc Plane: mode LoiterAltQLand to reuse loiter point if available 2023-11-28 10:27:19 +11:00
Randy Mackay 93a2e728da Plane: SYSID_MYGCS param increment 2023-11-28 07:54:45 +09:00
Tom Pittenger b468af81ac Plane: wrap Watt Limiiter in #if AP_BATTERY_WATT_MAX_ENABLED 2023-11-26 11:57:14 +11:00
Andy Piper 60d5e65a1d Plane: DFF logging docs 2023-11-21 13:26:23 +11:00
Andy Piper 0d10f74bf7 Plane: update PID notch centers at 1Hz with average loop rate 2023-11-21 13:26:23 +11:00
Peter Barker ba8e770a81 ArduPlane: stop streaming trying SIM_STATE messages outside sim 2023-11-20 19:25:25 +11:00
Peter Barker ec5fa8bd62 ArduPlane: tidy sending of esc telem generator messages 2023-11-20 19:25:25 +11:00
Peter Barker e1e1fae604 ArduPlane: tidy sending of queued mcu status messages 2023-11-20 19:25:25 +11:00
Peter Barker 803a56a6b4 ArduPlane: tidy sending of queued opticalflow messages 2023-11-20 19:25:25 +11:00
Peter Barker 4f76a6ec65 ArduPlane: tidy sending of queued mount messages 2023-11-20 19:25:25 +11:00
Peter Barker 4b285fa579 ArduPlane: add and use AP_MAVLINK_COMMAND_LONG_ENABLED 2023-11-16 10:50:21 +11:00
Peter Barker e0eacdc197 ArduPlane: handle DO_SET_MISSION_CURRENT as both long and int 2023-11-16 10:50:21 +11:00
Andrew Tridgell 74c9520449 Plane: update release notes for 4.4.3 2023-11-14 12:52:09 +11:00
Andrew Tridgell a318ef333d Plane: release notes for 4.4.3-beta1 2023-11-07 11:20:37 +11:00
Henry Wurzburg 73f58d3624 ArduPlane: expand explanations in FWD THR docs 2023-11-07 10:57:04 +11:00
Iampete1 55040175e6 Plane: Cruise: only lock in heading once moving forwards 2023-11-04 19:07:55 +11:00
Iampete1 5087a4262d Plane: set_servos_idle: output left and right throttles 2023-10-31 14:06:22 +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
Iampete1 a6206bde3c Plane: move to new `using_airspeed_sensor` ahrs method 2023-10-31 10:39:21 +11:00
Peter Barker c91968017b ArduPlane: tidy use of GPS mavlink defines 2023-10-27 14:16:47 +11:00
Peter Barker 628bc02bf1 ArduPlane: save bytes when AP_AIS_ENABLED is false 2023-10-27 14:16:47 +11:00
Peter Barker 7961eb6045 Plane: consider nan as zero in DO_REPOSITION
QGC's interfaces want to send nan for these parameters
2023-10-27 14:16:07 +11:00
Peter Barker edb4f25953 ArduPlane: remove MSG_BATTERY_STATUS from steams if AP_BATTERY_ENABLED is false 2023-10-26 13:23:57 +11:00
Michael du Breuil 28d4603a46 Plane: Support not sending a status text on state change 2023-10-25 09:39:51 -07:00
Paweł Rozenblut 1c6b4debe2 Plane: send attitude target message implementation (for quadplanes)
Minor modification -  implementation of the send_attitude_target msg. streaming (for quadplanes). The code is analogous in its structure and functionality to the implementation in Copter

Co-Authored-By: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2023-10-25 09:53:13 +11:00
Michael du Breuil b630efd4db ArduPlane: Pass the 4th parameter to ICE for engine start 2023-10-24 14:11:39 -07:00
Peter Barker a97adcf9cd ArduPlane: handle MAV_CMD_NAV_TAKEOFF via command_long and command_in 2023-10-24 12:59:19 +11:00
Andrew Tridgell 63de33bce9 Plane: update release notes for 4.4.2 2023-10-23 07:38:33 +11:00
Peter Barker aa78f53498 Plane: use origin-relative altitudes rather than home-relative 2023-10-18 19:49:06 +11:00
Henry Wurzburg 410fbb998b Plane:reset in landing seq on mode change while disarmed 2023-10-18 13:37:55 +11:00
Henry Wurzburg a26ee15216 Plane:force min transition timer to 2 sec 2023-10-17 14:32:24 +11:00
Peter Barker c990b0105e ArduPlane: accept LOITER_UNLIM and RETURN_TO_LAUNCH as command_int 2023-10-17 12:58:57 +11:00
Randy Mackay 6bd7c37039 Plane: 4.4.2-beta1 release notes 2023-10-14 11:24:37 +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
Peter Barker e13566695b ArduPlane: allow for compilation without AP_RTC_ENABLED 2023-10-11 19:17:27 +11:00
Peter Barker 2e494d496b ArduPlane: allow Plane to run MAV_CMD_MISSION_START as long and int 2023-10-11 19:05:56 +11:00
Henry Wurzburg 7c46585bac ArduPlane: add airspeed estimate status logging 2023-10-10 08:11:10 +09:00
Peter Barker be3f292ba4 ArduPlane: don't send fence_status mavlink message if fence not compiled in 2023-10-04 19:13:23 +11:00
Peter Barker e965b987f6 Plane: accept MAV_CMD_DO_LAND_START as both command_long and COMMAND_INT 2023-10-04 19:04:25 +11:00
Iampete1 9381e2f411 Plane: GuidedHeading PID: remove slew limit 2023-10-03 11:28:18 +11:00
Iampete1 73db3c3823 Plane: MAV_CMD_GUIDED_CHANGE_HEADING: allow changing heading type or rate for same heading 2023-10-03 11:28:18 +11:00
Iampete1 e9fbf6db24 Plane: fix guided heading control anti windup 2023-10-03 11:28:18 +11:00
Peter Barker af3992d795 Plane: handle DO_GO_AROUND as both COMMAND_LONG and COMMAND_INT 2023-09-27 17:37:55 +10:00
Andrew Tridgell babdb3625a Plane: moved assign tilt to the run() function
this prevents double calling and fixes qhover
2023-09-27 11:43:45 +10:00
Paul Riseborough 2f0bbf14a4 Plane: fix metadata units for Q_FWD_PIT_LIM 2023-09-27 11:43:45 +10:00
Paul Riseborough 3866f2b4b5 Plane: Rework pitch limiting in QuadPlane::assign_tilt_to_fwd_thr
Don't unnecessarily increase the forward pitch limit when position control forward action is saturated.
2023-09-27 11:43:45 +10:00
Paul Riseborough acf8dbaeee Plane: Add diagnostics logging to QuadPlane::assign_tilt_to_fwd_thr 2023-09-27 11:43:45 +10:00
Paul Riseborough fa5aef050c Plane: Restructure throttle scaling and pitch limiting to enable logging 2023-09-27 11:43:45 +10:00
Paul Riseborough fb7c383946 Plane: Prevent quadplane.assign_tilt_to_fwd_thr() being called twice 2023-09-27 11:43:45 +10:00
Paul Riseborough c2d6db13ec Plane: explicitly type cast pitch limit 2023-09-27 11:43:45 +10:00
Paul Riseborough 90eacaeb88 Plane: fix centi-degree scaling bug 2023-09-27 11:43:45 +10:00
Paul Riseborough da595bbf88 Plane: Add protection for failed quadplane forward thrust motor 2023-09-27 11:43:45 +10:00
Andrew Tridgell e3ce7d966b Plane: fixes from review 2023-09-27 11:43:45 +10:00
Andrew Tridgell 573de2fc17 Plane: implement methods for aux switch control of vfwd code
and use a common function for the active method
2023-09-27 11:43:45 +10:00
Paul Riseborough 4993dcb814 Plane: Remove duplicated parameter check 2023-09-27 11:43:45 +10:00
Paul Riseborough f834d4730b Plane: Add Q_FWD_THR_GAIN to table of transmitter tuning parameters 2023-09-27 11:43:45 +10:00
Paul Riseborough 6ad7588857 Plane: Add arming check for incompatible Q_VFWD_GAIN and Q_FWD_THR_USE 2023-09-27 11:43:45 +10:00
Paul Riseborough daea00168b Plane: Use Q_FWD_THR_USE parameter to control modes that use Q_FWD_THR_GAIN 2023-09-27 11:43:45 +10:00
Paul Riseborough ed91d428e1 Plane: Default Q_FWD_THR_GAIN to 0 and update meta data 2023-09-27 11:43:45 +10:00
Paul Riseborough 7bbd0ed74e Plane: prevent wind up of Q-mode velocity controller I term 2023-09-27 11:43:45 +10:00
Paul Riseborough b3a1807349 Plane: Fix use of q_fwd_nav_pitch_lim_cd class variable 2023-09-27 11:43:45 +10:00
Paul Riseborough 16895003df Plane: if statement cleanup in QuadPlane::assign_tilt_to_fwd_thr 2023-09-27 11:43:45 +10:00
Paul Riseborough 57cfe854b2 Plane: Add Q_FWD_THR_GAIN value arming check for tailsitters 2023-09-27 11:43:45 +10:00
Paul Riseborough 04e5f6b5f6 Plane: use forward tilt instead of forward throttle when close to ground 2023-09-27 11:43:45 +10:00
Paul Riseborough 8988de3c7c Plane: Allow non positive values of Q_FWD_PIT_LIM to be used 2023-09-27 11:43:45 +10:00
Paul Riseborough e866998b21 Plane: Rename q_fwd_tilt_lim to q_fwd_pitch_lim 2023-09-27 11:43:45 +10:00
Paul Riseborough c15bb3f1e3 Plane: remove code that can never run 2023-09-27 11:43:45 +10:00
Paul Riseborough 98220c7315 Plane: Handle reset of q_fwd_throttle in QuadPlane::mode_enter(void) 2023-09-27 11:43:45 +10:00
Paul Riseborough 2d3431a1ac Plane: Improve use of forward flight motors and tilting rotors in Q modes 2023-09-27 11:43:45 +10:00
Peter Barker 93da99bea2 Plane: adjust for a lack of DCM 2023-09-27 08:00:54 +10:00
Andrew Tridgell 2b2d4b8087 Plane: release notes for 4.4.1 2023-09-26 13:26:01 +10:00
Peter Barker c726dec834 ArduPlane: remove COMPASS_CAL messages from streamrates if tumble cal disabled
fatal error in SITL if we try to send messages with these disabled
2023-09-26 11:39:50 +10:00
Peter Barker 11ffb059ae Plane: accept MAV_CMD_DO_AUTOTUNE_ENABLE as both long and int 2023-09-26 11:36:57 +10:00