Commit Graph

28386 Commits

Author SHA1 Message Date
Andrew Tridgell edc2509ac7 Plane: disable rudder scaling in tailsitters
this is most often implemented as dual-motor differential thrust, and
we don't want to do surface speed scaling for that.

In the future we'll move this scaling so it can be done on rudders for
3D planes
2017-11-13 14:58:40 +11:00
Michael du Breuil ec86a30a4d Plane: Support unlocking cruise heading with rudder 2017-11-09 09:42:03 +11:00
Andrew Tridgell dc85e538e1 Plane: prepare for 3.8.3beta4 2017-11-05 21:41:40 +11:00
Andrew Tridgell 7d6aeb7789 Plane: update release notes for 3.8.3beta4 2017-11-05 21:41:15 +11:00
Andrew Tridgell b0e401d91b Plane: extend QLOITER transition pitch limit
use twice transition time for pitch envelope to reduce QLOITER
transition harshness
2017-11-05 21:40:08 +11:00
Andrew Tridgell 57e7be0502 Plane: fixed a warning 2017-11-05 21:40:05 +11:00
Andrew Tridgell 1583d18b20 Plane: added Q_TRANS_DECEL
this gives a deceleration rate for QRTL transition from RTL, and also
for transitions to QLOITER
2017-11-05 21:39:54 +11:00
Andrew Tridgell 08ef1dfbdb Plane: smooth out fwd tailsitter transition
use Q_TRANSITION_MS and the transition angle to pitch forward more
slowly
2017-11-05 21:39:07 +11:00
Andrew Tridgell 0a70ed2516 Plane: added tailsitter surface speed scaling
added scaling of control surfaces by throttle when in hover. This helps
the controller remain stable over a wide range of throttle levels, such
as when descending or rapidly climbing
2017-11-05 21:39:04 +11:00
Andrew Tridgell 98c2f23371 AP_Motors: apply tailsitter min spin to both motors 2017-11-04 11:41:05 +11:00
davidaroyer e5154abc38 AP_RangeFinder: cleanup variable names in uLanding driver 2017-11-04 11:33:11 +11:00
davidaroyer 039b295c66 AP_RangeFinder: update uLanding driver for new firmware data format 2017-11-04 11:33:07 +11:00
Michael du Breuil 8e53fb2a78 ArduPlane: Only run is_flying landing checks when in landing stage 2017-11-04 10:07:35 +11:00
Andrew Tridgell 4c5b1e1fc5 Plane: prepare for 3.8.3beta3 2017-11-04 10:05:27 +11:00
Andrew Tridgell 02bdacd0b6 Plane: updated release notes for 3.8.3beta3 2017-11-04 10:05:04 +11:00
Andrew Tridgell 301b97df61 Plane: re-implement MIXING_OFFSET
this was lost in the conversion of SRV_Channels
2017-11-04 09:41:15 +11:00
Andrew Tridgell 996df23a7f AP_Motors: fixed tailsitter use of SPIN_MIN 2017-11-04 09:27:54 +11:00
Andrew Tridgell 8e6f22ae73 AP_InertialSensor: don't apply offsets in SITL backend
the offsets are applied in the rotate and correct methods
2017-11-01 17:10:38 +11:00
Andrew Tridgell c05c495cc8 AP_InertialSensor: support rotated IMUs in SITL 2017-11-01 17:10:32 +11:00
Andrew Tridgell 5631056f10 Plane: log currently used airspeed
this logs whatever airspeed is being used for flight
2017-11-01 09:21:28 +11:00
Andrew Tridgell e715e47f0c Plane: prepare for 3.8.3beta2 2017-10-31 18:04:39 +11:00
Andrew Tridgell 0072b21f5b Plane: updated release notes for 3.8.3beta2 2017-10-31 18:04:25 +11:00
Andrew Tridgell 51258d07dd autotest: added HMAS location 2017-10-31 18:01:47 +11:00
Andrew Tridgell 26e4f8ccb3 Plane: fixed GUIDED loiter with Q_RTL_MODE=1
this was broken by the recent RTL_RADIUS changes

