Commit Graph

2903 Commits

Author SHA1 Message Date
Andrew Tridgell
e008559b6e Plane: support LOITER_TO_ALT in quadplanes 2017-10-21 18:50:01 +11:00
Andrew Tridgell
8178ab4037 Plane: make mav_type in HEARTBEAT configurable
needed for qgc to setup for quadplanes
2017-10-20 15:41:06 +11:00
Andrew Tridgell
0aed5a9a57 Plane: prevent controller windup on ground
when on the ground in an auto-throttle mode lik FBWB or CRUISE, we may
have the throttle suppressed. In that case we should not run the
multicopter controller on quadplanes, or it may build up control which
will then apply on takeoff. This is particularly severe for aircraft
that are not level on the ground, such as taildragger quadplanes

Fixes https://discuss.ardupilot.org/t/quadplane-flips-on-takeoff/22095

many thanks to Sriram for reporting
2017-10-20 15:41:04 +11:00
Andrew Tridgell
1a95dcbdd7 Plane: update docs for Q_YAW_RATE_MAX 2017-10-20 15:40:58 +11:00
Michael du Breuil
615f6dfadb Plane: Don't log PIDL messages 2017-10-17 14:37:11 -07:00
Michael du Breuil
cc55e5a8fa Plane: Don't log SONR if there are no rangefinders 2017-10-16 10:10:26 -07:00
Andrew Tridgell
f81ec9b1b3 Plane: support simple accelcal 2017-10-10 10:57:38 +11:00
Andrew Tridgell
f5b4d8d99c Plane: added frame type 11 for FlreFlyY6 2017-10-06 11:36:34 +11:00
Michael du Breuil
52fc2c82af Plane: Report GPS health 2017-09-27 19:29:32 +01:00
Lucas De Marchi
a2b67ed615 ArduPlane: use static method to construct AP_Landing 2017-09-26 03:01:21 +01:00
Lucas De Marchi
e10c60e492 ArduPlane: use static method to construct controllers 2017-09-26 03:01:21 +01:00
Lucas De Marchi
05c870a4d4 ArduPlane: use static method to construct AP_TECS 2017-09-26 03:01:21 +01:00
Lucas De Marchi
bfd13dfe87 global: use static method to construct AP_AHRS_DCM 2017-09-26 03:01:21 +01:00
Lucas De Marchi
beabae6a98 global: use static method to construct AP_AHRS_NavEKF 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c9fbf7b722 global: use static method to construct AP_NavEKF3 2017-09-26 03:01:21 +01:00
Lucas De Marchi
e2fe36357a global: use static method to construct AP_NavEKF2 2017-09-26 03:01:21 +01:00
Lucas De Marchi
6781a44046 global: use static method to construct AP_Avoidance_* 2017-09-26 03:01:21 +01:00
Lucas De Marchi
119e82f32e ArduPlane: add static create method for AP_Avoidance_* 2017-09-26 03:01:21 +01:00
Lucas De Marchi
6d009cdf6e global: use static method to construct AP_ADSB 2017-09-26 03:01:21 +01:00
Lucas De Marchi
cf6ea9642e global: use static method to construct AP_Terrain 2017-09-26 03:01:21 +01:00
Lucas De Marchi
31db77e47b global: use static method to construct AP_Parachute 2017-09-26 03:01:21 +01:00
Lucas De Marchi
eadd650d78 global: use static method to construct AP_RSSI 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b05610870c global: use static method to construct AP_Rally 2017-09-26 03:01:21 +01:00
Lucas De Marchi
18aa88b329 global: use static method to construct AP_Mount 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c3647f0185 global: use static method to construct AP_Camera 2017-09-26 03:01:21 +01:00
Lucas De Marchi
cc53e7bc4b global: use static method to construct AP_ServoRelayEvents 2017-09-26 03:01:21 +01:00
Lucas De Marchi
13d7f58036 global: use static method to construct AP_Relay 2017-09-26 03:01:21 +01:00
Lucas De Marchi
9ce6019138 global: use static method to construct AP_Frsky_Telem 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b022c02029 global: use static method to construct AP_BattMonitor 2017-09-26 03:01:21 +01:00
Lucas De Marchi
69b6d95cb2 global: use static method to construct AP_Board_Config{,_CAN} 2017-09-26 03:01:21 +01:00
Lucas De Marchi
a74e700006 global: use static method to construct RCMapper 2017-09-26 03:01:21 +01:00
Lucas De Marchi
72fd2d6f05 global: use static method to construct AP_SerialManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi
fbe0d9761c global: use static method to construct AP_OpticalFlow 2017-09-26 03:01:21 +01:00
Lucas De Marchi
2d2876a226 ArduPlane: use static method to construct AP_Arming_Plane 2017-09-26 03:01:21 +01:00
Lucas De Marchi
b36a5919f5 global: use static method to construct AP_Mission
This also move the initialization to be in the header for those that
weren't already to maintain consistency.
2017-09-26 03:01:21 +01:00
Lucas De Marchi
de5e044b02 global: use static method to construct AP_RPM 2017-09-26 03:01:21 +01:00
Lucas De Marchi
40fd1b346c global: remove rangefinder from AP_AHRS_NavEKF
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.

