Commit Graph

3760 Commits

Author SHA1 Message Date
Iampete1
6621b69836 Plane: log quadplane transision state 2020-09-30 18:15:42 +10:00
Iampete1
f972d3dc2f Plane: Quadplane: tailsitter only change view once transision is complete 2020-09-30 18:15:42 +10:00
Iampete1
b61cf72b8c Plane: tailsitters in Qassist inherit motor state 2020-09-30 18:12:44 +10:00
Andrew Tridgell
cfcd17f0d1 Plane: fixed bug in RC_Channel::has_valid_input
needs to go false when no RCIN and THR_FAILSAFE=2. This prevents ICE
library from using RC input
2020-09-29 10:43:41 +10:00
Samuel Tabor
589382cbb4 Plane: Add THERMAL mode to Parameters.cpp metadata. 2020-09-25 11:34:48 -07:00
Hwurzburg
8c856b3ed2 Plane: Add missing Q_OPTIONS metadata for all options 2020-09-25 13:43:59 +10:00
Andy Piper
d16872cca5 Plane: compile out ADSB mode if required 2020-09-24 08:22:16 -07:00
Samuel Tabor
10111f92d5 Plane: Rename SOARING_ENABLED to HAL_SOARING_ENABLED and don't compare to ENABLED. 2020-09-24 07:30:48 +10:00
Samuel Tabor
0a738395fa Plane: Add THERMAL mode for thermal soaring. 2020-09-24 07:30:48 +10:00
Patrick José Pereira
c19801d420 ArduPlane: Use new AP_FWVersionDefine header
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-09-23 20:58:35 +10:00
Peter Barker
15372e9213 ArduPlane: replace '@User: User' with '@User: Standard' 2020-09-22 14:56:04 +10:00
Tatsuya Yamaguchi
c67a924801 Plane: replace message indicating that initialisation has completed 2020-09-22 09:52:52 +10:00
Andy Piper
c057be8ed1 Plane: conditionally compile ADSB support 2020-09-22 09:33:51 +10:00
Iampete1
fc67c2c13b Plane: check AP_Motors has init correcly for Quadplanes 2020-09-22 09:12:14 +10:00
Tom Pittenger
db10ad2e54 Plane: update USE_REV_THR param description to include landing pattern 2020-09-17 07:31:43 -07:00
Tom Pittenger
c4ab7caa33 Plane: add reverse_thrust option when in landing pattern 2020-09-17 07:31:43 -07:00
Samuel Tabor
e0f524d425 Plane: Soaring: Use circling time as timeout if less than 20s. 2020-09-10 09:18:52 -07:00
Samuel Tabor
ad48394b50 Plane: Add comment to clarify additional 10m in soaring altitude target. 2020-09-10 22:21:41 +10:00
Samuel Tabor
87530c1b2b Plane: Soaring: Remove exit_mode argument from soaring_restore_mode. 2020-09-10 22:21:41 +10:00
Samuel Tabor
59f4c7a3c0 Plane: Allow auto climb back to SOAR_ALT_CUTOFF when soaring in FBWB or CRUISE modes. 2020-09-10 22:21:41 +10:00
Samuel Tabor
9f5b068d9e Plane: Handle EXIT_COMMANDED return status in soaring. 2020-09-08 16:54:45 -07:00
Andrew Tridgell
e9b8a20312 Plane: fixed hover learn in quadplanes for THR_MIN>0
petrol quadplanes commonly have THR_MIN>0, and without this change
cannot ever learn the hover throttle
2020-09-08 11:09:25 +10:00
Mark Whitehorn
629f2153e0 Plane: move arming delay logic into AP_Arming_Plane 2020-09-08 10:54:42 +10:00
Mark Whitehorn
2b4772269d Plane: tiltrotors: allow vectored yaw motor tilt when disarmed
add disarm tilt delay
add arming delay
add Q_OPTIONS for disarmed motor tilt and delayed arming
add comment explaining arming delay option
eliminate millis() wrap in arming delay
2020-09-08 10:54:42 +10:00
Mark Whitehorn
bcdd16025b Plane: replace AP_MotorsMatrixTS with AP_MotorsMatrix 2020-09-08 10:50:31 +10:00
Hwurzburg
96f5e2a20a Plane: Update THR_FAILSAFE param metadata 2020-09-04 07:08:03 +10:00
Samuel Tabor
93bcfc4c3e Plane: Assign flap channel in set_control_channels() to avoid expensive call in set_servos_flaps(). 2020-09-03 07:55:51 +10:00
Samuel Tabor
590ebb180c Plane: Update airbrake channel assignment in set_control_channels() to avoid expensive call in airbrake_update() 2020-09-02 10:10:09 -07:00
Samuel Tabor
f1290a2e17 Plane: Add use of airbrakes, used when throttle is negative OR via RC channel option. 2020-09-02 10:10:09 -07:00
Iampete1
abee62abc4 Plane: use throttle in for transition max comparison 2020-08-30 18:19:40 +10:00
Peter Barker
75aa8b7e6e Plane: log speed scaler into AETR 2020-08-29 18:52:46 +10:00
Andrew Tridgell
bf0f359445 Plane: fixed LOITER_TO_ALT with terrain target
many thanks to Pompecukor for finding this!

