Commit Graph

258 Commits

Author SHA1 Message Date
Tom Pittenger fbe483ccac Plane: gracefully-ish fail set_mode(qmode) 2019-04-02 16:28:52 +11:00
Tom Pittenger b8a44e6e52 Plane: rearranged some set_mode checks 2019-04-02 16:28:52 +11:00
Tom Pittenger 05774a8a5a Plane: fixed some rebase duplicate code. 2019-04-02 16:28:52 +11: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 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
Peter Barker d489d9a585 Plane: compass init never fails 2019-03-13 13:06:50 +11:00
Peter Barker ca7566fff9 Plane: use enum class for ArmingMethod and ArmingRequired 2019-03-12 19:48:14 +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
Michael du Breuil 5134af2298 Plane: Manage quadplane throttle during RC failsafe 2019-02-19 20:41:05 -07:00
Peter Barker 33541dcbf6 Plane: GCS_MAVLink takes care of mavlink capabilities 2019-02-19 13:14:52 +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 cfb3dfc4e5 Plane: AP_Frsky_Telem uses singletons 2019-02-12 17:53:23 +00: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
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 56675851b6 Plane: DataFlash uses AP_Mission singleton 2018-12-13 14:45:30 +09:00
Peter Barker a263364959 Plane: GCS_MAVLink uses dataflash singleton 2018-12-11 08:43:47 +09: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
Eugene Shamaev 01178a75e9 Plane: added landing gear support 2018-11-09 14:35:14 +11:00
Michael du Breuil 9e1b0de6b7 Plane: Make capability init consistent 2018-11-05 14:04:36 +11:00
Michael du Breuil 3aed07a83a Plane: Create a scripting object 2018-10-09 10:08:52 +11:00
Michael du Breuil 9ed5184d98 Plane: Remove unneeded ServoRelayEvent mask set 2018-08-20 21:31:06 -07:00
Peter Barker 9ce02bc504 Plane: minimal support for inheritting from RC_Channel 2018-08-01 12:11:30 +09:00
Michael du Breuil eea8267704 Plane: Update notify initilization 2018-08-01 09:22:09 +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 c42fb6d797 Plane: remove pointless rangefinder_init shim function 2018-07-04 21:08:47 +01:00
Lucas De Marchi 1a45aa12f5 AP_Param: warn on last pass only about unknown parameters
Do not warn about unknown parameters on the first pass, i.e. when
AP_Param:load_all() is called. This is because we may still not know
about dynamically loaded parameters. When we call the second (last)
time, we expect to already know all possible parameters, so print a
warning to both console and the debug terminal.
2018-06-28 10:18:19 -07: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
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
Andrew Tridgell ce73918873 Plane: fixed throttle_percentage for twin engine planes
there is no servo output for function 70 - use the scaled value
2018-05-21 14:39:56 +10:00
Peter Barker eb026e0a5f Plane: correct compilation when logging is disabled 2018-05-10 17:55:13 +09:00
night-ghost aa53832a70 ArduPlane: devo telemetry support (RX705/707) 2018-04-24 10:44:28 +10:00
Peter Barker 2b54113334 Plane: Baro does its own dataflash logging 2018-04-12 19:12:12 +01:00
Peter Barker 58d41e40d3 Plane: let GCS_MAVLink calibrate airspeed sensor
Also remove useless zero_airspeed function
2018-04-02 23:25:05 +01:00
Peter Barker 65893cfca5 Plane: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Michael du Breuil 7405bb7b85 Plane: Support new battery failsafes 2018-03-27 22:12:21 +01: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 2fb6113098 Plane: use AP:PerfInfo class 2018-02-10 10:50:22 +11:00
Tom Pittenger 39a200b83f Plane: allow control_mode enum to be in arbitrary order
never use control_mode >= BLAH. This requires the order to be important which greatly increases chance for unexpected behavior
Closes https://github.com/ArduPilot/ardupilot/issues/4656
2018-01-09 17:05:04 -08: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
Tom Pittenger 7271586a47 Plane: invert auto_state.no_crosstrack flag to be auto_state.crosstrack. Non-functional change 2017-11-23 09:25:18 -08:00
André Kjellstrup 1d27e21d83 Plane: Option to trig by distance only when in AUTO mode 2017-11-14 00:10:22 +00:00
Michael du Breuil d52f5155f0 Plane: Rename rc failsafe state members 2017-11-02 16:46:08 -07:00
Andrew Tridgell af893ddde7 Plane: implement Q_OPTIONS
this allows for NAV_TAKEOFF to be treated as NAV_VTOL_TAKEOFF in
quadplanes, and for level flight to be maintained during quadplane
transitions
2017-10-30 16:30:10 +11:00
Tom Pittenger 8adacfeea3 Plane: always log MODE and include reason when logging is enabled 2017-10-25 21:18:29 +11:00
Peter Barker 4ce051af82 Plane: ensure we're in short failsafe before using failsafe.ch3_timer_ms 2017-10-24 09:28:13 +11:00
Peter Barker 7feef72b34 Plane: improve failsafe notifications 2017-10-24 09:28:13 +11:00
Peter Barker 01d8c506d2 Plane: add option to entirely disable short failsafe 2017-10-24 09:28:13 +11:00
Lucas De Marchi f5c2ffffb9 global: remove DataFlash from AP_Mount::init() 2017-09-26 03:01:21 +01:00
Lucas De Marchi 36c80daa86 ArduPlane: do not include version.h/ap_version.h
The interface provided by each vehicle should be used to get the
version.
2017-09-23 21:37:45 -07:00
Peter Barker c15c1b84a4 Plane: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Andrew Tridgell d541ac509f Plane: removed TRIM_RC_AT_START parameter
this option caused a lot more problems than it solved, and is buggy
2017-08-29 07:35:49 +10:00
Peter Barker 8eeae45300 Plane: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Peter Barker 1a665280e9 Plane: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker fa39f315c6 Plane: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Peter Barker 5a8f01c19c Plane: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Eugene Shamaev b95ebadf8b ArduPlane: move of CAN parameters into separate group 2017-07-03 11:44:32 +01:00
Peter Barker 1ca5f243a5 Plane: check dataflash to see if we should log backend gps messages 2017-06-29 15:43:38 +01:00
Peter Barker 949e07c7e3 Plane: use DataFlash should_log to determine raw IMU logging 2017-06-29 15:26:27 +01:00
Peter Barker 88a7167cb9 Plane: move should_log check of log bitmask into DataFlash 2017-06-29 15:26:27 +01:00
Peter Barker 5b70b688cb Plane: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Peter Barker 30dfd32b87 Plane: stop using in_mavlink_delay as a proxy for disabling logging 2017-06-16 17:07:48 +01:00
Peter Barker b57a4e9685 Plane: call dataflash should_log method 2017-06-16 17:07:48 +01:00
Peter Barker 4dc241fd22 Plane: StartUnstartedLogging replaces logging_started/start_logging 2017-06-11 20:34:12 +01:00
Peter Barker 927cc75843 Plane: simplify should_log (NFC) 2017-06-11 20:34:12 +01:00
Peter Barker 084242cf03 Plane: move init of DataFlash references into vehicle init
It is possible to start a log before the existing codepath is crossed.
2017-05-01 15:04:34 +01:00
Andrew Tridgell 3eeff938b0 Plane: call BoardConfig.init_safety() at end of startup
this fixes a bug where motors can start on soft reboot
2017-04-30 21:47:04 +10:00
Andrew Tridgell 954905e0eb Plane: allow battery failsafe with usb connected
some people connect USB to allow connections from a companion
computer. The arming check is sufficient to prevent unwanted battery
failsafes when bench testing
2017-04-28 16:33:49 +10:00
Andrew Tridgell 516bf26719 Plane: fixed QRTL change when coming from loiter
the nav controller can think we have already reached the loiter target
if we were last in a LOITER when we switch to RTL. In that case it
would switch to QRTL immediately