For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer.  Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00
Lucas De Marchi
9027a55696 global: use static method to construct RangeFinder 2017-09-26 03:01:21 +01:00
Lucas De Marchi
f5c2ffffb9 global: remove DataFlash from AP_Mount::init() 2017-09-26 03:01:21 +01:00
Lucas De Marchi
53c82b4aaf global: use static method to construct DataFlash_Class 2017-09-26 03:01:21 +01:00
Lucas De Marchi
62ac0ab8aa global: use static method to construct AP_Notify 2017-09-26 03:01:21 +01:00
Lucas De Marchi
de680dac5b global: use static method to construct AP_Scheduler 2017-09-26 03:01:21 +01:00
Lucas De Marchi
8094482f21 global: use static method to construct AP_GPS 2017-09-26 03:01:21 +01:00
Lucas De Marchi
87b30b4552 global: use static method to construct AP_InertialSensor 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c1a957fbf3 global: use static method to construct Compass 2017-09-26 03:01:21 +01:00
Lucas De Marchi
91feec0e14 global: use static method to construct AP_Baro 2017-09-26 03:01:21 +01:00
Lucas De Marchi
96e7ea4d69 ArduPlane: protect version.h from inclusion and use ap_version.h 2017-09-23 21:37:45 -07: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
Lucas De Marchi
18ff17e22c ArduPlane: move version to a static member
We should never include version.h or ap_version.h headers directly
on a header since this will trigger a complete rebuild of the
codebase when we commit to the repository. The ap_version.h header
is auto-generated containing information from the current commit.

If we include it in a header, every other file that ends up including
that header (directly or indirectly) will need to be rebuilt. No
ccache's cache beats having to do nothing when the header is just
not included.

