James O'Shannessy
8a99d9dd00
ArduPlane: Use auto enable and auto disable from AC_Fence
2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
4f7ffc5eb1
Plane: move fence disable code to a function to enable reusability
2021-03-05 14:52:46 +11:00
James O'Shannessy
aae092b88f
ArduPlane: Remove all unused geofence capability
...
ArduPlane: Remove missed geofence logic
2021-03-05 14:52:46 +11:00
James O'Shannessy
17fb585bf1
ArduPlane: Add support for AC_Fence
...
ArduPlane: Remove some geofence logic from ArduPlane
ArduPlane: Refactor action and mode return implementation
ArduPlane: Use polyfence to find the return point.
2021-03-05 14:52:46 +11:00
Peter Barker
af29f34f2c
Plane: store previous_mode_reason only as a local
...
It's never used outside the mode-changing method.
2021-02-03 20:33:25 +11:00
Patrick José Pereira
cdc7f891a9
ArduPlane: Add missing const in member functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Barker
eaa6b36077
ArduPlane: move control_mode_reason up to AP_Vehicle
2021-02-03 18:24:52 +11:00
Peter Barker
6baaf03c8c
Plane: move auto_throttle_mode to being a method on each mode
2021-01-10 16:04:30 +11:00
Peter Barker
f6cb1b5ad6
Plane: use a method on Mode for auto-navigation-mode
...
Avoids the state getting stale, which it will with a failed attempt to
go into qautotune, for example.
2021-01-10 16:04:30 +11:00
Peter Barker
a1ea1306a1
Plane: use pure-virtual method for allows_throttle_nudging
...
In place of a state variable which could become stale
2021-01-10 16:04:30 +11:00
yaapu
141010ac39
ArduPlane: added virtual getters for waypoint info
2020-12-10 12:39:44 +11:00
Andrew Tridgell
cd6ddf7d4f
Plane: fixed disable of geofence on quadplane landing
...
fixes #15917
2020-12-02 18:33:07 +11:00
Hwurzburg
3cdcce2123
ArduPlane: add inflight airspeed cal rc switch
2020-11-25 21:30:15 +11:00
Andy Piper
fa454da315
Plane: allow OSD for TX-only screens
2020-11-11 18:13:11 +11:00
Hwurzburg
cf055fd1e0
Plane: add midposition to flare RC option sw
2020-10-27 10:47:07 +11:00
Hwurzburg
b61ee34b6b
ArduPlane: add RC option for landing flare
2020-10-13 11:36:19 +11:00
Samuel Tabor
31c681c1cf
Plane: Move soaring functions to mode_thermal.
2020-10-13 10:25:32 +11:00
Iampete1
2820228ad6
Plane: only do_change_speed within FBW min and max
2020-10-13 10:21:52 +11: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
Andy Piper
c057be8ed1
Plane: conditionally compile ADSB support
2020-09-22 09:33:51 +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
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
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
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
b2d63c5049
Plane: Refactor soaring.cpp.
2020-08-05 11:58:54 +10:00
Andy Piper
b649afe9e5
Plane: make mount/gimbal inclusion configurable per-board
2020-08-04 09:18:14 +10:00
Henry Wurzburg
16a15f5450
ArduPlane: add CROW flaps mode select switch
2020-07-16 13:30:45 +10:00
Henry Wurzburg
4115603f13
ArduPlane: add terrain follow disable switch for CRUISE/FBWB
2020-07-08 13:39:42 +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
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
Iampete1
4b7d45e549
Plane: label and sort plane.h functions
2020-06-05 09:32:31 +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
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
cd5714d059
ArduPlane: Allow EKF dead reckoning to continue after loss of GPS
2020-05-14 10:40:48 +10:00
Paul Riseborough
40cc5a5006
ArduPlane: Improve EKF failsafe in VTOL modes
...
Replicates Copter behaviour with a three step process if the EKF sustains a loss of navigation as detected by high GPS innovation test ratios:
1) Attempts a yaw reset using the GSF estimate if available
2) Attempts a lane switch
3) Falls back to a non-position mode
2020-05-14 10:40:48 +10:00
Peter Barker
f17ea78a6c
Plane: move sending of WIND message to GCS namespace
2020-05-05 10:29:13 +10:00
Peter Barker
e75fa6fb15
Plane: move sending of AOA_SSA message to GCS namespace
2020-05-05 10:29:13 +10:00
Iampete1
3ded030fa8
Plane: compensate forward throttle for battery voltage drop
2020-05-05 09:46:41 +10:00
Andrew Tridgell
156fe0846f
Plane: fixed plane landing gear to obey LGR_OPTIONS bits
...
we forced landing gear retract/deploy on takeoff and landing when we
should be following the options bits
2020-04-15 17:10:31 +10:00
Samuel Tabor
298088268a
Plane: Soaring, don't wait for heading if too low, and add timeout otherwise.
2020-04-08 09:11:54 +10:00
Rishabh
a76d0e3002
Plane: Remove SONR messages logging
2020-04-01 17:11:48 +11:00
Andrew Tridgell
9f92aad711
Plane: implement get and set target location
2020-03-12 08:36:40 +11:00
Peter Barker
5ff1630c63
ArduPlane: move initialisation of serial and gcs to AP_Vehicle
2020-02-25 11:50:55 +11:00
Peter Barker
58d45ef04a
Plane: let AP_Vehicle handle loop()
2020-02-06 14:41:06 +11:00
Peter Barker
a5a75e61da
ArduPlane: move some common init_ardupilot code up to AP_Vehicle
2020-01-28 11:34:51 +11:00
Peter Barker
a45abc7762
Plane: move setup method up to AP_Vehicle base class
2020-01-28 11:34:51 +11:00
Peter Barker
024c86bdab
Plane: let AP_Vehicle base class worry about scheduler delay callback
2020-01-21 11:37:28 +11:00
Tatsuya Yamaguchi
1f9f84044c
Plane: allow scripts to get modes
2020-01-14 11:16:29 +11:00
Peter Barker
71017cb288
Plane: vehicle parent class now instantiates AHRS
2019-12-02 09:16:22 +11:00
Andrew Tridgell
d872ca27ce
Plane: added dynamic harmonic notch support
2019-11-19 07:08:01 +08:00
Andrew Tridgell
2b27cd2ce9
Plane: Add EFI Support
2019-11-17 20:10:54 +11:00
Peter Barker
0626f1fc2f
Plane: stop providing current location to mount
2019-11-05 19:55:45 +11:00
Michael du Breuil
ee96ec7f0d
Plane: Support new AP_Vehicle::set_mode
2019-10-25 08:48:22 +08:00
Andrew Tridgell
ff400243e0
Plane: added a new TAKEOFF flight mode
...
takeoff then circle in direction of takeoff
2019-10-17 12:19:43 +11:00
Peter Barker
5d405896f8
Plane: move many members up to base class
2019-10-08 11:26:04 +11:00
Peter Barker
a252aad39b
Plane: become an AP_Vehicle
2019-10-08 11:26:04 +11:00
Michael du Breuil
562b155f63
Plane: Remove unused geofence enable reason
2019-09-23 17:31:33 -06:00
Michael du Breuil
af0dfb6d8b
Plane: Remove unneeded state from geofence
2019-09-23 17:31:33 -06:00
Andrew Tridgell
6572700baa
Plane: fixed an issue with landing on rising ground
...
when landing on rising ground we don't want to use the terrain look
fwd correction for the flare calculation as otherwise we will flare
too early (and thus too high)
2019-09-16 12:52:00 +10:00
Michael du Breuil
cf58f68e49
Plane: Rearrange header to save flash
...
Saves 392 bytes of flash on CubeBlack builds without increasing RAM
consumption at all. This also translates to a speed up as some of these
are looked up every loop multiple times.
2019-09-10 06:43:34 +10:00
Andrew Tridgell
296ce5a409
Plane: fixed throttle failsafe for FS_SHORT_ACTN=3
...
this is a replacement for #12043
many thanks to @Jaaaky for finding this issue
2019-08-26 17:20:24 +10:00
Andrew Tridgell
1b775c96f5
Plane: added rangefinder correction by terrain data
...
allows for landing approach with terrain changes
2019-08-06 09:36:02 +10:00
Peter Barker
7c88eb670c
Plane: RangeFinder uses AP_SerialManager singleton
2019-07-16 09:29:48 +10:00
Peter Barker
38e303389b
Plane: avoidance no longer takes ahrs in constructor
2019-07-16 09:29:48 +10:00
Peter Barker
769e862807
Plane: stop passing relay and ahrs into camera constructor
2019-07-09 09:32:39 +10:00
Andrew Tridgell
ebe2278f5d
Plane: reset rate controller integrators if not run for 2s
...
this prevents a bug where integrator buildup can happen from a
previous flight mode
2019-07-07 18:16:47 +10:00
Peter Barker
3ab266b751
Plane: ServoRelayEvents uses Relay singleton
2019-07-03 23:59:24 -07:00
Michael du Breuil
1d379dd0b3
Plane: Update for AFS interface
2019-06-18 10:02:05 +10:00
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
2019-06-11 06:58:47 +10:00
Peter Barker
400aa53654
Plane: move arming-related functionality into parent classes
...
Logging moves up
arming via mavlink moves up
arming via switch moves up
2019-05-30 07:37:30 +09:00
Tom Pittenger
6970a66cad
Plane: refactor stick_mixing to library
2019-05-03 13:14:11 -07:00
Vinicius Knabben
99ad94ec49
Plane: Added parachute release on critcal sink rate and battery failsafe actions
...
Signed-off-by: Vinicius Knabben <viniciusknabben@hotmail.com>
2019-04-30 10:04:58 +10:00
Peter Barker
ad16f31e11
Plane: call compass cal routine directly from sched table
2019-04-23 10:06:17 +10:00
Peter Barker
3a4cbdd41f
Plane: remove pointless update_notify shim
2019-04-11 05:31:43 -07:00
Michael du Breuil
ea031d720a
Plane: Fix RangeFinder init
2019-04-06 09:15:22 +11:00
Tom Pittenger
ade6281923
Plane: use #if ADVANCED_FAILSAFE == ENABLED just like Rover and Copter
2019-04-03 17:46:50 -07:00
Tom Pittenger
ca40c7f2d5
Plane: create afs_plane.h to match copter and rover structure
2019-04-03 17:46:50 -07:00
Tom Pittenger
0270c57530
Plane: massive refactor and creation of Mode class
2019-04-02 16:28:52 +11:00
Peter Barker
6c5c14381f
Plane: move devo telemetry handling to GCS
2019-03-19 14:39:14 +11:00
Peter Barker
1a55f0ffab
Plane: FrSky support has moved to GCS
2019-03-19 14:39:14 +11:00
Andrew Tridgell
3907466f9d
Plane: added TKOFF_TIMEOUT parameter
...
this allows for a timeout on auto-takeoff. This can be combined with
other takeoff parameters to allow the user to abort a hand-launch
after the motor has started without GCS interaction.
The 4m/s threshold is a bit arbitrary. We could make that a parameter
in the future if it is needed
2019-03-18 14:48:08 +11:00
Peter Barker
0edba9070f
Plane: move sending of RPM message up
2019-03-16 10:33:01 +09:00
Peter Barker
ca7566fff9
Plane: use enum class for ArmingMethod and ArmingRequired
2019-03-12 19:48:14 +11:00
Peter Barker
bd444d97dc
Plane: move sending of airspeed_autocal into AP_AirSpeed
2019-03-06 11:32:52 +11:00
Peter Barker
94899bd2ed
Plane: move sending of send_pid_tuning up
2019-03-05 10:41:56 +11:00
Andrew Tridgell
cd1f21b806
Plane: removed some px4 specific code and docs
2019-02-27 20:32:37 +11:00
Peter Barker
cdde2b7d64
Plane: Rally no longer takes ahrs in constructor
2019-02-20 18:03:38 +11:00
Peter Barker
34853fb1bf
Plane: move update_sensor_status_flags into GCS subclasses
2019-02-19 14:09:59 +11:00
Peter Barker
33541dcbf6
Plane: GCS_MAVLink takes care of mavlink capabilities
2019-02-19 13:14:52 +11:00
Peter Barker
5690a0ea4a
Plane: move try_send_message of nav_controller_output up
2019-02-19 10:08:00 +11:00
Mark Whitehorn
95b3a5bacd
ArduPlane: implement hover throttle learning for quadplanes
...
disable by default
check quadplane.enable in update_hover_learn
2019-02-16 19:04:13 -08:00
Peter Barker
b6bf8d8368
Plane: make setting of home boolean in preparation for sanity checks
2019-02-15 08:28:45 +11:00
Peter Barker
5a19f447a7
Plane: devo telemetry no long requires singleton classes to be passed in
2019-02-13 19:24:07 +00:00
Peter Barker
30671a6743
Plane: move handling of command-int MAV_CMD_DO_SET_HOME up
...
Plane: eliminate set_home shim around AP_AHRS::set_home
2019-02-13 09:42:26 +11:00
Peter Barker
cfb3dfc4e5
Plane: AP_Frsky_Telem uses singletons
2019-02-12 17:53:23 +00:00
Peter Barker
b48cb1e367
Plane: move sending of sys_status message up
2019-02-05 11:07:39 +11:00
Andrew Tridgell
5dbf603450
Plane: separate out slew limit logic for left/right throttles
2019-02-03 05:06:37 -08:00
Peter Barker
68b9e64077
Plane: remove old, unfulfilled method declarations
2019-01-30 09:03:52 +09:00
Peter Barker
40856fef56
Plane: remove vestiges of old PX4_MIXER code
2019-01-19 19:31:03 +11:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
Peter Barker
129762d3af
Plane: APM_Control uses DataFlash singleton, stop passing it
2019-01-18 14:14:22 +11:00
IamPete1
eaed0a2d47
Plane: make rudder differnal thrust global
2019-01-15 10:19:19 +11:00
Peter Barker
5c90a2dab2
Plane: Terrain uses rally singleton
2019-01-09 10:14:16 +11:00
Michael du Breuil
09f6ec8a00
Plane: Remove unneeded AP_Buffer include
2018-12-31 11:41:43 +09:00
Michael du Breuil
47dfafd670
Plane: Ensure that the plane is an appropriate distance out before starting the approach
2018-12-18 10:11:22 +11:00
Michael du Breuil
f1154a6e7c
Plane: Pass the mission command around rather then fetching it
2018-12-18 10:11:22 +11:00
Nikhil Upadhye
d1e93bae83
Plane: adding new mode QAUTOTUNE
...
copter like autotune support for quadplanes and tailsitter in VTOL mode.
cleanup
2018-12-14 16:33:11 +11:00
Peter Barker
d1727d26a1
Plane: rename send_extended_status1 to send_sys_status
2018-12-10 12:52:41 +09:00
Peter Barker
ba3a369651
Plane: remove update_events scheduler shim
2018-11-27 10:07:13 +11:00
Michael du Breuil
1e220d3d37
Plane: Add support for mode change to QLand as a failsafe
2018-11-24 14:37:04 -08:00
Peter Barker
d4e88bc6ba
Plane: remove pointless wrappers around RC_Channels functions
2018-11-23 10:56:17 +11:00
Peter Barker
03b71e1123
Plane: remove pointless wrappers around gcs functions
2018-11-23 10:56:17 +11:00
Andrew Tridgell
03f1deca9f
Plane: support REVERSE_THROTTLE rc option
...
this provides a more convenient way to setup for reverse throttle
2018-11-16 08:33:35 +11:00
Andrew Tridgell
da69bf3391
Plane: added an abstraction for reverse thrust
...
use have_reverse_thrust() and get_throttle_input()
2018-11-16 08:33:35 +11:00
Peter Barker
a5c34f6172
Plane: OpticalFlow takes care of its own logging
2018-11-13 10:40:23 +11:00
Peter Barker
e53a009a35
Plane: do not pass ahrs to opticalflow constructor
2018-11-13 10:40:23 +11:00
Andrew Tridgell
432d786f82
Plane: pass height to landing gear update
2018-11-10 21:24:19 +11:00
Michael du Breuil
8e906e0ba0
Plane: Add support for a loiter to alt approach to VTOL landing
2018-11-10 18:58:54 +11:00
Eugene Shamaev
01178a75e9
Plane: added landing gear support
2018-11-09 14:35:14 +11:00
Peter Barker
818bb8d56d
Plane: don't pass ahrs to terrain constructor
2018-11-08 20:59:45 +11:00
Peter Barker
4b68ca79dc
Plane: stop passing ahrs to Mission constructor
2018-11-08 10:01:16 +09:00
Andrew Tridgell
a00e06ea13
Plane: added TKOFF_ACCEL_CNT for multi-shake to start
...
this allows you to setup shake to start with a lower accel threshold,
but with multiple fwd/back movements needed.
This implements https://github.com/ArduPilot/ardupilot/issues/2221
2018-10-31 18:53:36 +11:00
Peter Barker
27b444f4e8
Plane: move handling of gimbal messages up
...
Plane: move handling of mav_cmd_do_mount_control up
Plane: move handling of deprecated mount messages up
Plane: move handling of command_do_set_roi up
Plane: mount no longer takes ahrs in constructor
2018-10-30 17:19:14 +11:00
Peter Barker
7890fbeaa1
Plane: let AP_Mission handle common camera commands
2018-10-30 15:37:18 +11:00
Michael du Breuil
3aed07a83a
Plane: Create a scripting object
2018-10-09 10:08:52 +11:00
Peter Barker
4ad1869f43
Plane: add arm/disarm on aux switch
2018-09-06 08:26:50 +10:00
Peter Barker
901664ce09
Plane: add support for RCn_OPTION (servorelay,camera)
...
Closes #7071
Closes #7666
2018-09-05 13:44:07 +10:00
Michael du Breuil
8417bcc7d5
Plane: Add flight options bitmask
2018-08-28 09:40:53 +10:00
Michael du Breuil
e4bbcd5ee3
Plane: Don't initilize motors with a trim value
2018-08-23 13:19:08 +10:00
Alexander Malishev
001948d40c
Plane: publish navigation info to OSD
2018-08-16 10:26:34 +10:00
Randy Mackay
903d00c4b2
Plane: remove compass accumulate
2018-08-06 11:05:34 +10:00
Peter Barker
9ce02bc504
Plane: minimal support for inheritting from RC_Channel
2018-08-01 12:11:30 +09:00
Andrew Tridgell
1d675390ab
Plane: make soaring an optional build feature
...
this disables soaring on px4-v2, saving 5k of flash
This is needed to consider pr #9042 , which takes a lot of flash space
2018-07-30 13:09:15 +10:00
Michael du Breuil
f25726fbb1
Plane: Remove unused ADC include
2018-07-17 09:29:50 +10:00
Peter Barker
85f339caae
Plane: remove annoying ice_update shim
2018-07-04 21:08:47 +01:00
Peter Barker
e404562544
Plane: remove vexing button_update shim
2018-07-04 21:08:47 +01:00
Peter Barker
c42fb6d797
Plane: remove pointless rangefinder_init shim function
2018-07-04 21:08:47 +01:00
Peter Barker
3bfa4c8678
Plane: use singletons in AP_Arming
2018-07-03 13:44:11 +10:00
Andrew Tridgell
bc503cc600
Plane: moved OSD to top level params
...
this is to give lots of depth for OSD params (which will be very
complex)
2018-06-27 14:55:00 +10:00
Alexander Malishev
75bf6984f5
Plane: added OSD support
2018-06-27 14:55:00 +10:00
Michael du Breuil
1c276e6af7
Plane: Remove unneeded wrapper functions
...
Also removes unneeded battery failsafe flag clearing
2018-06-27 11:39:35 +10:00
Peter Barker
f5e241af01
Plane: option to force arm, bypassing checks
2018-06-20 11:43:38 +10:00
Peter Barker
2b7f9247e8
Plane: use AP_FWVersion singleton
2018-06-18 19:10:37 +01:00
Michael du Breuil
12da35220c
Plane: Simplify radio trimming, improve MAVLink report
2018-06-11 16:29:36 -07:00
Peter Barker
22306c370b
Plane: factor out a Plane::set_home
2018-05-29 14:38:45 +10:00