Commit Graph

12153 Commits

Author SHA1 Message Date
Lucas De Marchi 945556bbc3 AP_HAL_Linux: remove id for SPIDevice_Ublox and RASPIO 2016-07-29 15:01:15 -03:00
Lucas De Marchi 065592e7df AP_HAL_Linux: SPIUARTDriver: add some cosmetic changes
Mainly changes to follow the coding style and reduce the complexity a
little bit.
2016-07-29 15:01:15 -03:00
Lucas De Marchi e3c0476b8a AP_HAL_Linux: SPIUARTDriver: initialize device once 2016-07-29 15:01:14 -03:00
Lucas De Marchi 418cc817a3 AP_HAL_Linux: SPIUARTDriver: fix conversion to SPIDevice
We need to use the fullduplex method to transfer both tx and rx at the
same time.
2016-07-29 15:01:14 -03:00
Lucas De Marchi cbbd6f9d78 AP_HAL_Linux: SPIDevice: implement fullduplex transfer 2016-07-29 15:01:14 -03:00
Lucas De Marchi 9fda608d4a AP_HAL_Empty: SPIDevice: implement fullduplex transfer 2016-07-29 15:01:14 -03:00
Lucas De Marchi 01452bf922 AP_HAL: SPIDevice: add fullduplex method
This method is needed when we want to transfer both tx and rx at the
same time, as opposed to common cases for sensors in which they are like
in the I2C interface: half-duplex.
2016-07-29 15:01:14 -03:00
Luiz Ywata 7ded01cf24 AP_HAL_Linux: SPIUARTDriver: use SPIDevice interface 2016-07-29 15:01:14 -03:00
Luiz Ywata c8bb5e6469 AP_HAL_Linux: RCInput_Raspilot use SPIDevice interface 2016-07-29 15:01:14 -03:00
Luiz Ywata e8d3229492 AP_HAL_Linux: RPIOUARTDriver: use SPIDevice interface 2016-07-29 15:01:14 -03:00
Luiz Ywata bfd840c5ca AP_HAL_Linux: RCOutput_Raspilot: use SPIDevice interface 2016-07-29 15:01:14 -03:00
Lucas De Marchi 86ac9bc367 AP_HAL_Linux: AnalogIn_Raspilot: use SPIDevice interface 2016-07-29 14:47:04 -03:00
Lucas De Marchi 81345cc112 AP_HAL: Remove enum for Dataflash 2016-07-29 14:47:04 -03:00
Lucas De Marchi 8681d23cbd AP_HAL_Linux: remove unused Dataflash
This is selectable by a define and is never changed. Just remove
everything referencing it: we can come up with a better solution if it
is actually used later.
2016-07-29 14:47:04 -03:00
Peter Barker 9749b91d46 SITL: initialise sigaction structs - valgrind fix 2016-07-29 10:38:03 -03:00
Jonathan Challinger d1ecc63bf1 AP_NavEKF2: change priority of statustext messages 2016-07-29 13:19:51 +09:00
Lucas De Marchi 1841313f73 AP_HAL_VRBRAIN: remove I2CDriver
I2CDevice now serves for the same purpose.
2016-07-28 18:08:57 -03:00
Lucas De Marchi d418338e22 AP_HAL_SITL: remove I2CDriver
I2CDevice now serves for the same purpose.
2016-07-28 18:08:57 -03:00
Lucas De Marchi 13848f0f3f AP_HAL_QURT: remove I2CDriver
I2CDevice now serves for the same purpose.
2016-07-28 18:08:57 -03:00
Lucas De Marchi 2ef78051c1 AP_HAL_PX4: remove I2CDriver
I2CDevice now serves for the same purpose.
2016-07-28 18:08:56 -03:00
Lucas De Marchi 73bb371918 AP_HAL_Linux: remove I2CDriver
I2CDevice now serves for the same purpose.
2016-07-28 18:08:56 -03:00
Lucas De Marchi 3eb0a48d59 AP_HAL_Empty: remove I2CDriver
I2CDevice now serves for the same purpose.
2016-07-28 18:08:56 -03:00
Lucas De Marchi b21ad36676 AP_HAL: remove I2CDriver 2016-07-28 18:08:56 -03:00
Lucas De Marchi 8f11bf7373 AP_ADC: ADS1115: fix typo 2016-07-28 18:05:45 -03:00
Lucas De Marchi 4595a2b7d8 AP_Compass: Remove i2c lockup count
This was returned only for a single bus and on all supported platforms
this is hardcoded to 0.
2016-07-28 18:03:09 -03:00
Lucas De Marchi 84f45f09a3 AP_HAL_Linux: convert CameraSensor_Mt9v117 to I2CDevice 2016-07-28 18:03:09 -03:00
Lucas De Marchi 9acffc8868 AP_HAL_Linux: use Empty version if not implemented
There's little point in having the Linux::AnalogIn just to implement and
empty interface. All implementations inside AP_HAL_Linux are already
inheriting directly from AP_HAL, so just remove it.
2016-07-28 16:42:38 -03:00
Lucas De Marchi 47d2f8dc6d AP_HAL_Linux: AnalogIn_ADS1115: return 5V on board_voltage
board voltage is not available - don't return 0V since that prevents
arming.
2016-07-28 16:42:38 -03:00
Tom Pittenger 59135fc615 AP_ADSB: fixed comment for default chan -1 means transceiver is not detected 2016-07-28 09:41:38 -07:00
Andrew Tridgell c6d3f07b5f AP_RPM: provide an RPM quality in SITL 2016-07-28 12:39:07 +10:00
Staroselskii Georgii 4ca1b58408 AP_HAL_Linux: add ConsoleDevice a handler for TTIN signal
In a case ArduPilot is launched as a background process without
detaching with *nohup* like this ./arduplane -C /dev/ttyAMA0 ConsoleDevice
is created and an attempt to read from it is made. This yields in a stopped
process. This is an endeavour to overcome this problem.
2016-07-27 21:30:19 +10:00
Staroselskii Georgii 8d2b587f71 AP_HAL_Linux: RPI: set signal handler iff nobody has already done it before 2016-07-27 21:30:19 +10:00
Staroselskii Georgii 5e8edcb1db AP_HAL_Linux: use NSIG instead of a hardcoded number in RCInput_RPI 2016-07-27 21:30:19 +10:00
Staroselskii Georgii d69aeb4808 AP_HAL_SITL: use sigaction over signal API in SITL_State 2016-07-27 21:30:19 +10:00
Randy Mackay d19c074ba1 AP_ADC_ADS1115.h: changed member declaration order to resolve compiler warning
No functional change
2016-07-27 13:39:32 +09:00
hiro2233 3ae36c4a6c AP_HAL_Linux:RCInput: Minimun input channels defined 2016-07-27 00:55:55 -03:00
hiro2233 4a6447575c AP_HAL: fixed and updated RCInput example. 2016-07-27 00:52:13 -03:00
Andrew Tridgell 9df58e1e0a AP_Arming: don't show the GPS arming error in SITL
it just makes users think something is wrong
2016-07-27 07:46:04 +10:00
Lucas De Marchi a159eedd8c AP_RangeFinder: fix bus for Lightware on some boards 2016-07-26 00:52:54 -03:00
Lucas De Marchi cb01280d77 AP_HAL: define bus for Lightware rangefinder 2016-07-26 00:52:54 -03:00
Jonathan Challinger 4dfb277683 AP_RangeFinder: fix LightwareI2C conversion to I2CDevice 2016-07-26 00:52:54 -03:00
Tom Pittenger 5108b4cbb6 AP_BattMonitor: move vehicle dependant code to be c-file only, not header 2016-07-25 18:10:57 -07:00
murata 7721290160 AP_Scheduler:time_available value type invalid uint16_t to valid uint32_t. 2016-07-25 20:18:16 -03:00
Murilo Belluzzo d8b58690ad AP_TECS: Remove useless 'if' statement
This should fix CID 91386.

