Commit Graph

28391 Commits

Author SHA1 Message Date
Andrew Tridgell
b59bbdab8c Plane: fixed transitions for tailsitters after auto-takeoff
need to use angle wait
2017-11-19 16:34:24 +11:00
Andrew Tridgell
f02db254b7 Plane: fixed a division by zero
if min airspeed is zero
2017-11-19 16:34:22 +11:00
Andrew Tridgell
5ad64b8656 AP_Compass: probe for LIS3MDL on 0x1e
as well as 0x1c
2017-11-15 16:08:17 +11:00
Andrew Tridgell
031166f64d Plane: prepare for 3.8.3 release 2017-11-13 15:05:07 +11:00
Andrew Tridgell
1dd91732b0 Plane: updated release notes for 3.8.3 2017-11-13 15:04:36 +11:00
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