Fixes #14951
2020-08-25 10:39:18 +10:00
Samuel Tabor
67c152cef2 Plane: Move cruise state into cruise flight mode. 2020-08-22 09:30:15 +10:00
Samuel Tabor
334fd4afbc Plane: Remove update_navigation() method. 2020-08-20 13:02:06 +10:00
Samuel Tabor
836be4b4b4 Plane: Remove _navigate indirection in Mode. 2020-08-20 13:02:06 +10:00
Samuel Tabor
6a27866df4 Plane: Call plane.update_loiter() rather than plane.mode_loiter.navigate(). 2020-08-20 13:02:06 +10:00
Samuel Tabor
06eea6ed9f Plane: Move navigation functions into flight mode classes. 2020-08-20 13:02:06 +10:00
Siddharth Purohit
fb180fa431 Plane: move to using CANManager library 2020-08-19 17:31:09 +10:00
Peter Barker
306eaf4d03 ArduPlane: use an enumeration for the AP_Avoidance recovery action 2020-08-19 11:38:19 +10:00
Mark Whitehorn
ee65940dfa Plane: enable yaw in qstabilize:air_mode at zero throttle 2020-08-13 08:47:27 +10:00
Mark Whitehorn
4630e9af30 Plane: add Mode::is_vtol_man_mode
and make use of is_vtol_mode in in_vtol_mode
2020-08-13 08:47:27 +10:00
Mark Whitehorn
e22d9398d3 Plane: add AirMode RC option for quadplanes
add Q_OPTION for AirMode (auto-enabled if RCx_OPTION ARMDISARM assigned)
    bugfix: manual throttle mix for qacro
    qualify auto airmode on/off
    add Air Mode to Plane RC_OPTION metadata
    restrict airmode to manual throttle modes
    add qhover to manual throttle mix
    move air_mode from Plane to QuadPlane
    add Mode::is_vtol_man_throttle()
2020-08-13 08:47:27 +10:00
Michael du Breuil
99ad126986 Plane: Fix redundant call to SpdHgt_Controller->get_land_airspeed() 2020-08-11 09:47:24 +10:00
Andrew Tridgell
3c705d1c60 Plane: added THR_FAILSAFE=2 option
this allows for RC inputs to be ignored at low throttle, but won't
trigger failsafe. It is meant for users flying BVLOS missions, where
they want GCS failsafe enabled, but don't want RC failsafe, and want
to be sure that RC inputs will be ignored at low RC throttle values