thanks to Nick for noticing this!
2017-10-31 18:01:33 +11:00
Peter Barker 6111f2322f SITL: avoid FPE when running fly.ArduPlane
Program received signal SIGFPE, Arithmetic exception.
__expf_finite () at ../sysdeps/x86_64/fpu/e_expf.S:132
132     ../sysdeps/x86_64/fpu/e_expf.S: No such file or directory.
(gdb) u
2017-10-31 17:26:44 +11:00
Andrew Tridgell 5967597f43 Plane: prepare for 3.8.3beta1 2017-10-30 16:51:46 +11:00
Andrew Tridgell 03d77b023d Plane: use WP_LOITER_RAD if RTL_RADIUS is 0 for QRTL 2017-10-30 16:51:46 +11:00
Andrew Tridgell a915a9a71e 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:25:47 +11:00
Andrew Tridgell 3d20973ae2 Plane: smoother tailsitter transitions
this smooths out tailsitter transitions in both directions, adding a
new FW to VTOL transition state
2017-10-30 15:26:08 +11:00
Andrew Tridgell 9709bca7b4 Plane: prevent a float exception at pitch 90
this can happen with a tailsitter
2017-10-30 15:26:08 +11:00
Andrew Tridgell 1ad929c56e Plane: fixed tailsitter ANGLE_WAIT transition
we need vtol control during transition from hover to fwd flight
2017-10-30 15:26:08 +11:00
Andrew Tridgell 25678a59e7 HAL_Linux: added _main_ctx 2017-10-30 15:26:08 +11:00
Andrew Tridgell 0eb25fcc74 AP_Compass: avoid double detection of the AK09916
with an ICM20948 we can double detect the compass due to the i2c pass-thru
2017-10-29 19:52:03 +11:00
Lucas De Marchi f03057fdeb AP_Compass: use IST8310 and HMC5883 as external mags 2017-10-29 19:52:03 +11:00
Francisco Ferreira 9e414b4ae3 AP_Compass: re-enable QMC5883 compass driver by default
This reverts commit a657daf635
2017-10-29 19:52:03 +11:00
Andrew Tridgell 7019506175 AP_Compass: added IST8310 on FMUv3 I2C 2017-10-29 19:52:03 +11:00
Andrew Tridgell b2668a88ee HAL_PX4: fixed a race condition on i2c init
we could call init on two devices with the same name, which caused
init_ok to be false. This could cause the SMBus battery to fail to
initialise

Thanks to Michael duBreuil for finding this!
2017-10-29 19:52:03 +11:00
Lucas De Marchi d0494350d5 AP_HAL_Linux: UARTDevice: never be the controlling terminal
If we are the controlling terminal for a tty device we will receive a
SIGHUP when the device disappears. Currently what happens is that we
simply stop the whole process. We don't want to fall off the sky due
to a bad device. This can happen for any reason, but it's more likely
if the UART is behind a USB connection.
2017-10-29 19:52:03 +11:00
Andrew Tridgell 3126dea51d DataFlash: log critical messages while disarmed
this logs critical messages while disarmed if we have logged any
messages while armed. This fixes issue #7010 where log files show the
incorrect mode if the log includes any portions where the user
disarmed. It makes analysing users logs very difficult. It also
affects parameters, so we don't always know the true parameter values
in logs from users.
2017-10-29 19:52:02 +11:00
Peter Barker 2d684cd9e8 AP_HAL_SITL: implement in_main_thread 2017-10-29 19:52:02 +11:00
Andrew Tridgell 844bcf33c9 AP_HAL_QURT: make in_main_thread const and override
# Conflicts:
#	libraries/AP_HAL_QURT/Scheduler.cpp
#	libraries/AP_HAL_QURT/Scheduler.h
2017-10-29 19:52:02 +11:00
Andrew Tridgell 9d897f5da6 AP_HAL_VRBRAIN: make in_main_thread const and override
# Conflicts:
#	libraries/AP_HAL_VRBRAIN/Scheduler.cpp
#	libraries/AP_HAL_VRBRAIN/Scheduler.h
2017-10-29 19:52:02 +11:00
Andrew Tridgell 8b472919da AP_HAL_PX4: make in_main_thread const and override
# Conflicts:
#	libraries/AP_HAL_PX4/Scheduler.cpp
#	libraries/AP_HAL_PX4/Scheduler.h
2017-10-29 19:52:02 +11:00
Andrew Tridgell 3ef150e9f7 AP_HAL_Linux: make in_main_thread const and override
# Conflicts:
#	libraries/AP_HAL_Linux/Scheduler.cpp
#	libraries/AP_HAL_Linux/Scheduler.h
2017-10-29 19:52:02 +11:00
Peter Barker 4cb981afa6 AP_HAL: make in_main_thread public, pure and virtual 2017-10-29 19:52:02 +11:00
Peter Barker f9f20970c9 DataFlash: resolve race conditions with IMU logging thread 2017-10-29 19:52:01 +11:00
Andrew Tridgell 17ef7e68b1 Plane: implement Q_OPTIONS
this allows for NAV_TAKEOFF to be treated as NAV_VTOL_TAKEOFF in
quadplanes, and for level flight to be maintained during quadplane
transitions
2017-10-29 19:52:01 +11:00
Andrew Tridgell f88f512dc6 Plane: relax controllers when disarmed
this prevents any remaining integrator from a previous flight stage from
affecting flight across a disarm
2017-10-29 18:15:20 +11:00
Andrew Tridgell 8a4e84e099 AP_TECS: improved support for VTOL transitions 2017-10-21 18:50:50 +11:00
Andrew Tridgell bf0e1ac554 Plane: support LOITER_TO_ALT in quadplanes 2017-10-21 18:50:47 +11:00