Commit Graph

345 Commits

Author SHA1 Message Date
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
Paul Riseborough
0efdb2b66b ArduPlane: Send default airspeed to estimators 2020-04-24 09:43:23 +10:00
Samuel Tabor
684ee11fc3 AP_TECS: Add flags to indicate gliding flight, and use these with AP_Soaring. 2020-04-08 09:11:54 +10:00
Andrew Tridgell
9f92aad711 Plane: implement get and set target location 2020-03-12 08:36:40 +11:00
Randy Mackay
f2ab428cdd Plane: rename update_throttle_mix
was called update_throttle_thr_mix
also minor format fixes
2020-02-25 16:52:40 +09:00
Gone4Dirt
e02a9890b3 Plane: force mission resume on RTL when DO_LAND_START in mission 2020-02-25 10:05:12 +11:00
Peter Barker
74dbcac40e ArduPlane: log disarm method 2020-02-22 12:16:29 +11:00
Andy Piper
04792b23a9 ArduPlane: add gyro fft logging 2020-02-22 11:15:37 +11:00
Peter Barker
58d45ef04a Plane: let AP_Vehicle handle loop() 2020-02-06 14:41:06 +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
de423a945f Plane: move rssi initialisation into init_ardupilot
This makes it the same as Rover and Copter.
2020-01-28 11:34:51 +11:00
Peter Barker
33a0e55b32 Plane: correct duplicate button instance 2019-12-10 09:29:52 +09:00
Peter Barker
a567e8bc94 Copter: use https:// scheme for ardupilot URLs 2019-12-10 07:53:46 +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
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
b12f620233 Plane: fix format string warnings 2019-09-02 21:00:59 +10:00
Peter Barker
2768d229ed Plane: stop updating sensor status flags
These are updated as required in the gcs library itself.
2019-08-17 17:45:03 +10:00
Peter Barker
20626a1fe1 Plane: move automatic declination setting into AP_Compass itself 2019-08-13 10:02:13 +10:00
Michael du Breuil
22598b1a4b Plane: Reduce inerital nav dependence 2019-07-16 12:11:42 +09:00
Peter Barker
fb2422e496 Plane: stop setting eas2tas in AirSpeed - it can work it out itself 2019-06-06 12:44:36 +10:00
Peter Barker
13f7022cec Plane: move Arming functions into AP_Arming file 2019-05-30 16:02:10 +09: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
08d5e7d4ae Plane: move heartbeat sending to gcs instead of by vehicles 2019-05-14 10:54:45 -06: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
14a8bf3aec Plane: move responsibility for logging into library 2019-04-23 10:06:17 +10:00
Peter Barker
ad16f31e11 Plane: call compass cal routine directly from sched table 2019-04-23 10:06:17 +10:00
Pierre Kancir
65b4ba0539 ArduPlane: use past_interval_finish_line and line_path_proportion from Location 2019-04-23 09:20:43 +10:00
Peter Barker
3a4cbdd41f Plane: remove pointless update_notify shim 2019-04-11 05:31:43 -07:00
Michael du Breuil
35bd143532 Plane: Update GPS before updating current_loc
Fixes 20ms of extra induced lag on the DCM position estimate
2019-04-05 23:08:24 -07: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
0270c57530 Plane: massive refactor and creation of Mode class 2019-04-02 16:28:52 +11:00
Peter Barker
73707077b5 Plane: move enabled parameter into compass library 2019-04-02 10:24:49 +11:00
Peter Barker
f004765494 Plane: fix incorrect misleading comment 2019-03-31 18:35:53 -07: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
Mark Whitehorn
487ad7a90f Plane: add QACRO mode for quadplanes
use acro_r/p/y_rate params in qacro
port ACRO throttle handling from copter

handle non-tailsitter controls
2019-03-05 10:13:20 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
f430fd14f6 Plane: replace location_offset() and get_distance() function calls with Location object member function calls
This allows removing duplicated code
2019-02-28 11:44:09 +11:00
Peter Barker
dea75a87fd Plane: AHRS set_orientation renamed to update_orientation 2019-02-26 10:28:09 +11:00
Peter Barker
34853fb1bf Plane: move update_sensor_status_flags into GCS subclasses 2019-02-19 14:09:59 +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
Michael du Breuil
df1632054e Plane: Update throttle mix 2019-02-05 11:05:54 +11:00
Peter Barker
40856fef56 Plane: remove vestiges of old PX4_MIXER code 2019-01-19 19:31:03 +11:00
Peter Barker
6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker
b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker
76b31f315a Plane: log_terrain_data no longer takes a DataFlash argument 2019-01-18 11:17:40 +11:00
Michael du Breuil
843c92ced5 Plane: Remove some redundant code/state resets 2019-01-15 10:45:50 +11:00
Andrew Tridgell
f35cebcca4 Plane: fixed EKF yaw reset
we need to do the yaw reset before updating the rest of quadplane, or
it is not effective

