Peter Barker
127bf7aa09
ArduPlane: make terrain checks common between Copter and Plane
3 years ago
Andrew Tridgell
2e32c753b9
Plane: added arming check for terrain data
3 years ago
Iampete1
ee778dbd3a
Plane: Quadplane: add option_is_set helper for Q_OPTIONS
3 years ago
Andrew Tridgell
3201ecd381
Plane: added an arming check for VTOL land too short
...
this is meant to catch bad mission setup, especially for UGCS, which
planes waypoints right on top of the landing point
3 years ago
Andrew Tridgell
3385d3ae62
Plane: support NAV_DELAY in plane
...
allow for delayed takeoff, and takeoff at a particular time (for swarm
takeoff)
also check for takeoff command in landing sequence arming check
this allows for takeoff->land->disarm->delay->arm->takeoff->land
missions
3 years ago
murata
501bd61820
Plane: Initialize a string array
3 years ago
Iampete1
34609d327d
Plane: Quadplane: force convertions of Q_M_PMW_* params if invalid and add arming check
3 years ago
Andrew Tridgell
86c2404654
Plane: increased safety of guided -> auto quadplane takeoff
...
when we arm in guided mode then enter a special guided_wait_takeoff
state. We keep motors suppressed until one of the following happens
1) disarm
2) guided takeoff command
3) change to AUTO with a takeoff waypoint as first nav waypoint
4) change to another mode
while in this state we don't go to throttle unlimited, and will refuse
a change to AUTO mode if the first waypoint is not a takeoff. If we
try to switch to RTL then we will instead use QLAND
This state is needed to cope with the takeoff sequence used by QGC on
common controllers such as the MX16, which do this on a "takeoff"
swipe:
- changes mode to GUIDED
- arms
- changes mode to AUTO
3 years ago
Andrew Tridgell
20f641de99
Plane: refuse arming if we are in a landing sequence
...
this helps when the aircraft has gone into a landing sequence due to a
failsafe before it is armed. Arming while in the landing sequence is
very unlikely to be what the user wants
3 years ago
Andrew Tridgell
680162cef0
Plane: added a value for RTL_AUTOLAND to disable arming check
...
set RTL_AUTOLAND=3 to get go-around but not RTL DO_LAND_START usage
3 years ago
Andrew Tridgell
a1856c5c22
Plane: added an arming check for Q_ASSIST_SPEED
...
Q_ASSIST should really be enabled for all non-tailsitter
quadplanes. This arming check will help users remember to configure it
3 years ago
Andrew Tridgell
82937ca778
Plane: check that RTL_AUTOLAND is set if using DO_LAND_START
3 years ago
Andrew Tridgell
8ccf84d9a3
Plane: disallow mavlink disarm while flying
...
this relies on is_flying(), and we will need to watch for reports of
the heuristics failing
3 years ago
Andrew Tridgell
1c89b7f3a2
Plane: check for VTOL takeoff in AUTO
...
if the "only arm in Q modes" bit is set in Q_OPTIONS then check that
in AUTO mode we are in a VTOL takeoff WP
3 years ago
Iampete1
5ba2bd675a
Plane: move quadplane arming checks to own function and add angle max and tiltrotor / tailsitter checks
3 years ago
Iampete1
b31ce6734a
Plane: get throttle input return float
3 years ago
Andrew Tridgell
493d8979d5
Plane: reset target speed on disarm
...
allows for multiple auto missions with DO_CHANGE_SPEED
3 years ago
Iampete1
cdfda2bd9b
Plane: allow arming in quided with only arm in Qmodes Q_OPTION
3 years ago
Iampete1
cc89a8cc48
Plane: remove airmode Q_OPTION
3 years ago
Peter Barker
3d34e061fe
ArduPlane: add and use HAL_QUADPLANE_ENABLED
3 years ago
Hwurzburg
327f3a0803
ArduPlane: add option for man throttle center to be TRIM_THROTTLE
3 years ago
Iampete1
4efa9866fa
Plane: arming: do not disable asisted flight airmode on disarm
3 years ago
Iampete1
d372907a98
Plane: Quadplane: add Q_OPTION to only allow arming in Qmodes and auto.
4 years ago
Peter Barker
5b7ec1fab4
Plane: do not run any prearm checks if we are armed or arming is not required
...
Co-authored-by: TunaLobster <unknown>
4 years ago
Andrew Tridgell
8482f9af27
Plane: fixed motor test with DShot VTOL motors
...
need to arm when running the motor test
4 years ago
Hwurzburg
d15e01d390
Plane: fix DO_CHANGE_SPEED airspeed to impact only AUTO and GUIDED modes
4 years ago
James O'Shannessy
aae092b88f
ArduPlane: Remove all unused geofence capability
...
ArduPlane: Remove missed geofence logic
4 years ago
Peter Barker
b6d0208287
Plane: allow arming in all auto-throttle modes
...
... except QRTL and QLAND which are now universally denied for arming.
4 years ago
Randy Mackay
d487d6152e
Plane: ahrs pre-arm always runs position checks
4 years ago
Peter Barker
b698546b70
ArduPlane: add do_disarm_checks boolean to disarm call
...
this creates symmetry between arming and disarming, at least as far as
the top-level arm() and disarm() calls are concerned.
4 years ago
Peter Barker
6baaf03c8c
Plane: move auto_throttle_mode to being a method on each mode
4 years ago
Peter Barker
9b2ef4f6f1
Plane: move rudder-arming arm checks into Plane's AP_Arming
4 years ago
Andrew Tridgell
cd6ddf7d4f
Plane: fixed disable of geofence on quadplane landing
...
fixes #15917
4 years ago
Andrew Tridgell
52f61c7ac1
Plane: make FENCE_AUTOENABLE an AP_Enum
4 years ago
Randy Mackay
60b4953751
Plane: integrate ahrs.pre_arm_check
4 years ago
Randy Mackay
eeaf135cca
AP_Arming: integrate ahrs.pre_arm_check
4 years ago
Iampete1
fc67c2c13b
Plane: check AP_Motors has init correcly for Quadplanes
4 years ago
Mark Whitehorn
629f2153e0
Plane: move arming delay logic into AP_Arming_Plane
4 years ago
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
4 years ago
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()
5 years ago
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
5 years ago
Peter Barker
74dbcac40e
ArduPlane: log disarm method
5 years ago
Peter Barker
a74d754720
Plane: AP_Arming now logs arm/disarm events
5 years ago
Peter Barker
fa0d0c6176
Plane: remove bogus ARMING_CHECK_NONE 'bitmask value'
5 years ago
Michael du Breuil
562b155f63
Plane: Remove unused geofence enable reason
5 years ago
Peter Barker
1b36d64794
Plane: correct compilation with GEOFENCE_ENABLED==DISABLED
6 years ago
Peter Barker
b7b67f523d
Plane: pass format string through to check_failed
6 years ago
Andrew Tridgell
5076058459
Plane: added FENCE_AUTOENABLE=3 option
...
this enables the fence when arming. If the vehicle is outside the
fence or it can't be enabled then arming fails
6 years ago
Peter Barker
13f7022cec
Plane: move Arming functions into AP_Arming file
6 years ago
Peter Barker
92ce75517c
Plane: move check for ARMING_CHECK_NONE back into Plane
...
Plane allows all prearm and arm checks to be bypassed with
ARMING_CHECK_NONE. Not all vehicles allow this, so move this bypass
back into Plane.
6 years ago