Before removing the 'if', I checked the log to confirm that both branch
didn't end-up being equal by mistake in some commit. But it looks like
the file was added in the project this way.
2016-07-25 18:51:56 -03:00
Lucas De Marchi c6edae7e8e Revert "Global: workaround toolchain problem on windows"
This reverts commit 4e2b30b413.

The toolchain for windows is now updated, we can remove this workaround.
2016-07-25 17:56:12 -03:00
Tom Pittenger 2c6340bb10 AP_ADSB: compiler warning: init value before use even though it already is
silly compiler warnings.. this one is incorrect but it throws a conservative warning which this solves
2016-07-25 10:14:00 -07:00
Tom Pittenger dce734d196 AP_ADSB: treat invalid vehicle same as out-of-range: ignore and/or delete it
- aircraft that travel out of range will now get dropped instantly instead of linger and go stale then timeout
2016-07-25 10:03:48 -07:00
Tom Pittenger 726d1d515e AP_ADSB: use correct units (sec) in time since last update for vehicle update 2016-07-25 10:00:57 -07:00
Randy Mackay f27cf8d388 AC_Avoidance: add adjust_velocity that accepts Vector3f for convenience
We should actually modify this function to scale back the z axis in order to avoid breaching the vertical fence.  Currently breaching the vertical fence is handled within the position controller which is inconsistent.
2016-07-25 20:24:37 +09:00
Peter Barker 692ff22453 AC_Avoid: move closest_point to AP_Math 2016-07-25 20:24:37 +09:00
Peter Barker 2047d53470 Math: move closest_point in from AC_Avoid 2016-07-25 20:24:37 +09:00
Peter Barker 89fbf23012 AP_Avoidance: get_location becomes a method on adsb rather than a abds vehicle 2016-07-25 20:24:37 +09:00
Peter Barker b5c1019aac AP_Avoidance: adsb based avoidance library 2016-07-25 20:24:37 +09:00
Peter Barker 1cdb97e605 AP_ADSB: support for provision of samples to other libraries 2016-07-25 20:24:37 +09:00
Peter Barker 4639d12f0e AP_ADSB: break circular dependency with Avoidance 2016-07-25 20:24:37 +09:00
Peter Barker aae84b3edc GCS_MAVLink: send_collision_all 2016-07-25 20:24:37 +09:00
Peter Barker 7bc9a1cf83 GCS_MAVLink: break out a packetReceived function
This just moves code, doesn't change it
2016-07-25 20:24:37 +09:00
Peter Barker 779f78d471 AP_Math: vector3 perpendicular function 2016-07-25 20:24:37 +09:00
Peter Barker f6cb0ffb6f AP_Math: add Vector2f perpendicular
Add closest_distance_between_radial_and_point function
2016-07-25 20:24:37 +09:00
Peter Barker b6d0b028c3 AP_Math: add operator[] to Vector2 2016-07-25 20:24:37 +09:00
Andrew Tridgell d25396543c AP_ICEngine: report takeoff height set 2016-07-25 15:45:58 +10:00
Andrew Tridgell 622d26b122 SITL: expand to 16 output channels
needed for IC engine testing with octaquadplane
2016-07-25 15:45:39 +10:00
Andrew Tridgell 37f71bc6d6 AP_Mission: support DO_ENGINE_CONTROL 2016-07-25 10:06:03 +10:00
Andrew Tridgell 461be7ff0e AP_ICEngine: added IC engine control library 2016-07-25 10:06:03 +10:00
Andrew Tridgell be2b6e47aa RC_Channel: added output types for choke, ignition and starter 2016-07-25 10:06:03 +10:00
Andrew Tridgell e73d43d4f9 SITL: improve ICEngine simulation 2016-07-25 10:06:02 +10:00
Andrew Tridgell 306487cad4 GCS_MAVLink: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00
Andrew Tridgell 995fb7cd86 SITL: added IC engine simulation 2016-07-25 10:06:02 +10:00
Andrew Tridgell 7ea68f8f80 RC_Channel: fixed function indexes above 64 2016-07-24 19:46:01 +10:00
Andrew Tridgell 8e959d4704 AP_Button: check for space before sending BUTTON_CHANGE 2016-07-24 07:48:36 +10:00
Randy Mackay 65038c753c AC_PrecLand: re-order init to resolve compiler warning 2016-07-23 14:49:21 +09:00
Tom Pittenger cb91f25dd7 AP_ADSB: change adsb-out param desc and defaults 2016-07-22 17:09:10 -07:00
Gustavo Jose de Sousa cd0d65dc3f AP_InertialSensor: don't check {gyro,accel}_available twice
That gives a slightly simpler code.
2016-07-22 19:58:08 -03:00
Tom Pittenger 9b390fcc1b AP_ADSB: add mavlink handlers 2016-07-22 13:55:20 -07:00
Lucas De Marchi 4ab1d7cf41 AP_RangeFinder: MaxsonarI2CXL: add some fixes
- coding style changes and some renames
   - fix bus number
   - use be16toh