Thanks to suggestion from Pompecukor
2020-08-07 14:01:20 +10:00
Samuel Tabor
aa776b06a4 Plane: Use sq() rather than powf() in soaring.cpp. 2020-08-05 11:58:54 +10:00
Samuel Tabor
b2d63c5049 Plane: Refactor soaring.cpp. 2020-08-05 11:58:54 +10:00
Peter Barker
ac85ec9924 Plane: log AHRS synthetic airspeed 2020-08-04 23:12:03 +10:00
Andrew Tridgell
6466912ac0 Plane: don't crosstrack after AUTO VTOL takeoff 2020-08-04 09:26:08 +10:00
Andy Piper
b649afe9e5 Plane: make mount/gimbal inclusion configurable per-board 2020-08-04 09:18:14 +10:00
Tom Pittenger
c7c9461fc0 Plane: update ModeReasons to not use UNKNOWN reason 2020-07-28 11:52:39 -07:00
Andrew Tridgell
cce2532901 Plane: fixed use of VTOL control for missions
horizontal speed was not being setup when doing waypoint missions in
VTOL mode
2020-07-28 08:06:14 +10:00
Peter Hall
cd46c5006a ArduPlane: remove duplicate fail-safe time check 2020-07-28 08:04:50 +10:00
Iampete1
62354527d4 Plane: zero throttle nudge in RC failsafe 2020-07-28 08:03:16 +10:00
Henry Wurzburg
3617e0c729 ArduPlane: fix airspeed messages for consistency 2020-07-21 09:41:05 +10:00
Samuel Tabor
419f7c9998 Plane: Convert SOAR_ENABLE_CH to RCX_OPTION. 2020-07-21 09:38:04 +10:00
Samuel Tabor
611217f63e AP_Soaring: Use RC aux function rather than read RC directly. 2020-07-21 09:38:04 +10:00
Samuel Tabor
455ebaadf2 RC_Channel: Add soaring aux function. 2020-07-21 09:38:04 +10:00
Michael du Breuil
6c6e4eff67 Plane: adhoc MAVLink DO_LAND_START changing mode to auto is known to be a GCS reason 2020-07-17 09:15:05 +09:00
Henry Wurzburg
16a15f5450 ArduPlane: add CROW flaps mode select switch 2020-07-16 13:30:45 +10:00
Mirko Denecke
10a85892cf ArduPlane: update_trigger() is now called in AP_Camera update() 2020-07-15 08:37:28 +09:00
Paul Riseborough
585a6a6967 Plane: Log D gain limit cycle gain scaler
Used by roll and pitch loops in APM_Control
2020-07-13 13:47:50 +10:00
TunaLobster
aca70ffd34 ArduPlane: Update Log_Write_Fast comment for accuracy 2020-07-11 19:15:21 +10:00
Iampete1
08a710235d Plane: add tailsitter assist with motors only option 2020-07-09 06:49:24 +10:00
Iampete1
6710bab006 Plane: add Q_OPTIONS to defaut to Qassist force enabled 2020-07-09 06:49:24 +10:00
Henry Wurzburg
4115603f13 ArduPlane: add terrain follow disable switch for CRUISE/FBWB 2020-07-08 13:39:42 +10:00
Paul Riseborough
e5bd99a66f ArduPlane: Signal EKF to expect takeoff start to improve GSF yaw estimate 2020-07-07 15:33:58 +10:00
Michael du Breuil
955a05c4d5 Plane: Refactor mav_cmd_do_reposition to be consistent with copter 2020-07-07 10:34:19 +10:00
Mark Whitehorn
2af6e255d1 RC_Channel: add RC option for VTOL manual forward throttle
fix RC_OPTION metadata for 209: Forward Throttle
2020-07-07 08:37:46 +10:00
Mark Whitehorn
d5b1b20274 Plane: implement manual forward throttle for QACRO, QSTABILIZE and QHOVER
add parameter Q_FWD_THR_MAX for scaling manual throttle
allow forward motor tilt when disarmed
add FWD_THR_CH as an RC option
change Q_FWD_THR_MAX to percent
change RC_OPTION FWD_THR to 209
move assignment of rc_fwd_thr_ch to one_second_loop
move arming check from forward_throttle_pct to set_servos
change Q_FWD_THR_MAX TO Q_FWD_MANTHR_MAX
expand description of Q_FWD_MANTHR_MAX
add pre-arm check for VTOL manual forward throttle
change VTOL fwd throttle input to percent
2020-07-07 08:37:46 +10:00
Peter Barker
ee2118f93a Plane: add support for AP_Generator 2020-07-03 08:21:42 +09:00
Peter Barker
d47569ccef Plane: correct ASSIST_ANGLE description 2020-07-01 20:57:32 +10:00
Andrew Tridgell
3a0538449c Plane: added Q_ASSIST_DELAY parameter
this allows tuning of the time between assistance thresholds being met
and assistance kicking in. It also changes the default delay from 1s
down to 0.5s based on analysis of a flight where assistance was too
slow
2020-07-01 20:57:32 +10:00
Andrew Tridgell
d9358b4ac2 Plane: don't allow a zero speed_scaler
this fixes an issue with yaw damper on quadplanes when at zero
airspeed

