Commit Graph

28360 Commits

Author SHA1 Message Date
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
Andrew Tridgell
ec84fa0711 Plane: make mav_type in HEARTBEAT configurable
needed for qgc to setup for quadplanes
2017-10-20 15:39:44 +11:00
Andrew Tridgell
62273d2c1f 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:13:52 +11:00
Andrew Tridgell
110263ea98 Plane: update docs for Q_YAW_RATE_MAX 2017-10-19 20:59:02 +11:00
Andrew Tridgell
d88dff98a6 Plane: added frame type 11 for FlreFlyY6 2017-10-06 11:37:14 +11:00
Andrew Tridgell
5b4e57414d AP_Airspeed: fixed airspeed autocal
don't use negative pressures
2017-09-22 18:28:32 +10:00
Mark Whitehorn
a39cfda192 AP_Airspeed: eliminate airspeed positive bias 2017-09-22 18:28:07 +10:00
Andrew Tridgell
ce5903f758 Plane: fixed MANUAL_RCMASK
ensure it only applies in MANUAL, and fixed input scaling in px4io
2017-09-19 16:59:16 +10:00
Rufus Wong
add27e4b3b AP_Compass: Add break to prevent fallthrough of PIXRACER to PIXHAWK_PRO 2017-09-18 19:57:52 +10:00
Andrew Tridgell
6e78d2af5a 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:26:33 +10:00
Andrew Tridgell
f829f5615b Plane: prepare for 3.8.2 release 2017-09-11 09:56:12 +10:00
Andrew Tridgell
1d22b7f5d7 Plane: update release notes for 3.8.2 2017-09-11 09:55:41 +10:00
Andrew Tridgell
31af23cab6 Plane: added MANUAL_CONTROL support
allows for joystick with QGC
2017-09-11 07:56:15 +10:00
Andrew Tridgell
fd07a82c8f Plane: prepare for 3.8.2beta1 2017-09-09 08:28:01 +10:00
Andrew Tridgell
3576e38858 Plane: allow changing of target altitude in GUIDED 2017-09-09 08:15:59 +10:00
Andrew Tridgell
428233c8b4 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-08 17:56:48 +10:00
Andrew Tridgell
2e5c36361e 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-08 16:43:32 +10:00
Andrew Tridgell
5ab3265ee6 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-08 15:59:15 +10:00
Andrew Tridgell
eafbdee118 AC_AttitudeControl: added a update_vel_controller_xy() API
this allows for just XY control of velocity for quadplanes
2017-09-08 15:58:59 +10:00
Andrew Tridgell
3e4d50f026 Plane: added GUIDED takeoff for quadplanes
this allows takeoff in GUIDED mode in the same way as copters
2017-09-07 10:59:55 +10:00
Andrew Tridgell
5634f19114 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:54 +10:00
Michael du Breuil
e4c20986c6 AP_GPS: SBF: Reject short packets early, allow 256 byte long messages to be decoded 2017-09-06 10:42:49 +10:00
Andrew Tridgell
ff220d5348 AP_GPS: make SBF driver more robust
this fixes a crash bug in the SBF GPS driver where a badly formed packet
could cause crc16_ccitt to reference invalid memory
2017-09-06 10:42:46 +10:00
Andrew Tridgell
d8b8b1ee33 Plane: prepare for 3.8.1 release 2017-09-03 15:33:25 +10:00