Commit Graph

353 Commits

Author SHA1 Message Date
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
Andrew Tridgell
2a81792b41 Plane: don't disable compass on one bad reading
the compass can go back for a short time and recover

found by Michael
2017-11-28 09:02:24 +11:00
Michael du Breuil
9720fcb8cc Plane: Only update home when not armed, rather then not soft armed
Plane supports being armed, in takeoff logic and not spinning the motor
until the moment the safety button has been pressed. Unfortunately
because the safety button is required to be pressed for soft arming this
results in the plane updating home position while the user moves the
vehicle or is holding it to throw the vehicle which will can result in
several meters of altitude error from where the user expected home to
be.

Because the normal approach to plane is to have activated the safety
button before arming the aircraft this is not expected to be a behaviour
change for most users, but an improvement for people who use the button
to initiate a takeoff.
2017-11-21 11:45:15 +11:00
Michael du Breuil
767018b1d4 Plane: Support unlocking cruise heading with rudder 2017-11-09 09:39:44 +11:00
Tom Pittenger
8029a7f10e
Plane: add Tom Pittenger to developers list
Plane: add Tom Pittenger to developers list. He was added to main Plane.h as "Lead Developer" here *https://github.com/ArduPilot/ardupilot/blob/master/ArduPlane/Plane.h#L2) but never to the main ArduPilot.c file.
2017-11-06 13:46:32 +01:00
Andrew Tridgell
9c8cd6c1cc Plane: added Q_TRANS_DECEL
this gives a deceleration rate for QRTL transition from RTL, and also
for transitions to QLOITER
2017-11-05 20:44:42 +11:00
Michael du Breuil
d52f5155f0 Plane: Rename rc failsafe state members 2017-11-02 16:46:08 -07:00
Andrew Tridgell
1085069851 Plane: use WP_LOITER_RAD if RTL_RADIUS is 0 for QRTL 2017-10-30 16:52:19 +11:00
Andrew Tridgell
aa430a6e2c Plane: use RTL_RADIUS for QRTL threshold
when Q_RTL_MODE=1 in a quadplane use RTL_RADIUS as the distance to
switch to QRTL mode. We navigate to the destination using direct
waypoint navigation instead of using a loiter circle.
2017-10-30 16:30:38 +11:00
Peter Barker
d49be616da Plane: call ins's periodic function 2017-10-27 16:33:45 +11:00
Tom Pittenger
8adacfeea3 Plane: always log MODE and include reason when logging is enabled 2017-10-25 21:18:29 +11:00
Lucas De Marchi
44ffb67837 ArduPlane: use FALLTHROUGH define
When falling through on a case switch, allow to add an empty statement
with the correct attribute to tell the compiler this behavior is
intended.
2017-08-22 23:59:13 -07:00
Peter Barker
1a665280e9 Plane: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker
2fb46a67dd Plane: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Michael du Breuil
f87a69dcf2 Plane: Throttle based landing aborts should ask the landing library
Throttle based aborts should be requesting a go around from AP_Landing.
This was missed in the initial port.
2017-07-17 08:43:50 -07:00
Peter Barker
c058fba5ac Plane: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Peter Barker
3b0a7703c4 Plane: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker
5a8f01c19c Plane: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker
949e07c7e3 Plane: use DataFlash should_log to determine raw IMU logging 2017-06-29 15:26:27 +01:00
Mark Whitehorn
6607dafc66 ArduPlane: change is_tailsitter() to tailsitter_active() 2017-06-07 20:21:49 +10:00
Mark Whitehorn
53b82d1d4d ArduPlane: add comments on tailsitter pitch limits 2017-06-07 20:21:49 +10:00
Mark Whitehorn
65755454e0 ArduPlane: set tailsitter VTOL pitch limits using only Q_ANGLE_MAX 2017-06-07 20:21:49 +10:00
Michael du Breuil
92d505598b ArduPlane: Poll AP_Landing for fly forward information 2017-05-15 14:50:29 -07:00
Peter Barker
378015691b Plane: stop appending lf to PERF message 2017-05-01 16:21:55 +01:00
Andrew Tridgell
351304ebcb Plane: don't set fly-forward when transitioning
when quad motors are providing assistance don't see the fly-forward
flag in the AHRS. This will lower the chance of EKF yaw confusion
2017-05-01 14:27:45 +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
Eugene Shamaev
ca84ab36be Plane: AOA and SSA estimations are added to parameters and data logs 2017-04-19 20:48:42 +10:00
Andrew Tridgell
17ba8b3304 Plane: raise logging rate for PID and servos 2017-04-09 16:45:19 +10:00
Andrey Kolobov
35d406aeab Plane: added a soaring controller to Arduplane 2017-03-14 08:53:10 +11:00
Michael du Breuil
1bb806edb2 Plane: Use new landing interfaces 2017-03-02 12:38:59 +11:00
Andrew Tridgell
3bb25eb194 Plane: added Q_TAILSIT_INPUT
this allows the user to control tailsitters either in body frame (like
a plane) or in earth frame (like a multicopter). This is useful for
people wanting to learn to fly prop-hang on 3D planes
2017-02-26 09:20:13 +11:00
Andrew Tridgell
c787f4c56f Plane: initial support for tailsitter transitions 2017-02-18 17:26:43 +11:00
Michael du Breuil
29b16dbafd Plane: Refactor to request relative altitudes from AHRS
Removes the need for plane to do the math for finding the relative height.