2016-07-22 13:18:37 -03:00
Murilo Belluzzo f2d5eb9a97 AP_RangeFinder_MaxsonarI2CXL: Fix driver after I2CDevice conversion
* Simplify semaphore releasing logic
* Fix typo
2016-07-22 13:18:37 -03:00
Luiz Ywata c167364fa0 AP_RangeFinder: MaxsonarI2CXL: use I2CDevice interface 2016-07-22 13:18:37 -03:00
Lucas De Marchi ae259bc563 AP_RangeFinder: LightWareI2C: allow detect method to fail
If bus isn't found, allow the detect() method to fail.
2016-07-22 13:18:37 -03:00
Lucas De Marchi 0193517f30 AP_RangeFinder: LightWareI2C: use be16toh
While at it remove some trailing whitespaces and little reformats.
2016-07-22 13:18:36 -03:00
Murilo Belluzzo 66fdfbb850 AP_RangeFinder_LightWareI2C: Fix driver after I2CDevice conversion
* Fix semaphore not being released in ::get_reading
* Simplify semaphore releasing logic
* Fix typo
2016-07-22 13:18:36 -03:00
Luiz Ywata 49d1520850 AP_RangeFinder: LightWareI2C: use I2CDevice interface 2016-07-22 13:18:36 -03:00
Lucas De Marchi a372f33cc0 AP_RangeFinder: fix PulsedLightLRF detection
- Most of the boards use bus 1 for first I2C
    - If the bus doesn't exist, let the detect() method fail when it
      call start_reading(), because _dev would be invalid