Thanks to Vladi Portnoy for reporting this
2020-06-29 20:09:41 +10:00
Andy Piper
9077d41df1 Plane: add support for tracking fft peaks and individual motor rpms with harmonic notches
log harmonic notch even if FFT is disabled. Fallback to throttle notch for BLHeli
move harmonic notch update to AP_Vehicle
2020-06-21 19:09:35 +10:00
Michael du Breuil
43526e718e Plane: Remove the use of RTL_RADIUS from LOITER_UNLIM mission items 2020-06-19 11:10:29 -07:00
Mark Whitehorn
ab2eb6185f Plane: also limit throttle during quadplane transitions 2020-06-16 11:43:18 +10:00
Peter Barker
1206df6f0c ArduPlane: remove use of Vector2 as function 2020-06-16 11:00:44 +10:00
Paul Riseborough
97d7d563c4 ArduPlane: Improve parameter description for FWD_BAT_VOLT_MAX/MIN 2020-06-16 10:17:33 +10:00
Paul Riseborough
fdb4f908bb ArduPlane: Fix bug in forward throttle voltage compensation
The existing code does not adjust the upper and lower throttle limits with the result that at and of discharge climb and reverse thrust performance is significantly degraded.
2020-06-16 10:17:33 +10:00
vierfuffzig
147ebb74f4 Plane Parameters: fix THR_MAX param description
makes clear that thr is constrained in stabilized modes too unless passthrough is set, aligns with THR_MIN description.
2020-06-12 10:23:41 +10:00
Peter Barker
6c4812e408 ArduPlane: rename 'enum aux_switch_pos_t' to 'enum class AuxSwitchPos' 2020-06-12 08:11:46 +10:00
Peter Barker
f59d2fdbf4 ArduPlane: add and use accessor for last-RADIO_STATUS.remrssi-ms 2020-06-09 10:20:29 +10:00
Iampete1
2121ddf736 Plane: drop unneeded call to calc_pwm 2020-06-09 09:04:14 +10:00
Andrew Tridgell
fbd774fde9 Plane: set pressure alt for vtol motors 2020-06-05 11:35:53 +10:00
Iampete1
4b7d45e549 Plane: label and sort plane.h functions 2020-06-05 09:32:31 +10:00
Andrew Tridgell
568e13fbb9 Plane: allow for continue after land for quadplanes
this allows for a new takeoff after a quadplane auto landing
2020-06-02 09:12:22 +09:00
Michael du Breuil
911570e9f3 Plane: Protect against a divide by 0 when calculating the forward throttle compensation 2020-06-02 09:38:51 +10:00
Andrew Tridgell
ebcbc6d449 Plane: update release notes for 4.0.6beta1 2020-05-27 13:27:27 +10:00
Peter Hall
7688430029 Plane: allow Qassit for fw to vtol transision 2020-05-26 09:01:47 +10:00
Peter Hall
87cd9a4791 Plane: allow Qassist for tailsitters 2020-05-26 09:01:47 +10:00
Peter Hall
2467d7b5c7 Plane: add Qassist switch 2020-05-26 09:01:47 +10:00
Tom Pittenger
0a5021fdcf Plane: bugfix: never reset auto_state.sink_rate 2020-05-23 18:49:12 -07:00
Andrew Tridgell
26c2555c3c Plane: increased allowed time for mavlink send to 750us
this is to allow more time to get streams out at low loop rates
2020-05-23 11:54:41 +10:00
Buzz
0f5177b291 Plane: Support a set of offboard MAVLink guided controls with rates
+ 3 rounds of fixes
2020-05-20 15:03:21 +10:00
Buzz
d4df145b4b ArduPlane: option to keep landing throttle at thr_min during flare and touchdown, not zero. 2020-05-20 11:29:45 +10:00
Iampete1
f9ff8e5f11 Plane: align GCS PID with logged 2020-05-19 09:04:16 +10:00
Andrew Tridgell
8b21f5117a Plane: implement RTL_CLIMB_MIN parameter
this allows for an initial climb on RTL where roll is limited to
LEVEL_ROLL_LIMIT
2020-05-18 13:04:04 +10:00
Paul Riseborough
0c9433873c ArduPlane: Modify ekf failsafe checks
Restore velocity check and make the logic closer to what ArduCopter does.
Remove unnecessary initialisation.
2020-05-14 10:40:48 +10:00
Paul Riseborough
85e53d53e1 ArduPlane: Don't use optical flow health when assessing EKF nav health
Plane currently doesn't use optical flow for navigation - it is used fo terrain height estimation.
2020-05-14 10:40:48 +10:00
Paul Riseborough
3a10838c65 ArduPlane: Don't check variances if not available 2020-05-14 10:40:48 +10:00