thanks to Leonard for noticing the bug!
2019-01-14 08:32:17 +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
153228bef5 Plane: call GCS update functions at quadcopter main loop rate 2018-12-10 12:52:41 +09:00
Peter Barker
7f5c0db949 Plane: adjust for new update entry points into GCS 2018-12-10 12:52:41 +09:00
IamPete1
c6e70c0454 Plane: add roll limit for tailsitters
Quadplane: add tailsitter pitch params
2018-12-01 09:40:07 +11: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
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
Andrew Tridgell
432d786f82 Plane: pass height to landing gear update 2018-11-10 21:24:19 +11:00
Eugene Shamaev
01178a75e9 Plane: added landing gear support 2018-11-09 14:35:14 +11:00
Andrew Tridgell
f2b8067023 Plane: pass manual_rc_mask to iocmu mixer 2018-11-07 07:35:45 +11:00
Andrew Tridgell
c3d434bc35 Plane: pass mixing gain to iomcu 2018-11-07 07:35:45 +11:00
Andrew Tridgell
d5c29fc57e Plane: use IOMCU mixing if available 2018-11-07 07:35:45 +11: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
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
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
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
4502fd21c3 Plane: use compass singleton for logging 2018-07-04 20:11:27 +01: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
9824832523 Plane: use AP_RTC
Plane: AP_GPS now sets the system time directly
2018-06-15 08:01:22 +10:00
Peter Barker
bc9df01d21 Plane: remove sending of statustext for home location 2018-05-29 14:38:45 +10:00
Peter Barker
22306c370b Plane: factor out a Plane::set_home 2018-05-29 14:38:45 +10:00
Tom Pittenger
4dca1c48f2 Plane: update vehicle max_speed to ADSB library 2018-05-23 14:02:45 -07:00
Michael du Breuil
b479f3760a Plane: Remove some unneeded logging indirection
Saves 32 bytes on make px4-v2
2018-05-16 20:34:00 +10:00
Peter Barker
eb026e0a5f Plane: correct compilation when logging is disabled 2018-05-10 17:55:13 +09:00
Peter Barker
68497f27fa Plane: move try_send_message handling of RC_CHANNELS up 2018-05-08 12:33:32 +01:00
Peter Barker
5ef417a669 Plane: GPS now logs its own data 2018-04-18 13:50:55 +09:00
Peter Barker
2b54113334 Plane: Baro does its own dataflash logging 2018-04-12 19:12:12 +01:00
Michael du Breuil
3e4288d604 Plane: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Michael du Breuil
7405bb7b85 Plane: Support new battery failsafes 2018-03-27 22:12:21 +01:00
Peter Barker
7fd859da65 Plane: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
Peter Barker
7c86c4fe61 Plane: use ins singleton 2018-03-16 00:37:35 -07:00
night-ghost
98b8a61ca8 Plane: allow AP_Stats to be optional 2018-03-02 07:23:35 +11:00
David Ingraham
a6aeebad4b Plane: Add support for AP_Gripper 2018-03-01 14:14:43 +11:00
Andrew Tridgell
e6cebdecd1 Plane: use scheduler.get_last_loop_time_s() 2018-02-13 17:15:05 +11:00
Peter Barker
3859e5dfb1 Plane: eliminate update_perf_logging scheduler table shim 2018-02-13 17:15:05 +11:00
Andrew Tridgell
36660b2124 Plane: use filtered loop time 2018-02-13 17:15:05 +11:00
Peter Barker
4586b892f2 Plane: pass log-performance-bit at init time rather than update time 2018-02-13 17:15:05 +11:00
Peter Barker
8cae776448 Plane: move logging of PM and PERF messages to AP_Scheduler 2018-02-13 17:15:05 +11:00
Peter Barker
02540fdbf9 Plane: use AP_Scheduler's loop() function 2018-02-13 17:15:05 +11:00
Peter Barker
73092c3c30 Plane: use scheduler ticks in place of mainloop_count 2018-02-13 17:15:05 +11:00
Peter Barker
519e6c31d2 Plane: use AP::PerfInfo library 2018-02-13 17:15:05 +11:00
Andrew Tridgell
2fb6113098 Plane: use AP:PerfInfo class 2018-02-10 10:50:22 +11:00
Andrew Tridgell
d1e11a5bde Plane: fixed build (remove learn_offsets call) 2018-02-08 17:36:33 +11:00
Tom Pittenger
512b327cd4 Plane: failsafe events to use enums instead of magical numbers : Non-functional change 2017-12-07 00:19:32 -08:00