Also caches the value at the same time we update current_loc, which is a
non behaviour change as that was the only time you could see a change in
the relative height propegate through the system anyways
2017-02-13 09:23:14 +11:00
Tom Pittenger
1a34221db9 Plane: remove old commented code
- leftover from the AP_Landing stage refactor
2017-01-26 13:45:28 -08:00
Michael du Breuil
4cf1c74c62 AP_Landing + Plane: Check for land complete before requesting disarm 2017-01-26 13:11:44 -08:00
Tom Pittenger
2ccd91d88f AP_Landing: rename stage enum 2017-01-26 13:11:44 -08: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
Michael du Breuil
3e66dd10d7 Plane: Move landing stages inside AP_Landing and refactor 2017-01-26 13:11:44 -08:00
Tom Pittenger
6c0296ba13 AP_Landing: shadow copy of plane flight_stage into landing
.. and describe stages without using specific stage name
2017-01-26 13:11:43 -08:00
Randy Mackay
fc4741395d Plane: notify initialised after parameters loaded 2017-01-23 15:07:21 -08:00
Andrew Tridgell
081909bf6a Plane: removed use of pwm_to_angle() 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
063f517424 Plane, TECS, AP_Landing: rename stage LAND_ABORT to ABORT_LAND
this will reduce confusion when searching for FLIGHT_LAND_* and you get a bunch of takeoff related hits. It will also make more sense when the landing library fully manages the FLIGHT_LAND stage entirely because it will not mange FLIGHT_LAND_ABORT
2016-12-30 23:50:03 -08: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
84e11fd899 Plane, AP_TECS: do not pass auto_land flag to TECS, it already knows it 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
b7b56b94a3 Plane: convert landing.complete to landing.is_complete() 2016-12-14 04:32:30 -08:00
Tom Pittenger
4b683edac9 Plane: simplified logic where landing complete overrides the calc value 2016-12-14 04:32:30 -08:00
Tom Pittenger
83f0a8114b Plane: use a common reset for uniform landing wipe 2016-12-14 04:32:30 -08:00
Tom Pittenger
8c1509ad47 Plane: abstract land abort request method 2016-12-14 04:32:30 -08:00
Randy Mackay
c3b6fd4315 Plane: fix suppressing comment for case fall through
No functional change
eclipse stops complaining if no-break is used in place of fall-through
2016-12-14 13:22:15 +09:00
Tom Pittenger
a3ccca17ff Plane: use fabsf instead of fabs 2016-12-06 17:38:47 -08:00
Peter Barker
669dc01b67 Plane: correct on_flight_line landing stage check 2016-12-06 03:24:41 -08:00
Tom Pittenger
9dd46aa03a Plane: post msg if aborting via throttle
fixes https://github.com/ArduPilot/ardupilot/issues/4906
2016-12-02 17:40:01 -08:00
Peter Barker
17f5ef4610 Plane: inform dataflash of vehicle arm state 2016-11-28 09:42:09 -08:00
Tom Pittenger
dc85ffa834 Plane: move jump_to_landing_sequence() to AP_Mission 2016-11-25 19:07:30 -08:00
Tom Pittenger
ac1dced3bf Plane: set landing params as private and use accessors 2016-11-25 19:07:30 -08:00
Tom Pittenger
e919afad1e Plane: update comment and remove redundant work
- update_flight_stage is already called within restart_landing_sequence()
2016-11-25 19:07:30 -08:00
Tom Pittenger
fc2f518f31 Plane: revert auto_state.checked_for_autoland back to Plane 2016-11-25 19:07:30 -08:00
Tom Pittenger
9a79b79f1e AP_Landing: port more from plane 2016-11-25 19:07:30 -08:00
Tom Pittenger
5dbb2d4c2a Plane: move two functions out of landing.cpp
- these two functions will be hard to port to AP_Landing due to complex dependancies so we'll defer them by moving them ArduPlane.cpp
2016-11-25 19:07:30 -08:00
Tom Pittenger
d2376b7c8b Plane: migrate two helper functions to AP_Landing
- move functions restart_landing_sequence() and jump_to_landing_sequence() to AP_Landing
- NOTE: jump_to function can not set mode, so it is now done externally in vehicle
2016-11-25 19:07:30 -08:00
Tom Pittenger
896b931a7c Plane: Move auto_state variables to AP_landing members 2016-11-25 19:07:30 -08:00
floaledm
bae9ce20c1 Plane: update sensor status error flags independently of sending a sys_status message 2016-11-02 08:36:58 +11:00
murata
ab99ea54eb Plane: To nullptr from NULL. 2016-10-29 10:32:05 -03:00
Peter Barker
98ae6c776a Plane: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09:00
Andrew Tridgell
b65c559558 Plane: updates for EKF API changes 2016-10-27 17:09:06 +11:00
priseborough
72db2ebd81 Plane: Add compensation for optical flow sensor body position offset 2016-10-27 14:54:42 +11:00
Mathieu OTHACEHE
152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Ferrin Benjamin Katz
38581669ec Plane: slow down home update
Moved the code theat updates the home position while the aircraft is
unarmed from 10hz loop to one second loop and ensured that is does not
update more then once every 5 seconds. Closes issue 4311.
2016-10-17 09:50:25 +11:00
murata
2f18d1de73 Plane: To add a judgment of 0 degrees longitude. 2016-10-04 08:15:23 -07:00
Andrew Tridgell
9b83781b4f Plane: fixed mixer arming error with FMUv4
thanks to Tim Gold for reporting this
2016-09-11 08:25:40 +10:00
floaledm
71921f3aa4 Plane: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10:00
Tom Pittenger
b187e1f9a6 Plane: add reason to set_mode() 2016-08-17 22:38:54 -07:00
Tom Pittenger
285e41bac6 Plane: add avoidance_adsb framework for object avoidance 2016-08-17 22:38:54 -07:00
Tom Pittenger
ca32bcc58d Plane: add new flight mode AVOID_ADSB to mimic GUIDED 2016-08-17 22:38:54 -07:00
Tom Pittenger
c4460a285c Plane: remove adsb sensor library based avoidance
adsb based avoidance has been moved to AP_Avoidance library
2016-08-17 22:38:54 -07:00
Andrew Tridgell
adb5a3ee1f Plane: re-work AFS for new AP_AdvancedFailsafe API 2016-08-16 12:55:51 +10:00
Andrew Tridgell
5d6dfd927b Plane: changes for AP_AdvancedFailsafe naming 2016-08-16 12:55:50 +10:00
Tom Pittenger
f85fc7c1dc Plane: pass in max airspeed via function call instead of using aparm 2016-08-08 00:02:42 -07:00
Tom Pittenger
fc50f145ce Revert "ArduPlane: Convert references to AP_Airspeed. Added automatic migration of ARSPD_FBW_MIN and ARSPD_FBW_MAX (plane parameter) to ARSPD_FBW_MIN and ARSPD_FBW_MAX (library parameter)."
This reverts commit da1b18d918.
2016-08-07 17:54:24 -07:00
AndersonRayner
da1b18d918 ArduPlane: Convert references to AP_Airspeed. Added automatic migration of ARSPD_FBW_MIN and ARSPD_FBW_MAX (plane parameter) to ARSPD_FBW_MIN and ARSPD_FBW_MAX (library parameter). 2016-08-04 10:09:04 -07:00
Andrew Tridgell
327a057ee0 Plane: added internal combustion engine support
this allows for automatic engine start and restart
2016-07-25 10:06:03 +10:00
Andrew Tridgell
3f0a8d1761 Plane: added AP_Button support for plane
this also adds the g2 parameter table
2016-07-22 15:01:20 +10:00
Tom Pittenger
3177dc2f31 Plane: ADSB service needs to run at 10Hz for dynamic ADSB data 2016-07-20 22:46:51 -07:00
Tom Pittenger
ab38b12f2c Plane: adsb specific status updates 2016-07-20 22:40:14 -07:00
Andrew Tridgell
4da3236c07 Plane: separate out landing height adjustment from barometer changes
this stores a landing height adjustment for an aborted landing
without adjusting barometer readings, applying them only on landing
2016-07-20 22:04:21 -07:00
Andrew Tridgell
1256c2f351 Plane: changed for AP_Vehicle API change 2016-06-24 11:39:23 +10:00
Andrew Tridgell
f514e76f52 Plane: reset ground_start_count if we lose 3D fix
thanks to Michael for this suggestion
2016-06-22 21:25:11 +10:00
Andrew Tridgell
40db90cebe Plane: limit roll and pitch to Q_ANGLE_MAX in Q modes
planes often have large LIM_ROLL_CD
2016-06-16 22:00:04 +10:00
Michael du Breuil
bb9086b87f Plane: setup mixer in the one second loop when disarmed 2016-06-06 15:17:37 +10:00