2016-07-22 13:18:36 -03:00
Lucas De Marchi d653139c5d AP_RangeFinder: PulsedLightLRF: use be16toh 2016-07-22 13:10:51 -03:00
Lucas De Marchi c8094e2593 AP_RangeFinder: PulsedLightLRF: fix coding style
- sort headers
    - fix constructor
2016-07-22 13:10:51 -03:00
Murilo Belluzzo 0dc33410ff AP_RangeFinder_PulsedLightLRF: Fix driver after I2CDevice conversion
* Fix wrong semaphore->take check in ::get_reading
* Simplify semaphore releasing
* Fix typos and trailing whitespace
2016-07-22 13:10:51 -03:00
Luiz Ywata e1342eb533 AP_RangeFinder: PulsedLightLRF: use I2CDevice interface 2016-07-22 13:10:51 -03:00
Luiz Ywata a7fddc0594 AP_RangeFinder: add method _add_backend()
Wrapper method that saves a detected driver
2016-07-22 13:10:51 -03:00
Lucas De Marchi 64d17702e6 AP_BattMonitor: AP_BattMonitor_SMBus: fix after conversion to I2CDevice
- Fix bus number
    - Minor updates to coding style
2016-07-22 13:10:51 -03:00
Luiz Ywata 0cf4353382 AP_BattMonitor: AP_BattMonitor_SMBus: use I2CDevice interface 2016-07-22 13:10:51 -03:00
Andrew Tridgell 4301faeac9 SITL: map X-Plane Mixture inputs to channels 6 and 7
this gives two user controllable channels for experimental aircraft
2016-07-22 19:14:46 +10:00
Andrew Tridgell 69da7e9f86 SITL: added elevrev option for plane sim
used by autotest
2016-07-22 16:42:23 +10:00
Andrew Tridgell d7faeada87 HAL_SITL: notify GCS on GPIO changes
useful for testing relays in SITL
2016-07-22 15:01:21 +10:00
Andrew Tridgell 5b081a704c HAL_SITL: added GPIO simulation
using SIM_PIN_MASK
2016-07-22 15:01:20 +10:00
Andrew Tridgell f075fcd79f SITL: added SIM_PIN_MASK
for simulation of GPIO pins
2016-07-22 15:01:20 +10:00
Andrew Tridgell 2ce7b465c1 AP_Button: button monitoring library
library to monitor changes to button state
2016-07-22 15:01:20 +10:00
Andrew Tridgell 7fe1c58575 AP_Notify: added handling of PLAY_TUNE message 2016-07-22 15:00:17 +10:00
Francisco Ferreira ef28be9ce8 AP_Rally: add is_valid method
method will be used in Copter to check if a rally point is inside fence
2016-07-22 09:00:13 +09:00
Gustavo Jose de Sousa 69405cc99a AP_InertialSensor: fix timing debug macro
- Use "INS_" prefix for the name in order to limit the scope for that macro.

