Commit Graph

28350 Commits

Author SHA1 Message Date
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
Michael du Breuil 740e1c4326 GCS_MAVLink: Correct a bug in the FOR_EACH_ACTIVE_CHANNEL macro 2017-08-31 11:02:26 +10:00
Andrew Tridgell 427c046145 Plane: prepare for 3.8.1beta1 2017-08-29 07:22:38 +10:00
Andrew Tridgell c8b00ed605 PX4NuttX: submodule update
added flag for nsh exit
2017-08-28 18:00:26 +10:00
Andrew Tridgell 32ee618a8f AP_SerialManager: enable debug console use for other protocols
this allows SERIAL5_PROTOCOL to be set on FMUv2 and FMUv3 for use by
other protocols
2017-08-28 18:00:24 +10:00
Andrew Tridgell efa07ea6b5 HAL_PX4: allow uart5 to be used for non-nsh on FMUv2/FMUv3 2017-08-28 18:00:21 +10:00
Andrew Tridgell fdc6a30a35 Plane: fixed minacc and delay for launch
See
https://discuss.ardupilot.org/t/tkoff-thr-minacc-and-tkoff-thr-delay-doesnt-work-together/19928
2017-08-28 17:55:50 +10:00
Andrew Tridgell 7829e6652d SITL: added simple launch sim for plane
allow for bungee, catapult and hand launches
2017-08-28 17:55:47 +10:00
Andrew Tridgell 992baa7026 RC_Channel: fixed bug in manual with TRIM == MIN
This fixes the bug described here:

https://discuss.ardupilot.org/t/arduplane-reverse-thrust-setup/18324/5

which otherwise would prevent output with TRIM == MIN or TRIM == MAX
2017-08-26 20:31:36 +10:00
Andrew Tridgell 1b6d20db7f Plane: removed TRIM_RC_AT_START parameter
this option caused a lot more problems than it solved, and is buggy
2017-08-26 20:16:09 +10:00
Andrew Tridgell 775b60f9a9 Plane: fixed bug in TRIM_AUTO
fixed trim for differential spoilers
2017-08-26 20:16:00 +10:00