version.h contains information that is kept on a struct inside
each vehicle. Rather than using the macros from each vehicle,
the getter should be preferred, which returns an AP_FWVersion
referente.
2017-09-23 21:37:45 -07:00
Ferruccio Vicari
85ab3edc5f Plane: Smoother transition to QLOITER and QLAND
Use estimated stopping position
2017-09-21 07:57:38 +10:00
Peter Barker
1a724ded2a Plane: AP_Arming: sanity-check fs timeout parameters 2017-09-20 09:46:24 -07:00
mirkix
7c6be7c421 Plane: change format of reset alt target message 2017-09-20 20:28:53 +10:00
Randy Mackay
667cdcdfcf Plane: resolve compiler warning while using send_text
non-functional change
2017-09-20 12:14:38 +09:00
Randy Mackay
2073d65975 Plane: command-long DO_SET_HOME check first param is zero 2017-09-20 12:14:38 +09:00
Randy Mackay
640fb91329 Plane: accept DO_SET_HOME within COMMAND_INT 2017-09-20 12:14:38 +09:00
Andrew Tridgell
3d16ca7144 Plane: fixed MANUAL_RCMASK
ensure it only applies in MANUAL, and fixed input scaling in px4io
2017-09-19 17:05:56 +10:00
Peter Barker
7e631ba16c Plane: move handling of SET_GPS_GLOBAL_ORIGIN up 2017-09-19 15:44:23 +09:00
mirkix
b682f3f6d9 Plane: fix parameter units 2017-09-19 11:34:26 +10:00
Randy Mackay
3d7b6ddc40 Plane: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker
1304b86d09 Plane: remove old DO_SET_MODE support
We no longer support setting anything except custom-modes
2017-09-19 01:24:11 +01:00
Andrew Tridgell
35c1a732a6 Plane: allow takeoff in guided then fw loiter
this allows for quadplane takeoff in GUIDED with Q_GUIDED_MODE=0. The
takeoff will be VTOL, but subsequent guided points will be fixed wing
2017-09-18 10:21:53 +10:00
Tom Pittenger
85b7f1bbb4 Plane: guided takeoff success should return true 2017-09-13 14:46:22 -07:00
Michael du Breuil
4fd13d5205 Plane: Support landing terminations on landing backends that support it 2017-09-13 13:15:08 -07:00
Peter Barker
aee939f891 Plane: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Andrew Tridgell
73d6a05241 Plane: support change alt for GUIDED from qgc 2017-09-11 13:26:48 +10:00
Andrew Tridgell
1c75cd7039 Plane: update release notes for 3.8.2 2017-09-11 09:57:28 +10:00
Andrew Tridgell
11b9805dce Plane: added MANUAL_CONTROL support
allows for joystick with QGC
2017-09-11 07:55:48 +10:00
Andrew Tridgell
37220e1568 Plane: removed unused prototypes 2017-09-10 17:15:18 +10:00
David Ingraham
750212eb8f Plane: Remove deprecated control surface mixing functions
This commit removes the deprecated functions used for calculating elevon and vtail mixes. This code is currently unrechable.
The functions that called these were removed in PR #6546.
2017-09-10 17:14:14 +10:00
Andrew Tridgell
d61705ee51 Plane: added release notes for plane 3.8.2beta1 2017-09-09 08:32:14 +10:00
Andrew Tridgell
600a5c44d2 Plane: allow changing of target altitude in GUIDED 2017-09-09 08:14:09 +10:00
Andrew Tridgell
bc17c26dbf Plane: limit pitch in transition to QLOITER and QLAND
when switching to QLOITER or QLAND when in forward flight, limit the
maximum pitch to prevent a sudden decelleration
2017-09-09 08:14:09 +10:00
Andrew Tridgell
b6809655d4 Plane: smooth the transition to LAND_FINAL in quadplanes
this makes for a much smoother change to LAND_FINAL, without a jerk as
it changes vertical speed
2017-09-09 08:14:09 +10:00
Andrew Tridgell
8411ac5c57 Plane: fixed a problem with descent rate in landings for quadplanes
use xy controller instead of xyz controller, which prevents calling z
controller twice, which led to poor height control
2017-09-09 08:14:09 +10:00
Andrew Tridgell
baee71a5b4 Plane: added GUIDED takeoff for quadplanes
this allows takeoff in GUIDED mode in the same way as copters
2017-09-09 08:14:09 +10:00
Michael du Breuil
1f5743e900 Plane: Report the primary magnetometer health rather then the first 2017-09-08 10:27:17 +10:00
Andrew Tridgell
a88e663191 Plane: adjust target altitude slowly in QRTL mode
this fixes a sudden throttle drop when starting the descent in QRTL mode
thanks to Marco for finding this issue
2017-09-07 07:22:13 +10:00
Andrew Tridgell
87e52a9f0f Plane: prepare for 3.8.1 release 2017-09-03 19:31:30 +10:00
Peter Barker
0c7c2a41c4 Plane: handle param_request_list in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker
dd4bffb4a2 Plane: handle param_set in GCS_MAVLINK base class 2017-08-30 15:54:47 +01:00
Peter Barker
0db1711b1f Plane: move send_autopilot_request calls up to GCS base class 2017-08-30 15:54:46 +01:00
Peter Barker
c15c1b84a4 Plane: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Peter Barker
0708130b5e Plane: correct bad case fallthrough 2017-08-30 15:54:46 +01:00
Andrew Tridgell
6bfed07eae Plane: updated USE_REV_THRUST docs 2017-08-30 08:46:53 +10:00
Michael du Breuil
8630037fd7 Plane: Parameterize the home altitude reset conditions 2017-08-29 13:09:46 -07: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
Andrew Tridgell
1a207c919b Plane: fixed bug in TRIM_AUTO
fixed trim for differential spoilers
2017-08-29 07:35:49 +10:00
Andrew Tridgell
4124d371c9 Plane: fixed minacc and delay for launch
See
https://discuss.ardupilot.org/t/tkoff-thr-minacc-and-tkoff-thr-delay-doesnt-work-together/19928
2017-08-29 07:35:04 +10:00
Peter Barker
2861c1d06a Plane: add ArduSub to list of SYSID_SW_TYPE 2017-08-24 19:50:38 +09:00
Peter Barker
212174bc0e Plane: remove unused defines 2017-08-24 19:48:17 +09: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
Randy Mackay
c80a83322a Plane: integrate simpler Log_Write_EKF 2017-08-23 11:19:14 +09:00
Peter Barker
8272fb8fa2 Plane: remove unused repeating events defines 2017-08-22 09:58:12 -07:00
Peter Barker
9732b19f04 Plane: move serial_control case to base class 2017-08-17 12:42:31 +01:00
Peter Barker
4321abd477 Plane: move play_tune and led_control handling to base class 2017-08-17 12:27:10 +01:00
Peter Barker
8eeae45300 Plane: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Michael du Breuil
833ec1336e Plane: Expose the AFS instance to MAVLink 2017-08-15 15:14:56 +01:00
Peter Barker
1a665280e9 Plane: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker
c6b9c84d1f Copter: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker
d33cd801a1 Plane: send gps messages as separate queued messages 2017-08-09 16:18:22 +01:00