- Don't define it in the code and check if it is defined instead of checking
  the value. With that, there's no need to touch the code for enabling debug,
  only a reconfiguration is necessary (e.g., `CXXFLAGS='-DINS_TIMING_DEBUG' waf
  configure ...`).
2016-07-21 19:01:28 -03:00
Lucas De Marchi cfb3124f2c AP_HAL_Linux: remove types for spi drivers
Those drivers using SPIDevice interface don't need a global id for each
of them. Remove those that were already converted.
2016-07-21 16:05:03 -03:00
Lucas De Marchi b23f7a8be4 AP_HAL_Linux: examples: remove BusTest
This needs to be rewritten using the probe methods.
2016-07-21 16:05:03 -03:00
José Roberto de Souza dd36952efe AP_InertialSensor: BMI160: Register poll function with the timer lock 2016-07-21 15:42:32 -03:00
Tom Pittenger 44a60f278a SITL: change default of SIM_ADSB_RADIUS from 1E3 to 10E3 2016-07-21 00:04:20 -07:00
Tom Pittenger a5f256229f AP_ADSB: remove mavlink specific source, xml not ready yet 2016-07-21 00:04:17 -07:00
Tom Pittenger 8617880714 AP_ADSB: check buffer space before sending 2016-07-20 22:40:13 -07:00
Tom Pittenger 8b9057f23c AP_ADSB: run dynamic at 5Hz and static/cfg at 5sec 2016-07-20 22:40:12 -07:00
Tom Pittenger ea0a5c973c AP_ADSB: simplify logic in update_vehicle() 2016-07-20 22:40:12 -07:00
Tom Pittenger cf77ff6d4f AP_ADSB: convert all function calls to use const and use Location_Class 2016-07-20 22:40:11 -07:00
Tom Pittenger 4c9642ac08 AP_ADSB: callsign gen should use ICAO in hex 2016-07-20 22:40:10 -07:00
Tom Pittenger 69887e1646 AP_ADSB: do not init variables in header class definition 2016-07-20 22:40:09 -07:00
Tom Pittenger f5bf98041e AP_ADSB: do not spam to all mavlink ports, require the transceiver health heartbeat 2016-07-20 22:40:09 -07:00
Tom Pittenger b6e25e7d64 AP_ADSB: add support for ADSB transceiver mavlink packets 2016-07-20 22:40:08 -07:00
Tom Pittenger 2223216ca2 AP_ADSB: add param ADSB_LIST_RADIUS to ignore distant aircraft 2016-07-20 22:32:47 -07:00
Tom Pittenger 454560ca4c AP_ADSB: organize variables into in_state and avoid_state structs 2016-07-20 22:32:47 -07:00
Tom Pittenger b78255cc25 AP_Common: avoid using AP_Math is_zero() because it is classless
- because it is classless it can not be called like AP_Math::is_zero() and will then conflict with local definition of is_zero()
2016-07-20 22:32:47 -07:00
Tom Pittenger 3edd95b99b AP_Common: add Location::is_zero and ::zero member functions 2016-07-20 22:32:47 -07:00
Andrew Tridgell 003c94830b AP_Airspeed: added ARSP_PSI_RANGE parameter
for using pressure sensors with a different range
2016-07-20 13:38:22 +10:00
Andrew Tridgell 28d5103435 AP_Airspeed: initial support for MS4515DO on Disco 2016-07-20 13:38:18 +10:00
Andrew Tridgell e0047d81a2 AP_RangeFinder: enable sonar on Disco 2016-07-20 13:38:18 +10:00
Andrew Tridgell 018d8f732a AP_Compass: work around poor magnetic setup on Disco
bring compass offsets into line with what the calibrator can handle
2016-07-20 13:38:17 +10:00
Andrew Tridgell 39dac57b56 AP_BattMonitor: support Disco battery monitoring 2016-07-20 13:38:17 +10:00
Andrew Tridgell d30e55fa44 AP_InertialSensor: initial support for Disco
setup right orientation
2016-07-20 13:38:17 +10:00
Andrew Tridgell 96095b0942 HAL_Linux: fixed comment typo for SBUS input 2016-07-20 13:38:17 +10:00
Andrew Tridgell b69170febd HAL_Linux: fixed build for Disco with I2C changes 2016-07-20 13:38:17 +10:00
Andrew Tridgell f5a20d28bc HAL_Linux: fixed comment in SBUS 2016-07-20 13:38:17 +10:00
Andrew Tridgell a78b875ec3 HAL_Linux: fixed ULTRASOUND GPIO for Disco 2016-07-20 13:38:17 +10:00
Andrew Tridgell 1d8e4cdea9 HAL_Linux: added debugging line for Heat_Pwm 2016-07-20 13:38:17 +10:00
Andrew Tridgell 55d692708b HAL_Linux: fixed set_esc_scaling on Disco 2016-07-20 13:38:16 +10:00
Andrew Tridgell 298f7bffb9 HAL_Linux: fixed motor output for Disco 2016-07-20 13:38:16 +10:00
Andrew Tridgell 9b057ee4f1 HAL_Linux: separate out the GPIO table for Disco 2016-07-20 13:38:16 +10:00
Andrew Tridgell 677a38a10a HAL_Linux: make SBUS input much more robust
use inter-frame gap to resync after byte loss
2016-07-20 13:38:16 +10:00
Andrew Tridgell 29135a0158 HAL_Linux: use termios2 for SBUS RCOUT on Disco 2016-07-20 13:38:16 +10:00
Andrew Tridgell a40d704126 HAL_Linux: added RCOutput_Disco
combines Sysfs and Bebop RCOutput code
2016-07-20 13:38:16 +10:00
Andrew Tridgell cf83a43b56 HAL_Linux: support SBUS input on Disco 2016-07-20 13:38:16 +10:00
Andrew Tridgell aaaa6d38c7 HAL_Linux: initial support for Disco 2016-07-20 13:35:51 +10:00
Andrew Tridgell e407caaa41 AP_HAL: added support for Parrot Disco 2016-07-20 13:35:51 +10:00
Peter Barker 78fa23440c AP_AHRS: remove use of uninitialised variable
clang told us:

