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
Tom Pittenger
a80a87eb09
Plane: simplify TECS prep logic by utilizing auto_state.land_in_progress
2016-05-31 09:46:52 -07:00
Tom Pittenger
4db5b80b37
Plane: add flag for auto_state.land_in_progress
2016-05-31 09:46:51 -07:00
Andrew Tridgell
be14714fa4
ArduPlane: update signing timestamp on GPS lock
2016-05-21 15:25:13 +10:00
Tom Pittenger
4a6dd5a781
Plane: reset baro drift when setting home while disarmed
2016-05-17 15:32:42 -07:00
Tom Pittenger
78d6291e2c
Plane: corrected land abort gcs msg
2016-05-13 17:22:13 -07:00
Tom Pittenger
6c0579a895
Plane: for better helical landings allow for instant approach stage if previous nav cmd was LOITER_TO_ALT
2016-05-13 17:22:07 -07:00
Andrew Tridgell
574ba71ef3
Plane: update for AP_TECS API change
2016-05-14 08:26:10 +10:00
Andrew Tridgell
12e0012b16
Plane: allow for NAV_LOITER_UNLIM and NAV_LOITER_TIME in quadplane
2016-05-11 15:57:41 +10:00
Andrew Tridgell
3fc43b94f9
Plane: separate out auto and guided VTOL states
...
this prevents a switch to AUTO from using VTOL mode incorrectly
2016-05-11 15:14:43 +10:00
Andrew Tridgell
691d4b6ca7
Plane: added local reached_loiter_target()
...
this distinguishes between VTOL and fixed wing loiter targets
2016-05-11 05:55:26 +10:00
Andrew Tridgell
6b358a5618
Plane: added Q_GUIDED_MODE parameter
...
this allows you to do hybrid VTOL and fixed wing guided mode
2016-05-11 05:55:25 +10:00
Andrew Tridgell
eab42c5740
Plane: fixed attitude logging with fast logging off
2016-05-11 05:55:24 +10:00
skyscraper
7f29903287
ArduPlane: Fix up after refactoring RC_Channel class
...
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to get and set functionsss
old public member(int16_t) get function -> int16_t set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in c.get_radio_in() c.set_radio_in(v)
c.control_in c.get_control_in() c.set_control_in(v)
c.servo_out c.get_servo_out() c.set_servo_out(v)
c.pwm_out c.get_pwm_out() // use existing
c.radio_out c.get_radio_out() c.set_radio_out(v)
c.radio_max c.get_radio_max() c.set_radio_max(v)
c.radio_min c.get_radio_min() c.set_radio_min(v)
c.radio_trim c.get_radio_trim() c.set_radio_trim(v);
c.min_max_configured() // return true if min and max are configured
Because data members of RC_Channels are now private and so cannot be written directly
some overloads are provided in the Plane classes to provide the old functionality
new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);
new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;
Rename functions
RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)
RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)
Rationale:
RC_Channel is a complicated class, which combines
several functionalities dealing with stick inputs
in pwm and logical units, logical and actual actuator
outputs, unit conversion etc, etc
The intent of this PR is to clarify existing use of
the class. At the basic level it should now be possible
to grep all places where private variable is set by
searching for the set_xx function.
(The wider purpose is to provide a more generic and
logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:16 +10:00
Andrew Tridgell
cbbf26a1f6
Plane: removed Log_Write_IMUDT
2016-05-07 18:27:20 +10:00
Andrew Tridgell
3bbc6353d8
Plane: use have_ekf_logging()
2016-05-07 18:27:20 +10:00
Andrew Tridgell
226e6f1d6c
Plane: only save compass offsets when disarmed and learning enabled
2016-04-30 16:43:14 +10:00
Andrew Tridgell
abfcf89f5e
Plane: reduced the rate of EKF and attitude logging to 25Hz
...
this will reduce the log file size while not appreciably reducing the
ability to analyse logs
2016-04-30 14:34:47 +10:00
Andrew Tridgell
0fd044c1f7
Plane: added Q_RTL_MODE parameter
...
used to switch to VTOL landing on RTL
2016-04-30 14:34:47 +10:00
Andrew Tridgell
4666b25258
Plane: initial implementation of QRTL for quadplane RTL
2016-04-30 14:34:47 +10:00
Michael du Breuil
731c68f273
Plane: Change mode to RTL on end of mission rather then staying in auto
...
Deleted commands_process as it had 2 lines of useful code left, and was cleaner to move the remaining two lines into the caller case
2016-04-29 13:12:18 +10:00
Luis Vale Gonçalves
73ac146b7e
Revising ardupilot.com to .org
...
Revising ardupilot.com to .org
2016-04-23 22:49:37 -07:00
Andrew Tridgell
07168c3db4
Plane: fixed places that assumed mission command IDs are 8 bit
2016-04-23 21:03:46 +10:00
James Stoyell
4e7e84fc99
Plane: Modified last_valid_rc_ms AFS failsafe input to work when standard failsafe is on
...
Ran into a bug on our physical plane where failsafe.last_valid_rc_ms was not recognizing that the transmitter had failed. This is likely due to how the standard failsafe works in receiving lower-than-possible throttle values. So in order to account for this, I added a new variable to the failsafe, AFS_last_valid_rc_ms, and I update it only if the ch3_failsafe (the throttle failsafe) is not on. If the throttle failsafe is on, that means that the plane has indeed lost transmitter input, so the AFS needs to recognize that.
2016-04-22 11:48:36 -07:00
Tom Pittenger
2ba9a04bf5
Plane: smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC
...
@Description: This parameter reduces the pitch minimum limit of an auto-takeoff just a few seconds before it reaches the target altitude. This reduces overshoot by allowing the flight controller to start leveling off a few seconds before reaching the target height. When set to zero, the mission pitch min is enforced all the way to and through the target altitude, otherwise the pitch min slowly reduces to zero in the final segment. This is the pitch_min, not the demand. The flight controller should still be commanding to gain altitude to finish the takeoff but with this param it is not forcing it higher than it wants to be. (+1 squashed commits)
2016-04-21 22:54:17 -07:00
Tom Pittenger
183369b92a
Plane: take advantage of L1 stale flag and correctly inhibit flight stage if not lined up on approach
2016-04-21 21:30:58 -07:00
Tom Pittenger
c5a3b1b134
Plane: non-functional change - change labels for approach flight stage criteria
2016-04-21 21:30:56 -07:00
Tom Pittenger
85913bd237
Plane: rely on flight stage to know if we're doing auto_land in TECS
2016-04-21 21:30:53 -07:00
Tom Pittenger
6a83ad419a
Plane: moved update_flight_stage() inside setup_glide_slope()
...
the glide_slope gets calculated every time there's a major event such as mission item change or wp_proportion change so its good to update the flight stage then too because.
also logging stage when stage changes, might as well get an extra data point in there when it's timely
2016-04-21 21:30:51 -07:00
Michael du Breuil
ef348473eb
Plane: Remove tecs_hgt_afe from the 50hz tecs update
2016-04-21 17:03:00 +10:00
Michael du Breuil
f5749b44cd
Plane: Move position update to 50hz loop rather then the 10hz
2016-04-21 16:53:20 +10:00
Andrew Tridgell
cf7b6123a9
Plane: log the number of lost log messages
2016-04-21 16:45:02 +10:00
Andrew Tridgell
8683616d8c
Plane: redo scheduler table and improve perf logging
...
The scheduler table was still setup for a worst case CPU of
AVR2560. Adjust times for the stm32 and improve perf logging
2016-04-21 16:45:02 +10:00
Andrew Tridgell
a7006a7784
Plane: refactor perf variables into a structure
2016-04-21 16:45:02 +10:00
Andrew Tridgell
97a7192f76
Plane: make it more obvious that AUTO_FBW_STEER is not for normal use
2016-04-06 07:58:23 +10:00
Andrew Tridgell
f4ccf94dfc
Plane: added QLAND mode
...
for VTOL landing. Use for failsafe as well
2016-03-09 18:20:41 +11:00
Tom Pittenger
9e452838ab
Plane: loiter missions to default to loiter_radius if mission says 0 or 1.
...
- except loiter_unlim which uses RTL_loiter, although I'm not sure why.
2016-02-29 10:12:20 -08:00
Andrew Tridgell
93ac82e1f6
Plane: write voltage/current much more frequently
2016-02-29 21:24:54 +11:00
Tom Pittenger
b8fc524954
Plane: enforce expected flight_stage in TECS
2016-02-25 06:37:24 -08:00
Tom Pittenger
a280396645
Plane: nonfunctional change, comment only. Units were in old in comment
2016-02-12 12:14:38 -08:00
Tom Pittenger
c837fbca2f
Plane: 3/3 new param TECS_LAND_SRC for Land Sink Rate Change
...
// @Description: When zero, the flare sink rate (TECS_LAND_SINK) is a fixed sink demand. With this enabled the flare sinkrate will increase/decrease the flare sink demand as you get further beyond the LAND waypoint. Has no effect before the waypoint. This value is added to TECS_LAND_SINK proportional to distance traveled after wp. With an increasing sink rate you can still land in a given distance if you're traveling too fast and cruise passed the land point. A positive value will force the plane to land sooner proportional to distance passed land point. A negative number will tell the plane to slowly climb allowing for a pitched-up stall landing. Recommend 0.2 as initial value.
2016-02-12 11:39:27 -08:00
Tom Pittenger
8ac6343730
Plane: removing mission_cmd in TECS and making it bool is_landing
...
this is reverse-thrust cleanup suggested by Tridge
2016-02-12 11:22:59 -08:00
Tom Pittenger
046741d23b
Plane: abort landing at 90% throttle instead of 95%
2016-02-08 21:13:43 -08:00
Tom Pittenger
b098466e87
Plane: reduce redundant logging of STAT from 6 Hz to 5 Hz
...
- STAT log entry was being done every 5 Hz plus at 1 Hz. This removes the 1Hz.
2016-02-08 21:13:12 -08:00
Tom Pittenger
66fcd8f58a
Plane: run is_crashed at 5hz instead of 1hz
2016-02-08 21:13:04 -08:00
Tom Pittenger
2e92089ce6
Plane: Reverse Thrust
...
Reverse thrust for controlled landings, even with much steeper approach slopes. This is achieved by allowing throttle demand to go negative to maintain a target airspeed. A Pre-Flare stage was added, triggered by an altitude, to allow for a slower airspeed just before land. That lower airspeed can be near stall.
new params LAND_PF_ALT, LAND_PF_SEC, LAND_PF_ARSPD, USE_REV_THRUST
2016-02-09 14:18:02 +11:00
Tom Pittenger
b8d5369ebd
Plane: add flight stage LAND_PREFLARE
2016-02-09 14:18:02 +11:00
Andrew Tridgell
d82c8dcd6d
ArduPlane: update for changed AP_Camera API
2016-01-29 09:19:44 +11:00
Dario Lindo Andres
9bba55f937
ArduPlane: Added precise camera trigger logging
...
Added update_trigger and check_digital_pin functions
added camera trigger precise time mark
detect camera feedback pin status
added support for simple digital pin
included support for digital pin. Already included in
added support for TRIGGER MSG
2016-01-29 09:19:43 +11:00
Andrew Tridgell
69b2421563
Plane: ensure TECS is updated at 10Hz only
2016-01-20 17:23:36 +11:00
Andrew Tridgell
23eef91c59
Plane: added parameter RTL_RADIUS
...
this allows the loiter radius for RTL to be controlled separately from
the radius for loiter (as requested by a user)
2016-01-19 15:04:30 +11:00
Andrew Tridgell
418464ab8c
Plane: added quadplane version of is_flying()
2016-01-09 07:38:53 +11:00
Andrew Tridgell
5e784ddb5c
Plane: consider flying status for throttle_wait
2016-01-09 07:38:53 +11:00
Andrew Tridgell
7afa2a493d
Plane: implement VTOL flight stage
2016-01-09 07:38:53 +11:00
Andrew Tridgell
0d6b353bcb
Plane: added quad assistance and auto support for quadplane
2016-01-09 07:38:52 +11:00
Andrew Tridgell
2983576067
Plane: added QLOITER mode
...
quadplane loiter
2016-01-09 07:38:52 +11:00
Andrew Tridgell
ca85c332d6
Plane: separate QSTABILIZE and QHOVER modes
2016-01-09 07:38:52 +11:00
Andrew Tridgell
6468fc6d93
Plane: Initial implementation of quadplane
...
adds "HOVER" mode
2016-01-09 07:38:52 +11:00