found by Leonard (thanks!)
2017-04-24 16:28:59 +10:00
Andrey Kolobov 35d406aeab Plane: added a soaring controller to Arduplane 2017-03-14 08:53:10 +11:00
Michael du Breuil 9e893eacd1 Plane: Change some user facing statustexts 2017-03-08 00:59:56 -08:00
Andrew Tridgell abcc75009d Plane: move relay init earlier
allows relay pins to be used as pullups for other sensors (such as
LidarLiteV3)
2017-03-01 22:44:37 +11:00
Peter Barker 97145f20fc Plane: fix startup of CLI menu system 2017-02-20 00:06:23 -08:00
Peter Barker 1d7994e9ba Plane: create GCS_Plane subclass 2017-02-13 17:03:06 +11:00
Peter Barker 49bf336539 Plane: Support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker d060670ba3 Plane: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
murata 2492b9db7e Plane: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Tom Pittenger 650e694eb1 Plane: move landing.reset to landing.do_land() 2017-01-26 13:11:44 -08:00
Tom Pittenger 61bc0a6206 Plane: check stage==LAND instead of landing.in_progress 2017-01-26 13:11:44 -08:00
Randy Mackay fc4741395d Plane: notify initialised after parameters loaded 2017-01-23 15:07:21 -08:00
Randy Mackay fad2ba608f Plane: send flight mode string to Notify 2017-01-23 15:07:21 -08:00
Randy Mackay af514eb101 Copter: remove some comments 2017-01-23 15:07:20 -08:00
Dmitry Prokhorov 497a4bd4a5 ArduPlane: Support for OLED display by Alexey Kozin
https://github.com/ArduPilot/ardupilot/pull/5135
2017-01-23 15:07:20 -08:00
Andrew Tridgell 3338b4295e Plane: use reload_defaults_file() 2017-01-12 17:39:37 +11:00
Andrew Tridgell cb4ebdd7b4 Plane: fixed throttle_percentage()
thanks to Buzz for noticing!
2017-01-12 17:39:37 +11:00
Andrew Tridgell b83f50be0f Plane: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Tom Pittenger 04f32b6ec6 Plane: simplify flight stage landing check to use landing.in_progress 2016-12-30 23:50:03 -08:00
Tom Pittenger c286ceba43 Plane: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:03 -08:00
Tom Pittenger 83f0a8114b Plane: use a common reset for uniform landing wipe 2016-12-14 04:32:30 -08:00
Andrew Tridgell 3dcf4cfb55 Plane: removed resetting integrators on mode change
this removes the zero of roll, pitch and yaw integrator on mode
change, now only doing the steering integrator.

The zeroing was from the early days when our controllers were not as
good. It should not be needed any more.
2016-12-14 20:22:56 +11:00
Peter Barker 98b5ab4656 Plane: remove incorrect comment about logging/in_mavlink-delay 2016-11-29 15:14:09 -08:00
Peter Barker 17f5ef4610 Plane: inform dataflash of vehicle arm state 2016-11-28 09:42:09 -08:00