../../libraries/AP_AHRS/AP_AHRS_NavEKF.cpp:695:35: fatal error: variable 'posD' is used uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized]
2016-07-20 00:06:49 -03:00
Tom Pittenger 7be15be185 AP_TECS: slew the hgt_lag_filter when starting a land 2016-07-19 17:19:10 -07:00
Andrew Tridgell 2527859b59 AP_TECS: update comment on underspeed clearing 2016-07-20 08:21:08 +10:00
Lucas De Marchi 293f94b355 AP_HAL_PX4: Util: fix check for PX4_V4
When building for px4-v2 we have an warning because we are checking for
the value of this undefined macro. Just change both checks to use
"defined()".

../../libraries/AP_HAL_PX4/Util.cpp:115:7: warning: "CONFIG_ARCH_BOARD_PX4FMU_V4" is not defined [-Wundef]
 #elif CONFIG_ARCH_BOARD_PX4FMU_V4
       ^
2016-07-19 17:53:46 -03:00
khancyr c4b009f4b5 AP_HAL_PX4 : remove unused variable 2016-07-19 17:44:22 -03:00
Andrew Tridgell a1c759e491 SITL: added sensor smoothing
this adds smoothing of sensors for kinematic consistency when
interacting with the ground. It means when we land the EKF doesn't go
crazy
2016-07-19 21:38:16 +10:00
Andrew Tridgell 4faa57074a SITL: removed vehicle specific ground handling 2016-07-19 14:47:47 +10:00
Andrew Tridgell e7a54c83d1 SITL: allow SITL to use terrain data for ground height 2016-07-19 14:42:31 +10:00
Andrew Tridgell c471b635b3 AP_Notify: added NTF_LED_OVERRIDE parameter
when this is set the board RGB LED will be controlled by MAVLink
instead of internally. This is useful for cases where the LED patterns
and colours needed are specified by an external authority (such as the
OBC organisers)
2016-07-19 13:37:13 +10:00
Andrew Tridgell 567d5cdbe6 AP_NavEKF2: use mavlink messages not printf for state change notifications 2016-07-19 12:16:51 +10:00
priseborough bd7bf21475 AP_NavEKF2: Speed improve switch-over to backup magnetometer
When switching over to a back up magnetometer, ensure that the earth field estimate are reset. other wise mag earth field estimates due to the previous failed mag could cause data from the new mag to be rejected.
2016-07-19 12:16:50 +10:00
priseborough e34cdc6666 AP_NavEKF2: Fix bug preventing planes recovering from bad magnetometers
This bug created a race condition whereby if the EKF had to reset the yaw to the GPS ground course to recover from a bad magnetometer, the new heading could be over-written by the bad magnetic heading when the plane reached the height for the scheduled reset.
2016-07-19 12:16:50 +10:00
priseborough e2b8807260 AP_NavEKF2: Fix bug causing switching in and out of aiding
If the GPS receiver was disconnected and no data received, then then the gpsGoodToAlign check did not get a chance to run and becasue it was previously true the EKF would switch back into aiding.
This prevents this by ensuring that gpsGoodToAlign defaults to false when the check is not being performed.
An additional check has also been dded to ensure that there is GPS data to fuse before we declare ready to use GPS.
2016-07-19 12:16:50 +10:00
priseborough fcc07b5560 AP_NavEKF2: Prevent multiple aiding mode changes per update 2016-07-19 12:16:50 +10:00
priseborough f4f347fb75 AP_NavEKF2: add missing parenthesis and console message 2016-07-19 12:16:50 +10:00