Tom Pittenger
9b973fb899
Plane: add ADSB_streamrate
2016-06-19 11:24:31 -07:00
Randy Mackay
ef1385c9ed
QuadPlane: add comment that eeprom 28 and 41 were used for THR_MIN, MID
2016-06-18 11:55:49 +09:00
Randy Mackay
413f82bac1
Plane: remove unused definitions
2016-06-18 11:55:49 +09:00
Randy Mackay
b456a38432
QuadPlane: remove throttle_mid
...
motor's hover throttle is automatically updated
2016-06-18 11:55:49 +09:00
Randy Mackay
2523ba892b
QuadPlane: set attitude vs throttle priority in attitude controller
2016-06-18 11:55:49 +09:00
Randy Mackay
f2b0f09d6f
QuadPlane: remove THR_MIN
2016-06-18 11:55:49 +09:00
Tom Pittenger
f05c698176
Plane: fix compile error for RANGEFINDER_ENABLED
...
Plane: #define check for rangefinder enabled in relative_ground_altitude()
2016-06-16 14:19:10 -07: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
Andrew Tridgell
b1b73e2d99
Plane: improved quadplane landing detector
...
look for no vertical position change for 5s as well as low motors
2016-06-16 18:17:56 +10:00
Tom Pittenger
773962940c
Plane: quadplane for fwd_throttle integrator inhibit reverse thrust and allow min>0 for petrol
2016-06-13 14:31:50 -07:00
Tom Pittenger
b6196dfa92
Plane: compiler warning in print: float to double promotion
2016-06-13 14:03:40 -07:00
Andrew Tridgell
107691b7a7
Plane: fixed initial descent rate in quadplane auto land
2016-06-11 14:37:44 +10:00
Andrew Tridgell
f8e0e91cbd
Plane: prepare for 3.6.0
2016-06-11 09:20:05 +10:00
Andrew Tridgell
eb8cd13a50
Plane: update release notes for 3.6.0
2016-06-11 09:19:13 +10:00
Andrew Tridgell
e05c7b3367
Plane: check if terrain following is enabled in AGL calculation
2016-06-10 17:48:32 +10:00
Andrew Tridgell
19834c12e2
Plane: log start of quadplane transition
2016-06-10 17:48:32 +10:00
Andrew Tridgell
8156b3f7de
Plane: fixed quadplane landing transition altitude
2016-06-10 17:48:32 +10:00
Andrew Tridgell
07564aa03f
Plane: fixed an attitude control bug in quadplane transition
...
The motors would briefly spike at the end of the transition which
could cause a major pitch deviation
2016-06-10 17:48:32 +10:00
Tom Pittenger
69f29b51d1
Plane: new param Q_VFWD_ALT to disable VFWD motor below this altitude. Also uses rangefinder
2016-06-10 17:48:31 +10:00
Andrew Tridgell
021aebeac0
Plane: check for high ratio of rmsD to rmsP in tuning
2016-06-10 17:48:31 +10:00
Tom Pittenger
65e0e31a7a
Plane: parachute low-alt check should not require auto mode to ever be set
2016-06-08 08:15:11 -07:00
Tom Pittenger
204abfd45e
Plane: set heartbeat.system_status to Critical for low-battery failsafe events
2016-06-07 17:14:51 -07:00
Tom Pittenger
263931b4b1
Plane: allow manual parachute releases on the ground
2016-06-07 09:02:09 -07:00
Tom Pittenger
ef3d17cc4c
Plane: parachute code can not rely on is_flying() because it is unreliable in a stalled aircraft
2016-06-07 09:01:29 -07:00
Tom Pittenger
3140ce6ab6
Plane: change MAVLINK_MSG_ID_SET_POSITION_TARGET_GLOBAL_INT gcs msg to remove abbreviations. Hope it fits!
2016-06-07 08:28:35 -07:00
Tom Pittenger
bd270720da
Plane: whitespace formatting
2016-06-07 08:27:40 -07:00
Michael Day
429e348824
Plane: Can now change current WP alt via mavlink.
...
Uses the mavlink msg SET_POSITION_TARGET_GLOBAL_INT
2016-06-07 08:16:39 -07:00
Tom Pittenger
01e636065d
Plane: non-functional: mostly whitespace and removed extra set result statement
2016-06-07 08:11:05 -07:00
Michael Day
2c0f0a04d8
Plane: Only allow speed changes in GUIDED and AUTO modes.
2016-06-07 08:22:44 -04:00
Michael Day
cdeef9d692
Plane: Fence breaches can go to RTL mode with new FENCE_ACTION setting.
2016-06-07 15:46:52 +10:00
E Thomas
7d824247af
Differential spoilers support, elevon offset
...
Fixed differential spoilers support, added elevon offset
See PR #2935
2016-06-06 21:55:50 -07:00
Michael du Breuil
037a7980d6
Plane: fix calculation of override PWM
2016-06-06 16:23:43 -07:00
Tom Pittenger
ee29f38cdf
Plane: moved takeoff flap check to NORMAL checks.
...
TODP: add new flight stage FLIGHT_PRE_TAKEOFF to put this sort of thing into
2016-06-06 14:51:24 -07:00
Samuel Rosenstein
296b279f0d
Plane: fixed issue with preflight flaps. Flaps now go down in preflight mode
2016-06-06 14:18:44 -07:00
Michael du Breuil
41bb237799
Plane: remove throttle surpressed message
2016-06-06 15:24:18 +10:00
Andrew Tridgell
5a544002cb
Plane: fixed memory leak in mixer setup
2016-06-06 15:21:17 +10:00
Michael du Breuil
bb9086b87f
Plane: setup mixer in the one second loop when disarmed
2016-06-06 15:17:37 +10:00
Michael du Breuil
fc3ab7b691
Plane: rename var to avoid a var with the name of a c++ keyword
2016-06-06 15:17:15 +10:00
Andrew Tridgell
c54d553df1
Plane: prevent continually loading the mixer
2016-06-06 15:14:28 +10:00
Michael du Breuil
7f73da535a
Plane: if setting a mixer fails then clear the last crc so that it will be attempted again
2016-06-06 07:50:43 +10:00
Andrew Tridgell
eae2bf54ca
Plane: fixed gcc 6.1 build error
2016-06-06 07:43:45 +10:00
Andrew Tridgell
8d3a58f0a2
Plane: allow tuning of more parameter sets
2016-06-04 19:20:31 +10:00
Andrew Tridgell
835235127c
Plane: prevent divide by zero in SITL
...
harmless on PX4
2016-06-04 19:20:18 +10:00
Tom Pittenger
b9cee76bbe
Plane: fix quadplane integrator to always clip to at least 0 to throttle_max
2016-06-03 23:46:18 -07:00
Tom Pittenger
82763ec8a9
Plane quadplane to use relative_ground_altitude() to take advantage of rangefinder easier
2016-06-03 23:44:21 -07:00
Tom Pittenger
f3ceee5389
Plane: use relative_ground_altitude
2016-06-03 23:43:54 -07:00
Tom Pittenger
b3f182157c
Plane: take advantage of rangefinder support in relative_ground_altitude()
2016-06-03 23:43:43 -07:00
Andrew Tridgell
77b7852ff0
Plane: adjust recommend ranges for quadplane Q_VFWD_GAIN and Q_WVANE_GAIN
2016-06-04 11:04:15 +10:00
Tom Pittenger
a596aa5907
Plane: do not log CURR.Throttle because it's already logged elsewhere
2016-06-02 16:59:13 -07:00
Tom Pittenger
f83a6ca1ff
Plane: fixed variable misspelling
2016-06-02 15:10:51 -07:00
Andrew Tridgell
978a89efa6
Plane: added new ESC calibration method
2016-06-02 18:10:37 +10:00
Andrew Tridgell
860587ece7
Plane: disable parachute checks when min alt is zero
2016-06-02 18:07:16 +10:00
Peter Barker
ee5290c178
Plane: avoid switch statement for enabling fence if no fence present
2016-06-02 14:37:21 +10:00
Tom Pittenger
954c987075
Plane: do not parse GEOFENCE packets when geofence is disabled via compile option
2016-06-01 17:38:52 -07:00
Tom Pittenger
af1407a155
Plane: disable parachute code when not enabled via compile option
2016-06-01 17:38:51 -07:00
Tom Pittenger
ea9e39212f
Plane: use new check_latlng helper
2016-06-01 17:38:51 -07:00
Andrew Tridgell
da5ce37bbc
Plane: fixed gain on -ve stick mixing past 50%
...
fixed a sign error in calculating gain on -ve stick mixing beyond 50%
input
thanks to Doug Weibel for a log that showed this effect
2016-06-02 08:07:55 +10:00
Andrew Tridgell
b17c800f44
Plane: use axis specific tuning controller error
...
this gives user feedback on the axis they are tuning
2016-06-01 17:19:33 +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
Tom Pittenger
4ebaab86ec
Plane: override is_flying for quadplane
2016-05-31 09:46:50 -07:00
Peter Barker
28361afc2a
Plane: move telemetry_delayed up into base class
2016-05-31 08:46:09 +10:00
Peter Barker
9ee62aac30
Plane: move adjust_rate_for_stream up
2016-05-29 19:38:50 +10:00
Peter Barker
af5a52e2aa
Plane: subclass GCS_MAVLink in place of defining its functions for it
2016-05-29 16:21:21 +10:00
Andrew Tridgell
f96836ab9a
Plane: prevent a discrepancy between EKF origin and home for altitude
2016-05-29 15:47:26 +10:00
Andrew Tridgell
ba3576f027
Plane: added tuning error reporting for quadplanes
2016-05-28 17:33:30 +10:00
Andrew Tridgell
b56d784ae4
Plane: limit to zero pitch in quadplane on initial transition
2016-05-28 15:08:46 +10:00
Andrew Tridgell
20cf326093
Plane: lower throttle threshold for quadplane is_flying
2016-05-28 07:10:13 +10:00
Tom Pittenger
e3930b45df
Plane: force the safety_state immediately because we want it to be in effect while we make mixer changes
2016-05-27 21:34:40 +10:00
Tom Pittenger
4785650c95
Plane: remove redundant calls to safety_state
2016-05-27 21:34:40 +10:00
Andrew Tridgell
9933069679
Plane: fixed motor test by percentage in quadplane
2016-05-27 11:53:20 +10:00
Andrew Tridgell
191d6df0ea
Plane: moved EKF2 to a new parameter index
...
the meanings of many of the parameters have changed. Best to use a new
index to prevent old parameters from causing crashes
2016-05-25 19:35:17 +10:00
Andrew Tridgell
6e4c0dd3d7
Plane: allow non-blocking calibrations while armed
2016-05-24 17:10:41 +10:00
Andrew Tridgell
0f50f483b8
Plane: update for new airspeed calibration
2016-05-24 17:00:56 +10:00
Andrew Tridgell
d3494d1369
Plane: don't stall EKF during baro cal
2016-05-24 17:00:56 +10:00
Andrew Tridgell
5b4bbf08fd
Plane: use send_heartbeat wrapper
2016-05-21 15:25:18 +10:00
Andrew Tridgell
4a7dea0c5b
Plane: simplify UART setup
2016-05-21 15:25:16 +10:00
Andrew Tridgell
9f47e6417b
Plane: always build with MAVLink2 headers
2016-05-21 15:25:16 +10:00
Andrew Tridgell
309dbef2ec
Plane: fixed mavlink1 dependency on px4
2016-05-21 15:25:15 +10:00
Andrew Tridgell
eee06da1b5
Plane: use HAVE_PAYLOAD_SPACE()
2016-05-21 15:25:14 +10:00
Andrew Tridgell
be14714fa4
ArduPlane: update signing timestamp on GPS lock
2016-05-21 15:25:13 +10:00
Andrew Tridgell
a103e70460
ArduPlane: handle SETUP_SIGNING message
2016-05-21 15:25:13 +10:00
Andrew Tridgell
b7fe96188d
Plane: raise range of THR_FS_VALUE
...
need to cope with reversed throttle
2016-05-21 07:39:02 +10:00
Andrew Tridgell
e0a9a8196c
Plane: fixed throttle failsafe with THR_PASS_STAB=1
...
this prevents using pass-thru throttle when in throttle failsafe
2016-05-21 07:39:02 +10:00
Don Gagne
151686ce9d
ArduPlane: SET_SENSORS_OFFSETS support for third compass
2016-05-19 18:51:17 -03:00
Tom Pittenger
36a1054f77
Plane: remove Tom Pittenger as an author since he's now listed as a lead
2016-05-17 19:16:02 -07:00
Tom Pittenger
c9167f89eb
Plane: add Tom Pittenger as co-lead developer
2016-05-17 19:03:38 -07:00
Tom Pittenger
30c5c9eb5d
Plane: log SONR.DistCM in cm as SONR.Dist as meters
2016-05-17 18:59:37 -07:00
Tom Pittenger
00863623d7
Plane: SONR logging, remove BaroAlt,GSpd,Thr
2016-05-17 18:59:22 -07:00
Tom Pittenger
b2fb2f3949
Plane: optimize millis() calls by reusing result
2016-05-17 18:59:03 -07:00
Tom Pittenger
1a066cadd2
Plane: fixed float->double print warning
2016-05-17 15:57:26 -07:00
Tom Pittenger
6746b4227a
Plane: handle large negative baro offsets (corner case) to self-trigger a land-abort go-around
...
new param: LAND_ABORT_DEG
@Description: This parameter is used when using a rangefinder during landing for altitude correction from baro drift (RNGFND_LANDING=1) and the altitude correction indicates your altitude is higher than the intended slope path. Steeper slopes can result in crashes so this allows the option to remember the baro offset and self-abort the landing and come around for a another landing with the correct baro offset applied for a perfect slope. An auto-abort go-around will only happen once, next attempt will not auto-abort again. This operation happens entirely automatically in AUTO mode. This value is the delta degrees threshold to trigger the go-around. Example: if set to 5 deg and the mission planned slope is 15 deg then if the new slope is 21 then it will go-around. Set to 0 to disable. Requires LAND_SLOPE_RCALC > 0.
2016-05-17 15:41:09 -07:00
Tom Pittenger
a1c4103cef
Plane: print to GCS the newly calculated glide slope angle
2016-05-17 15:39:05 -07:00
Tom Pittenger
f048aafb76
Plane: store auto land slope
...
- also changed order of landing slope calc but is functionally the same
2016-05-17 15:39:05 -07:00
Tom Pittenger
034cd2413e
Plane: re-calc landing glide slope to gracefully handle baro offset during long flights
...
New param: LAND_SLOPE_RCALC
@Description: This parameter is used when using a rangefinder during landing for altitude correction from baro drift (RNGFND_LANDING=1) and the altitude correction indicates your altitude is lower than the intended slope path. This value is the threshold of the correction to re-calculate the landing approach slope. Set to zero to keep the original slope all the way down and any detected baro drift will be corrected by pitching/throttling up to snap back to resume the original slope path. Otherwise, when a rangefinder altitude correction exceeds this threshold it will trigger a slope re-calculate to give a shallower slope. This also smoothes out the approach when flying over objects such as trees. Recommend a value of 2m.
default value is 2 (so, enabled by default)
2016-05-17 15:39:04 -07:00
Tom Pittenger
4a6dd5a781
Plane: reset baro drift when setting home while disarmed
2016-05-17 15:32:42 -07:00
Andrew Tridgell
e3b2e90a27
Plane: cleanup unnecessarily complex gcs[] usage
2016-05-17 08:27:39 +10:00
dgrat
48c243bed0
ArduPlane: Do not use is_zero() for non-float types
2016-05-16 19:08:35 -03:00
Tom Pittenger
7af888633d
Plane: 3of3 add loiter_xtrack option flag for post-loiter navigation
...
0 to crosstrack from center of waypoint, 1 to crosstrack from tangent exit location
2016-05-16 11:50:54 -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
Tom Pittenger
ba5b4e694c
Plane: log NTUN:ArspdErr airspeed error (in meters)
2016-05-13 17:22:01 -07:00
Tom Pittenger
1551b9d881
Plane: remove redundant logging in NTUN
2016-05-13 17:22:00 -07:00
Tom Pittenger
8a58f5a5eb
Plane: convert airspeed_error_cmd to airspeed_error (in meters)
2016-05-13 17:21:59 -07:00
Tom Pittenger
25dfb583d5
Plane: adjust target_airspeed with and without airspeed sensor (pitot)
2016-05-13 17:14:47 -07:00
Andrew Tridgell
2a0476483b
Plane: make takeoff less noisy with zero timeout
2016-05-14 08:26:10 +10:00
Andrew Tridgell
574ba71ef3
Plane: update for AP_TECS API change
2016-05-14 08:26:10 +10:00
Ricardo de Almeida Gonzaga
1fad971851
ArduPlane: Fix typos
2016-05-13 19:20:07 -03:00
Michael du Breuil
7142bacfaa
Plane: improve user friendliness of throttle fs msg
2016-05-11 09:00:55 -07: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
bcc64e0b4a
Plane: fixed tiltrotor build failure
...
mixup with merge of RC_Channel changes
2016-05-11 09:25: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
52ea443d65
Plane: added Q_THR_MIN
2016-05-11 05:55:26 +10:00
Andrew Tridgell
a61d608915
Plane: fixed numerical error if starting VTOL landing at destination
2016-05-11 05:55:25 +10:00
Andrew Tridgell
357ed1f4b9
Plane: enable weathervaning in GUIDED and TAKEOFF quadplane modes
2016-05-11 05:55:25 +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
3bd5b42c69
Plane: refactor quadplane land controller as general VTOL position controller
2016-05-11 05:55:25 +10:00
Andrew Tridgell
6fdaaa7d98
Plane: new tilt compensation method
2016-05-11 05:55:25 +10:00
Andrew Tridgell
46bf2b83f5
Plane: use equal thrust in tiltrotors when over Q_TILT_MAX
2016-05-11 05:55:24 +10:00
Andrew Tridgell
eab42c5740
Plane: fixed attitude logging with fast logging off
2016-05-11 05:55:24 +10:00
Andrew Tridgell
bbb5f68bb7
Plane: added initial support for tiltrotors and tiltwings
2016-05-11 05:55:23 +10:00
Andrew Tridgell
89a2a92885
Plane: support better build time selection of multicopter frame type
...
makes it possible to do "make sitl-tri"
2016-05-11 05:55:22 +10:00
dgrat
76362caee0
AP_Math: Replace wrap_* functions with template versions
2016-05-10 11:41:26 -03:00
skyscraper
4d769497c9
ArduPlane: RC_Channel refactor
...
Fix white space after function name
2016-05-10 16:21:17 +10:00
skyscraper
e9e2f9020d
ArduPlane: RC_Channel refactor, reimplement stick_mix_channels
...
reimplement the new overload of Plane::stick_mix_channel so
that it calls the existing overload
2016-05-10 16:21:17 +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
9f84a22d22
Plane: removed unnecessary libs
...
now in common
2016-05-10 14:13:39 +10:00
Andrew Tridgell
dcb24f2bc1
Plane: use DataFlash::log_while_disarmed()
2016-05-09 12:05:25 +10:00
Andrew Tridgell
51877a20d6
Plane: added some more tuning sets
2016-05-08 18:45:42 +10:00
Andrew Tridgell
35ef20b23a
Plane: use separate definition for TUNE_PARM
...
this allows the parameter docs to be separated
2016-05-08 18:35:26 +10:00
Andrew Tridgell
7a8bf033e1
Plane: allow for tuning of single parameters
2016-05-08 14:47:51 +10:00
Leandro Pereira
f23bd7e09d
GCS_MAVLink: Use a single stream_trigger() implementation
...
This has no side effects, but since all implementations were basically
the same, move the implementation to GCS_Common and the only part that
adjusts the rate based on which which stream to each individual
GCS_MAVLINK implementation.
2016-05-07 23:49:35 -03:00
Lucas De Marchi
0eab8847f2
ArduPlane: remove mention to .pde files
...
We don't support them anymore.
2016-05-07 22:55:48 -03:00
Andrew Tridgell
db5f50e08e
Plane: convert tuning to use AP_Tuning library
2016-05-07 18:34:15 +10:00
Andrew Tridgell
3853aa0fe3
Plane: fix for changed API
2016-05-07 18:27:22 +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
2a7edfd3d1
Plane: fixed setting of failsafe for motors in quadplane
2016-05-07 07:25:33 +10:00
Michael Day
b096e1404d
Plane: Add MAVLink message handler for CMD_DO_CHANGE_SPEED
2016-05-06 11:59:45 -07:00
Lucas De Marchi
fea084a596
Global: use ap_version.h
...
This header is used by waf to contain the generated version macros,
particularly using the git hash. For waf it's better to be in a separate
header since it then can keep track of changes on it a trigger
recompilation.
For the make build system, a dummy ap_version.h file has been added in
the missing/ folder so both implementations can co-exist.
2016-05-06 13:11:28 -03:00
Lucas De Marchi
baa287e5e5
ArduPlane: use separate header for version macro
...
Having the version macro in the config.h and consequently in the main
vehicle header means that whenever the version changes we need to
compiler the whole vehicle again. This would not be so bad if we weren't
also appending the git hash in the version. In this case, whenever we
commit to the repository we would need to recompile everything.
Move to a separate header that is include only by its users. Then
instead of compiling everything we will compile just a few files.
2016-05-06 13:11:28 -03:00
Rimvydas Naktinis
3c00324fd2
Plane: Parachute uses altitude above ground (not home) to check suitability for deployment.
2016-05-05 09:02:25 -07:00
Rimvydas Naktinis
9fdf39baf0
Plane: Added a method that returns current altitude relative to terrain, if available, or home otherwise.
2016-05-05 09:02:20 -07:00
Allan Matthew
25c8027606
Plane: handle new MAVLink rangefinder input
2016-05-04 08:40:34 -07:00
Michael du Breuil
0fcfcdc169
Plane: Broadcast POSITION_TARGET_GLOBAL_INT as part of the EXTENDED_STATUS stream
2016-05-01 07:38:23 +10:00
Michael Oborne
cd56061b24
ArduPlane: support MAVLINK_MSG_ID_MISSION_ITEM_INT
2016-05-01 07:13:46 +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
dfa86cff63
Plane: update release notes for 3.6.0beta1
2016-04-30 14:34:47 +10:00
Andrew Tridgell
a99616bd10
Plane: prepare for 3.6.0beta1 release
2016-04-30 14:34:47 +10:00
Andrew Tridgell
3a35f8f528
Plane: update release notes for 3.5.3
2016-04-30 14:34:47 +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
66d3668ac4
Plane: rapid climb in QRTL if below target altitude
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
Andrew Tridgell
460885c478
Plane: refactored quadplane landing controller
...
allow use in other than AUTO mode
2016-04-30 14:34:46 +10:00
Michael du Breuil
de1e299754
Plane: Remove support for CONDITION_CHANGE_ALT
2016-04-30 10:56:05 +09:00
Niti Rohilla
a03941ba02
ArduPlane : Updated handle_guided_request() to report error.
2016-04-29 12:39:28 -03: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
Andrew Tridgell
ab5ca53e2f
Plane: lower default VTOL ANGLE_MAX to 30 degrees
...
we don't really want a quadplane at 45 degrees or the wing drag gets
far too high
2016-04-29 10:23:26 +10:00
Andrew Tridgell
19a1edcd2b
Plane: lower default velocity controller gains for quadplanes
...
we're getting too many XY velocity controller oscillations. Better to
start with smaller gains
2016-04-29 10:02:45 +10:00
Andrew Tridgell
6f4d66f346
Plane: support building quadplane with forced motors class
2016-04-28 22:40:45 +10:00
Andrew Tridgell
9c0d984a4e
Plane: support forced motor class in quadplane
2016-04-28 22:37:24 +10:00
Andrew Tridgell
00c2b4b30f
Plane: reload airspeed after VTOL landing
2016-04-28 08:42:19 +10:00
Andrew Tridgell
1ebe0a2583
Plane: prevent a division by zero in takeoff code
2016-04-26 12:06:57 +10:00
Luis Vale Gonçalves
343b4cb81a
Revising ardupilot.com to .org
...
Revising ardupilot.com to .org
2016-04-23 22:49:41 -07: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
38a7bfd81f
Plane: added Q_ENABLE=2 for starting AUTO in VTOL
2016-04-23 21:03:46 +10:00
Andrew Tridgell
0aa1ae048d
Plane: fixed is_flying() for VTOL flight
...
otherwise we may disarm mid-flight!
2016-04-23 21:03:46 +10:00
Andrew Tridgell
76400a9959
Plane: support DO_VTOL_TRANSITION as a mission item
2016-04-23 21:03:46 +10: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
Randy Mackay
4291139b6c
Plane: ack DO_MOUNT_CONTROL messages
2016-04-22 21:30:51 +09:00
Tom Pittenger
9aa25cb7a0
Plane: update flight stage on successful restart_landing_sequence()
2016-04-21 22:54:23 -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
f12658dd20
Plane: more comments on landing flare
2016-04-21 21:31:01 -07:00
Tom Pittenger
fefcf39335
Plane: must be on land approach before flare alt/sec are used
2016-04-21 21:31:00 -07:00
Tom Pittenger
12663eaa48
Plane: simplify flare logic
2016-04-21 21:30:59 -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
c238645e53
Plane: limit roll before calculating load factor
2016-04-21 21:30:56 -07:00
Tom Pittenger
aadd9a18ce
Plane: log L1 xtrack error integrator and remove extra yaw logging
2016-04-21 21:30:55 -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
Tom Pittenger
ec3e9014e4
Plane: move target land_airspeed logic to top layer
...
- this is to allow min groundspeed to be enforced which is otherwise lost when TECS assigns a target airspeed at the lower level
2016-04-21 21:30:50 -07:00
Andrew Tridgell
a549225e60
Plane: support Y6 frame class in quadplane
2016-04-22 10:28:16 +10:00
Rimvydas Naktinis
df922dacfa
Plane: Suppress throttle when parachute release initiated, not after release.
2016-04-21 09:53:22 -07:00
Andrew Tridgell
2a1985d0f9
Plane: fixed loiter radius at end of mission
2016-04-21 22:29:29 +10:00
Andrew Tridgell
de33779382
Plane: added Q_WVANE_MINROLL
...
this allows for some roll trim without weathervaning
2016-04-21 21:52:25 +10: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
d013878c17
Plane: improved speed limiting on landing approach in VTOL mode
2016-04-20 18:07:04 +10:00
Andrew Tridgell
d8b0d17fe4
Plane: added weathervaning to landing reposition
2016-04-20 17:12:59 +10:00
Andrew Tridgell
f34af03891
Plane: added Q_WVANE_GAIN
...
this controls weathervaning in VTOL modes. Defaults to off
2016-04-20 17:12:59 +10:00
Andrew Tridgell
e9e43dc016
Plane: added Q_VFWD_GAIN for forward motor in VTOL modes
...
this allows for velocity control using the forward motor in VTOL modes
2016-04-20 16:25:19 +10:00
Lucas De Marchi
0095f6168e
ArduPlane: fix handling of SET_HOME_POSITION
...
Location.altitude is stored in cm.
2016-04-18 13:07:45 +10:00
Michael du Breuil
c17ea21a97
Plane: Add support for DO_REPOSITION via COMMAND_INT
...
also allows guided to change loiter directions
2016-04-17 19:00:03 -07:00
Andrew Tridgell
62574b35b5
Plane: fixed negative loiter radius values
2016-04-18 09:33:20 +10:00
Andrew Tridgell
edd15f15c0
Plane: added some fixed wing in-flight transmitter tuning
2016-04-16 20:47:18 +10:00
Andrew Tridgell
27fb35253c
Plane: added in-flight transmitter tuning
2016-04-16 20:26:43 +10:00
Tom Pittenger
436062ef37
Plane: improved crash detection
...
- fixes bug where a bungee launch is configured but the aircraft gets bumped and triggers the prop to spin up. This will now detect that and "crash' and disable the motor
2016-04-14 22:34:46 -07:00
Grant Morphett
2887e48178
Plane: Fixed bug with landing flare for high values of LAND_FLARE_SEC
...
I had an issue in SITL where my plane would round the last WP staring
its landing approach and immediately limit the roll to 5degress even
before the plane had finished turning the corner so it would go WAY
off course. For a high value of LAND_FLARE_SEC (mine was 5) the math
works out the plane has landed if
height <= sink_rate * land_flare_sec
During the banking of the last corner the plane started to decend and
quickly set itself up for a 6.1m/s sink rate which is normal. It was
at 30 meters altitude. As you can see at this point the math thinks
the plane has landed so limits the roll. The solution was to ensure
the plane had covered at least 50% of the distance toward the final
waypoint before allowing a flare to happen. Note that LAND_FLARE_SEC
above 2 is considered very high and this normally wouldn't occur.
2016-04-15 13:02:11 +10:00
Andrew Tridgell
154fe15c67
Plane: fixed build warning
2016-04-15 09:22:41 +10:00
Tom Pittenger
ff57884eca
Plane: renamed variable, non-functional change
2016-04-14 13:18:35 -07:00
Andrew Tridgell
3a242ee4a9
Plane: support up to 16 output channels
...
the extra channels can be used via SBUS output
2016-04-14 08:05:06 +10:00
Michael du Breuil
78442b7e81
Plane: make the initialization of the gcs instances follow the define
2016-04-11 17:54:46 -07:00
Andrew Tridgell
06bcf0df4b
Plane: change default loop rate for quadplanes to 300Hz
2016-04-11 09:32:45 +10:00
Andrew Tridgell
1fe9582ac3
Plane: back to velocity controller for quadplane landing
...
now with much smoother attitude control thanks to some help from
Leonard
2016-04-10 22:01:19 +10:00
Andrew Tridgell
4a5c4a5189
Plane: not in vtol mode when quadplane not enabled
...
prevents logging error in auto if quadplane not enabled and running a
VTOL mission command
2016-04-10 22:01:18 +10:00
Ricardo de Almeida Gonzaga
5bd034a5a8
Global: start using cmath instead of math.h
2016-04-05 21:06:19 -07: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
5f1ad68bd9
Plane: improved velocity controller for quadplane landing
2016-04-04 09:50:35 +10:00
Andrew Tridgell
8b30569ad1
Plane: setup quadplane earlier in startup
...
this ensures the GCS gets the full parameter list as the param count
will be set before mavlink starts
2016-04-03 06:49:38 +10:00
Andrew Tridgell
5cc4b20c73
Plane: smooth out final descent for landing
2016-04-02 22:45:51 +11:00
Andrew Tridgell
197cefaaa7
Plane: prevent large nose-down on start of velocity controller
2016-04-02 21:19:06 +11:00
Andrew Tridgell
ae51e51c6a
Plane: use velocity controller for initial quadplane landing
2016-04-02 20:54:01 +11:00
Andrew Tridgell
b1266603a6
Plane: setup immediate pitch limit on quadplane takeoff
...
this prevents a single loop with large pitch down demand
2016-04-02 19:53:48 +11:00
Andrew Tridgell
913cf9dd37
Plane: set min quad throttle to 10%
...
fixes spin when armed
2016-04-01 22:18:51 +11:00
Andrew Tridgell
7f85c14c96
Plane: fixed landing detector for new AP_Motors code
2016-04-01 21:54:32 +11:00
Andrew Tridgell
70679a06aa
Plane: fixed quadplane throttle control in AUTO
2016-04-01 17:29:51 +11:00
Andrew Tridgell
52cc369f15
Plane: fixed typo in AP_Motors conversion
2016-04-01 16:45:01 +11:00
Andrew Tridgell
e7f7afcc4d
Plane: added correct filter defaults
2016-04-01 16:44:49 +11:00
Andrew Tridgell
9cf909607f
Plane: setup reasonable quadplane defaults
2016-04-01 16:40:06 +11:00
Andrew Tridgell
dd6c4d6225
Plane: fixed up parameters for quadplane
...
this fixes quadplane parameters for the new AP_Motors code
2016-04-01 16:17:07 +11:00
Randy Mackay
b96ea15220
Plane: quadplane uses AC_AttitudeControl_Multi
2016-04-01 11:59:30 +09:00
Randy Mackay
41b584ac9e
Plane: fix quadplane qstabilize throttle input
2016-04-01 11:59:30 +09:00
Randy Mackay
52caed2573
Plane: QTUN df messages angle boost field as float
2016-04-01 11:59:30 +09:00
Randy Mackay
70f81ee338
Plane: remove multicopter PID parameters
...
These have been moved to the AC_AttitudeControl class
2016-04-01 11:59:30 +09:00
Randy Mackay
39f795d9fd
Plane: quadplane sets motors desired spool state
2016-04-01 11:59:30 +09:00
Andrew Tridgell
f73c8ab8ed
Plane: allow testing of all motors in sequence
...
this makes for an easier startup test for a quadplane, allowing a
single MAVLink command to test that all motors are working correctly
in the right sequence
2016-04-01 11:09:51 +11:00
Tom Pittenger
6718241dad
cleanup comments
2016-03-29 05:32:28 -07:00
Gustavo Jose de Sousa
a4c099feaa
waf: create program groups for main products
...
Currently we need to build a different binary for each type of copter frame.
This is a preparation for setting all those binaries to a group called
"copter". We create the groups for the rest of the main products for
consistency.
2016-03-26 15:43:08 -03:00
Andrew Tridgell
dc9d87fde3
Plane: prepare for 3.5.2 release
2016-03-26 14:52:17 +11:00
Andrew Tridgell
8a6e5ffe80
Plane: fixed bug in rangefinder landing
...
introduced with QLAND change
2016-03-26 10:06:07 +11:00
Andrew Tridgell
b47b558246
Plane: change code URL
2016-03-25 20:47:03 +11:00
Andrew Tridgell
4d7beab8cc
Plane: added QTUN logging for quadplane
2016-03-25 12:33:19 +11:00
Andrew Tridgell
0a199945a2
Plane: added copter RATE logging for quadplane
2016-03-25 12:13:59 +11:00
Andrew Tridgell
1fa075e7a8
Plane: change default quadplane gains
...
lower filter frequency, higher I gain for roll/pitch
2016-03-25 10:16:15 +11:00
Lucas De Marchi
f258b66627
ArduPlane: Update path locations for parameters
...
Thanks to Francisco Ferreira for noticing that.
2016-03-23 17:50:38 -03:00
Andrew Tridgell
0442c2c659
Plane: prepare for 3.5.1 release
2016-03-21 09:44:52 +11:00
Andrew Tridgell
f0eddd6366
Plane: ensure we always eventually capture a loiter
2016-03-18 13:47:45 +11:00
Andrew Tridgell
30ca9fbb01
Plane: cope with upgrade to shifted indexes for quadplane
2016-03-18 12:33:58 +11:00
Michael du Breuil
35bb6a634e
Plane: Make base_mode armed status depend upon the arming library, not soft armed
2016-03-17 15:16:17 +11:00
Don Gagne
cae7ea0d13
Add @Volatile, @ReadOnly support
2016-03-17 10:58:05 +11:00
Lucas De Marchi
e01d49ff53
ArduPlane: replace header guard with pragma once
2016-03-16 18:40:45 +11:00
Michael du Breuil
0117522998
Plane: Use arming voltage
2016-03-14 09:06:58 -07:00
Andrew Tridgell
89970e4eaa
Plane: support motor_test for quadplanes
2016-03-13 10:05:10 +11:00