Andrew Tridgell
6a90257d2a
Plane: fixed attitude logging for tailsitters
2017-03-31 11:30:44 +11:00
Andrew Tridgell
c76eadf4f6
Plane: add available memory to PM message
2017-03-27 14:35:21 +09:00
Andrew Tridgell
5d06e4238f
Plane: make the quadplane motors var_info dynamic
...
this will allow for more quadplane motors class types
2017-03-25 16:22:10 +11:00
Michael du Breuil
649ef0fc16
Plane: Only consider a takeoff as begun if the safety switch has been pressed
2017-03-23 16:55:47 -07:00
Andrew Tridgell
af97a3974b
Plane: initialise target height correctly on quadplane transition
...
this fixes a bug where a plane in QSTABILIZE would drop suddenly if
switched to FBWA when the target altitude had not been initialised
2017-03-22 21:34:40 +11:00
Andrew Tridgell
bb158a437e
Plane: handle bad Q_FRAME_CLASS
...
default to quad with a warning. This prevents users getting stuck
without being able to set Q_ENABLE=1
thanks to Leonard for noticing
2017-03-18 22:10:20 +11:00
Andrew Tridgell
e3a8d477f5
Plane: improve tiltrotor transition strategy
...
avoid running forward motors at high throttle when transitioning to a
VTOL mode
2017-03-14 14:42:20 +11:00
Andrew Tridgell
3f7e7d456f
Plane: in fixed wing mode slave quadplane attitude rate controller
...
For quadplanes this uses the attitude controller from fixed wing
when using the multicopter controller to assist fixed wing
flight. This prevents a rate mismatch between the two controller
leading to oscillation
2017-03-14 14:42:20 +11:00
Andrew Tridgell
2db8589f49
Plane: smarter Z controller initialisation for quadplanes
...
this is more generic than the previous one used only for the full
position controller
2017-03-14 14:42:20 +11:00
Andrew Tridgell
dd4f56dd98
Plane: added PIQ messages for quadplane PIDs
...
keep them separate from fixed wing PIDs, so we can watch the
interaction between the PIDs in transitions
2017-03-14 14:42:20 +11:00
Andrew Tridgell
0e175179a6
Plane: log home and origin on logging start
2017-03-14 10:51:15 +11: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
Michael du Breuil
041fe38ba6
Plane: Update build tools for deepstall PID dependency
2017-03-02 12:38:59 +11:00
Michael du Breuil
cf10b7b841
Plane: Add support for landing PID's and servo control
2017-03-02 12:38:59 +11:00
Michael du Breuil
1bb806edb2
Plane: Use new landing interfaces
2017-03-02 12:38:59 +11: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
Randy Mackay
eb746eaeef
Plane: fix SYSID_ENFORCE parameter description
2017-02-28 15:08:17 +09:00
Michael du Breuil
fbf6050876
Plane: Reset home to AHRS position rather then snapshotting GPS
2017-02-28 11:33:53 +11:00
Randy Mackay
c0f155fd27
Plane: use only downward facing rangefinder
2017-02-27 15:18:25 +09:00
Andrew Tridgell
4ff5bf5af5
Plane: zero integrators and set throttle mix
...
this zeros fixed wing integrators during TRANSITION_AIRSPEED_WAIT and
uses a zero throttle mix during TRANSITION_TIMER. This should allow
the fixed wing controller more time to adapt to forward flight
2017-02-26 09:20:51 +11:00
Andrew Tridgell
c061d5615b
Plane: added manual input mask for tailsitter prop-hang
...
This adds new parameters Q_TAILSIT_MASK and Q_TAILSIT_MASKCH. These
parameters allow a user to use the tailsitter capabilities of a 3D
plane to teach themselves to prop-hang.
It works by allowing the user to setup a switch on their transmitter
to enable manual pass-thru of a set of the input channels to outputs
when in tailsitter hover. The user can then use that switch to allow
learning of hover control in a 3D plane one channel (or two channels)
at a time.
2017-02-26 09:20:13 +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
ea5186340b
Plane: added Q_TILT_RATE_UP and Q_TILT_RATE_DN as separate parameters
...
allow control of tilt rate separately for UP and DOWN
always allow at least 90 degrees/second for switching to MANUAL
2017-02-25 17:53:26 +11:00
Tom Pittenger
4ccd59f394
Plane: allow exiting loiter_to_alt in cases where you get stuck
...
- check for scenarios where updrafts can keep you from loitering down indefinitely.
2017-02-23 05:15:49 -08:00
Andrew Tridgell
a4c5247fba
Plane: prepare 3.8.0-beta3
...
key fix is the servo slew rate bug
2017-02-22 07:25:47 +11:00
Tom Pittenger
69a10042eb
Plane: always stream RPM data over mavlink when enabled
2017-02-21 11:16:27 -08:00
Tom Pittenger
67486dc3f0
Plane: always log RPM when enabled
2017-02-21 04:20:01 -08:00
Peter Barker
97145f20fc
Plane: fix startup of CLI menu system
2017-02-20 00:06:23 -08:00
Andrew Tridgell
07ab04897d
Plane: reset roll/pitch integrators while tailsitter active
...
this prevents integrator buildup while flying in hover
2017-02-18 22:23:58 +11:00
Andrew Tridgell
b3380ecfa7
Plane: support twin-engine planes
...
with differential thrust for yaw
2017-02-18 17:26:43 +11:00
Andrew Tridgell
e8b11924f8
Plane: split out the tailsitter transition complete code
...
use both roll and pitch to trigger completion of transition. This
copes with situations where the plane has managed to get itself rolled
over far enough that it can't recover into hover
2017-02-18 17:26:43 +11:00
Andrew Tridgell
d5a3f844f1
Plane: changes for AC_WPNav
2017-02-18 17:26:43 +11:00
Andrew Tridgell
c787f4c56f
Plane: initial support for tailsitter transitions
2017-02-18 17:26:43 +11:00
Andrew Tridgell
83f3cee99e
Plane: initial hooks for tailsitter support
2017-02-18 17:26:43 +11:00
Andrew Tridgell
4e4f5a7ac9
Plane: allow tailsitters to takeoff with any attitude
2017-02-18 17:26:43 +11:00
Andrew Tridgell
0fc04b0158
Plane: setup plane frame type parameter flags
2017-02-14 19:50:01 +11:00
Andrew Tridgell
c294519925
Plane: lower default Q_M_SPOOL_TIME to 0.25
2017-02-14 09:23:17 +09:00
Peter Barker
1d7994e9ba
Plane: create GCS_Plane subclass
2017-02-13 17:03:06 +11:00
Peter Barker
98c4b48161
Plane: not in log download upon log erase
...
erase is a synchronous operation
2017-02-13 11:36:16 +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
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
Michael du Breuil
f183a2618f
Plane: Don't lock home altitude to AHRS origin
2017-02-13 09:23:14 +11:00
Michael du Breuil
7a1cbf76d3
Plane: Remove ALT_MIX
...
Closes #4998 , and fix a tab/spaces error on the previous parameter
2017-02-13 09:18:52 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas
c4419739c4
Plane: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is
2017-02-07 11:41:12 +11:00
Andrew Tridgell
90d9e74054
Plane: fixed parameter path
2017-02-06 15:12:32 +11:00
Andrew Tridgell
287614b415
Plane: fixed auto-takeoff throttle trigger for inverted launch
...
quite an unusual setup, but has been done :-)
2017-02-01 16:31:49 -08:00
Tom Pittenger
9abb0bba7f
Plane: use abs() instead of labs() for int16
2017-01-30 10:43:54 -08:00
Michael du Breuil
2326eee9a0
Plane: Move loiter_radius to vehicle
2017-01-30 10:43:54 -08:00
Andrew Tridgell
5baf37f7a3
Plane: release 3.8.0beta2
2017-01-30 10:29:01 +11:00
priseborough
013eb254a2
Plane: use standard unit descriptor for milliseconds
2017-01-27 16:57:42 +09:00
murata
2492b9db7e
Plane: Unify from print or println to printf.
2017-01-27 18:20:22 +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
Tom Pittenger
bdafc2c025
AP_Landing: re/move complete flag into backend
...
the complete flag was only ever true during FLIGHT_LAND_FINAL so we just check for that now instead
2017-01-26 13:11:45 -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
b570c11e26
AP_Landing: allow separate handling for verify_land() vs verify_abort()
2017-01-26 13:11:43 -08:00
Tom Pittenger
e709705ab8
Plane: describe flight stages without using specific stage name
2017-01-26 13:11:43 -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
Andrew Tridgell
07cedd8a66
Plane: prevent stability shutdown in transition
...
this prevents the vertical motors from shutting down while
transitioning if the desired throttle was too low at the start of the
transition
2017-01-25 19:01:15 +11:00
Andrew Tridgell
0d4405106f
Plane: removed forcing of trim for motors in quadplane
...
this caused problems with tricopter tail servos
2017-01-25 19:01:15 +11:00
Andrew Tridgell
5c820adad4
Plane: fixed tilt transition with binary tilt servo
...
once the tilt is fully fwd then force transition as done at any
airspeed
2017-01-25 19:01:15 +11:00
Andrew Tridgell
586f8a9ca8
Plane: fixes for tilt quadplane after rebase
2017-01-25 19:01:15 +11:00
Andrew Tridgell
2feaa9926c
Plane: prevent fwd motor when throttle in dead zone for tiltrotor
...
otherwise we end up with the SPIN_ARMED value
2017-01-25 19:01:15 +11:00
Andrew Tridgell
54bca768b8
Plane: added Q_TILT_TYPE for retract servo tiltrotors
2017-01-25 19:01:15 +11:00
Michael du Breuil
f017073077
Plane: Report battery failsafes via sys_status
2017-01-25 09:26:19 +09: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
Randy Mackay
e906310b71
Plane: rudder_arming moved to AP_Arming_Plane
2017-01-17 11:45:08 +09:00
Randy Mackay
7cc8b7232c
Plane: rename arming_checks to AP_Arming
2017-01-17 11:45:08 +09:00
Peter Barker
fc28beacea
Plane: AP_Arming: use callback in place of variable reference for home state
2017-01-17 11:45:08 +09:00
Tom Pittenger
b8784e2c4a
Plane: do not crosstrack after a land abort
2017-01-12 15:21:34 -08:00
Andrew Tridgell
3338b4295e
Plane: use reload_defaults_file()
2017-01-12 17:39:37 +11:00
Andrew Tridgell
2f100b0804
Plane: removed separate tricopter quadplane build
...
can all be done with one build now
2017-01-12 17:39:37 +11:00
Andrew Tridgell
68504dbcbb
Plane: auto-upgrade old parameters for SRV_Channel split
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
6b4e5304cf
Plane: fixed mixer outputs
2017-01-12 17:39:37 +11:00
Andrew Tridgell
1879eddfa0
Plane: adjust for limit_slew_rate API change
2017-01-12 17:39:37 +11: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
9a250c3bf4
Plane: clarify some variable names and protect against divide-by-zero
2017-01-06 17:35:44 -08:00
Eugene Shamaev
ac2880db7c
Plane: waypoint logic change for overflow/underflow
2017-01-06 17:35:44 -08:00
Peter Barker
af9729c126
Plane: correct compilation when parachute disabled
2017-01-02 20:39:03 -08:00
Peter Barker
d40187fac7
Plane: correct compilation when geofence disabled
2017-01-03 00:37:28 +00:00
Peter Barker
4865bec871
Plane: correct compilation when logging disabled
2017-01-02 16:01:29 +09: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
90b2458a27
Plane: remove redundant flightstage update
2016-12-30 23:44:20 -08:00
Andrew Tridgell
1c4bf77cf6
Plane: added custom conversion of Q_FRAME_CLASS parameter
2016-12-31 10:56:01 +09:00
Randy Mackay
934ef55338
Plane: quadplane instantiates motor matrix outside of case
...
Thanks to khancyr for noticing this
2016-12-31 10:55:23 +09:00
Randy Mackay
c6dec5c3f6
Plane: quad plane uses consolidated multicopter classes
2016-12-31 10:55:23 +09:00
Andrew Tridgell
4cf509a693
Plane: fixed EKF3 logging
2016-12-19 08:07:14 +11:00
priseborough
38ad778ff1
make.inc: Add EKF3 and remove EKF1 library from make.inc files
2016-12-19 08:07:10 +11:00
priseborough
38a0e8a6ae
ArduPlane: Add EKF3 and remove EKF1
2016-12-19 08:07:09 +11: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
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
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
Randy Mackay
4efbc29490
Plane: pass HIL_GPS to gps driver
2016-12-08 15:52:26 +09:00
Tom Pittenger
a3ccca17ff
Plane: use fabsf instead of fabs
2016-12-06 17:38:47 -08:00
Tom Pittenger
b299b9c0bb
Plane: abstract out init_start_nav_cnd work to landing lib
...
This reverts commit 1380a35f70
.
2016-12-06 03:45:14 -08:00
Peter Barker
669dc01b67
Plane: correct on_flight_line landing stage check
2016-12-06 03:24:41 -08:00
Andrew Tridgell
1380a35f70
Revert "Plane: abstract out init_start_nav_cnd work to landing lib"
...
This reverts commit e2288d5262
.
doesn't build
2016-12-06 17:32:02 +11:00
Tom Pittenger
e2288d5262
Plane: abstract out init_start_nav_cnd work to landing lib
2016-12-05 18:44:02 -08:00
Andrew Tridgell
1e691cdefc
Plane: fixed build
2016-12-05 16:51:49 -08:00
Pierre Kancir
da1f784e78
Plane : quadplane change to float to avoid the loss of a fractional part
2016-12-05 12:39:31 -08:00
Michael du Breuil
da400dc643
Plane: Add compass cal capability bit
2016-12-04 19:17:01 -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
Tom Pittenger
696828c144
Plane: increase landing airspeed scaled to headwind
2016-12-02 15:35:28 -08:00
Randy Mackay
d95baf51c9
Plane: include AP_Beacon
2016-11-30 17:57:01 +09:00
Randy Mackay
d9462d5dbc
Plane: remove call to EKF1 logging
2016-11-30 17:57:00 +09:00
Randy Mackay
3587961be6
Plane: add AP_Beacon to build
2016-11-30 17:56:59 +09:00
Peter Barker
f712dd5d7e
Plane: add arming check for logging actually started
2016-11-29 15:14:09 -08:00
Peter Barker
784da9d1eb
Plane: check CardInserted in AP_Arming
2016-11-29 15:14:09 -08:00
Peter Barker
98b5ab4656
Plane: remove incorrect comment about logging/in_mavlink-delay
2016-11-29 15:14:09 -08:00
Peter Barker
d11578f203
Plane: do not reset LOG_BITMASK when no CardInserted
...
This really just confuses everyone
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
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
6544afbcba
Plane: Migrate the rest of "LAND_" params from Plane to AP_Landing
2016-11-25 19:07:30 -08:00
Tom Pittenger
8a5a62cfdc
Plane: migrate aparm "LAND_" params from plane to AP_Landing
2016-11-25 19:07:30 -08:00
Tom Pittenger
9f184a1490
Plane: migrate aparm "LAND_" params from plane to AP_Landing
2016-11-25 19:07:30 -08:00
Tom Pittenger
bfbfc3ea3d
Plane: migrate aparm "LAND_" params from plane to AP_Landing
2016-11-25 19:07:30 -08:00
Tom Pittenger
fa991297db
Plane: create new "LAND_" param block for AP_Landing
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
1b0a263761
Plane: remove landing.cpp entirely
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
db42252168
Plane: port the rest of plane/landing.cpp to AP_Landing
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
10027b21d6
Plane/AP_Landing: port setup_landing_glide_slope()
2016-11-25 19:07:30 -08:00
Tom Pittenger
f556f705e6
Plane: move various g params to aparms
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
Tom Pittenger
61b02cb41d
AP_Landing: add new library for fixed wing landing abstraction
2016-11-25 19:07:30 -08:00
Tom Pittenger
ce8db1fdba
Plane: move struct Rangefinder_State to AP_Vehicle
2016-11-25 19:07:30 -08:00
Tom Pittenger
0ffeed644c
Plane: remove define RANGEFINDER_ENABLED - always enabled
2016-11-25 19:07:30 -08:00
murata
0ee8edc29d
Plane: Change from printf statement to print, println statement.
2016-11-25 15:57:15 -08:00
Francisco Ferreira
4c8d151190
Plane: support MAV_CMD_ACCELCAL_VEHICLE_POS
2016-11-15 11:42:54 -08:00
Michael du Breuil
4dae7a6f3d
Plane: Simplify parameters
...
Remove a lot of cases where @Values and @Bitmask were encoding the same
information. @Value should only be used with @Bitmask when it is being
used to present a series of reasonable defaults that is some hybrid of
the @Bitmask fields. Enumerating each bit as 1, 2, 4, 8 is of no value.
2016-11-13 11:53:19 -08:00