Commit Graph

28383 Commits

Author SHA1 Message Date
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
Andrew Tridgell
f656077a45 autotest: added more CMAC startup locations
this allows matching to RealFlight positions
2017-10-21 18:50:42 +11:00
Andrew Tridgell
665cdee768 SITL: use thread for FlightAxis comms
this allows us to run SITL at a much higher framerate than RF can
provide, and results in the EKF being much happier
2017-10-21 18:50:40 +11:00
Andrew Tridgell
77702c18a5 HAL_SITL: don't run IO at more than 100Hz
save some CPU for faster frame rates
2017-10-21 18:50:36 +11:00