Jonathan Challinger
e946e047e6
AC_AttitudeControl: add attitude_controller_run functions, call from input functions
2016-03-02 20:16:18 +09:00
Tom Pittenger
c0a6a94936
AP_IntertialNav: ensure we work on valid updated data
2016-03-02 10:53:07 +09:00
Paul Riseborough
38b3625ed8
AP_NavEKF2: Fix bug in initial alignment calculation
...
The bug caused the initial roll angle to be incorrect if the vehicle was powered up when inverted, causing long alignment times.
2016-03-02 09:10:09 +09:00
Paul Riseborough
2888bdd6d5
AP_NavEKF: Protect against possible div by 0
2016-03-01 10:08:47 -03:00
Paul Riseborough
7d6b926749
AP_NavEKF2: Improved magnetic heading fusion
...
Use an Euler yaw heading that switches between a 321 and 312 rotation
sequence to avoid areas of singularity. Using Euler yaw decouples the
observation from the roll and pitch states and prevents magnetic
disturbances from affecting roll and pitch via the magnetometer fusion
process.
2016-03-01 10:08:47 -03:00
Randy Mackay
e502e0fc2e
SoloGimbal: resolve compiler warning re float comparison
2016-03-01 21:51:43 +09:00
Randy Mackay
438769c8ae
SoloGimbal: resolve compiler warning re initialisation order
2016-03-01 21:51:41 +09:00
Paul Riseborough
bb74371c58
AP_NavEKF2: Do not use GPS height if GPS accuracy is poor
...
If we are using GPS height, revert back to using Baro height if the GPS accuracy is poor.
2016-03-01 15:13:13 +09:00
Tom Pittenger
b1ea82079e
AP_Rangefinder: compiler warning float to double on atof()
...
- this is horribly inefficient so better to change the parsing
2016-02-29 10:26:31 -08:00
Tom Pittenger
068374658c
AP_Mission: utilize radius for loiter commands
2016-02-29 06:43:19 -08:00
Will Sackfield
8b5fa9d23d
SITL: Initialise yaw_rate and pitch_rate
...
* Clang requires these variables to be initialized
2016-02-29 14:14:37 +11:00
Will Sackfield
6f43b7121c
DataFlash: Cast msg to uint8
...
* Clang requires this explicit cast
2016-02-29 14:14:37 +11:00
Will Sackfield
723e166c13
AP RPM: Initialise backend with _instance
...
* Unsure how this worked in the past
2016-02-29 14:14:37 +11:00
Will Sackfield
0a60d713af
AP HAL SITL: Use fully qualified SITL namespace
...
* using namespace SITL caused ambiguities due to
both SITL and HAL SITL using the same namespace
2016-02-29 14:14:37 +11:00
Will Sackfield
8c98eb2b84
APMControl: Cast type to uint8
...
* Clang requires that the type be explicitly cast
to uint8
2016-02-29 14:14:37 +11:00
Staroselskii Georgii
5b3627f83e
AP_Notify: made DiscreteRGBLed more generic
...
- made pins and polarity configurable
- got rid of all Navio specific code
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
ef4e3aa333
AP_Notify: renamed Navio2Led to DiscreteRGBLed
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
0bd7839b9f
AP_Notify: made Navio2LED a little easier to configure
...
- got rid of a lot of not needed defines
- allocated channels on init instead of accessing them every time
through the HAL reference
- simpliefied hw_set_rgb()
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
da550e5e98
AP_Inertial_Sensor: do not rotate MPU9250 on Navio2
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
f93e790717
AP_HAL_Linux: make Ublox work on the higher frequency
...
The lower speed was only valid for very old Navio's. All new boards ship
with the GPSs that support higher frequencies.
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
a327a8779e
AP_HAL_Linux: added Navio2 support
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
7187f26220
AP_HAL_Linux: use Raspberry Pi GPIO for Navio2
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
6680baf777
AP_HAL_Linux: use MPU9250 for Navio2
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
c9869e768a
AP_HAL_Linux: use Util_RPI for Navio2
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
23a2cf45aa
AP_HAL_Linux: added RCInput for Navio2
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
2ea69571ef
AP_Notify: disabled boardled for Navio
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
3223802431
AP_Notify: enabled leds for Navio2
2016-02-27 03:06:50 -03:00
Alexey Bulatov
fc6351b929
AP_Notify: added Navio2LED driver
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
a24e9df765
AP_HAL_Linux: added AnalogIn_Navio2
...
This is a shim driver around the temporarily interface that is exported via
sysfs entries.
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
392165c6a2
AP_HAL: added Navio2 board definitions
2016-02-27 03:06:50 -03:00
Staroselskii Georgii
6172ed078e
GCS_Mavlink: send power status from all boards
2016-02-27 03:06:50 -03:00
dgrat
672acdc8ef
AP_Math: Created location.h header for location functions
...
Helps to order AP_Math functions by purpose.
2016-02-27 02:51:33 -03:00
Lucas De Marchi
7f685a12bd
AP_Math: remove trailing whitespaces and tabs
2016-02-27 02:51:33 -03:00
dgrat
5148e41c1a
AP_Math: Cleaned macro definitions
...
Moved Definitions into a separate header. Replaced PI with M_PI and
removed the M_PI_*_F macros.
2016-02-27 02:51:33 -03:00
dgrat
7c4c8ea579
AP_Math: Remove ROTATION_COMBINATION_SUPPORT
...
This function is not used.
2016-02-27 02:51:33 -03:00
Gustavo Jose de Sousa
6144226c51
AP_HAL: always define HAL_OS_SOCKETS
...
And avoid warnings.
2016-02-26 14:17:33 -03:00
AndersonRayner
c9d5c548a6
Corrects a bracket error for the LSM9DS0 IMU
...
Switches the probe of the accel and gyro so they boot correctly (was
failing the WHOAMI with a switched result)
2016-02-25 20:08:01 -03:00
Michael du Breuil
287a3367ad
AP_HAL_SITL: Force the simulated gps time to be on valid intervals for u-blox hardware
2016-02-26 09:57:03 +11:00
Daniel Frenzel
ead51a9d19
AP_Math: Removed useless "undef INLINE"
2016-02-25 02:10:39 -03:00
Daniel Frenzel
ef7cf7c4aa
AP_Math: Removed useless header
...
"float.h" does not exist. It is useless and wrong to include it.
2016-02-25 02:10:39 -03:00
Andrew Tridgell
04bac8a446
AP_GPS: removed duplicate dataflash write of ublox version
2016-02-24 14:26:57 +11:00
Andrew Tridgell
14bd4ba2c7
AP_GPS: removed console print for GPS type
...
it is now sent as a STATUSTEXT
2016-02-24 14:22:48 +11:00
Michael du Breuil
1426ff2732
AP_GPS: Broadcast what type of GPS is found and at what baud rate
2016-02-24 14:22:48 +11:00
Andrew Tridgell
fe3812c51b
GCS_MAVLink: re-worked text send in terms of ObjectArray
2016-02-24 09:18:06 +11:00
Andrew Tridgell
2120913ac2
AP_HAL: added ObjectArray template
...
this is a ring buffer that supports indexing for efficient handling of
queue peeking and manipulation
2016-02-24 09:18:06 +11:00
Tom Pittenger
9718ee23d1
AP_HAL: fix peekbytes casting
2016-02-24 09:18:06 +11:00
Tom Pittenger
54d2a263fe
GCS_MAVLink: create queue scheme for static statustext msgs
2016-02-24 09:18:05 +11:00
Tom Pittenger
faa4238370
SITL: fixed warning comparing signed vs unsigned
2016-02-23 10:32:48 -08:00
Andrew Tridgell
7fede90df3
HAL_PX4: work around a bus locking issue on Pixracer
...
Pixracer has FRAM on the same bus as the ms5611 and the FRAM ramtron
driver does not use the same locking mechanism as other px4 SPI
drivers. We need to disable interrupts during FRAM transfers to ensure
we don't get FRAM corruption
2016-02-23 16:34:06 +11:00
Andrew Tridgell
0a72c2bbd5
AP_Baro: prevent bad ground pressure from making a board unbootable
2016-02-23 16:34:06 +11:00
Andrew Tridgell
1df2512935
AP_HAL: added update() method for object ringbuffer
...
to support updating objects for GCS work Tom is doing
2016-02-23 16:34:06 +11:00
Tom Pittenger
1d528d552f
AP_HAL: rename RingBuffer.force() to RingBuffer.push_force()
2016-02-21 22:13:27 -08:00
Paul Riseborough
7459bfb96b
AP_NavEKF2: Eliminate simple compass fusion singularities near +-90 deg pitch
...
The use of yaw angle fusion during startup and ground operation causes problems with tail-sitter vehicle types.
Instead of observing an Euler yaw angle, we now observe the yaw angle obtained by projecting the measured magnetic field onto the the horizontal plain.
This avoids the singularities associated with the observation of Euler yaw angle.
2016-02-22 16:29:36 +11:00
Andrew Tridgell
4ff396dfa8
AP_HAL: added force() and peek() method for object ringbuffers
2016-02-22 12:34:32 +11:00
Andrew Tridgell
5080201be6
GCS_MAVLINK: added set_dataflash() method
2016-02-22 12:34:32 +11:00
Paul Riseborough
4aefe1caee
AP_NavEKF2: Fix sign error in magnetic heading innovation calculation
2016-02-20 08:55:48 +11:00
Tom Pittenger
7e4ae39b8e
AP_Arming: fixed GPS_CFG mask bug
2016-02-19 13:53:44 -08:00
Víctor Mayoral Vilches
9bb039accd
AP_HAL: PXFmini add HAL_BARO_MS5611_NAME
...
Peer coded with @LanderU.
2016-02-19 19:17:34 -02:00
Lucas De Marchi
0ccd2de12b
AP_AHRS: fix use of undefined macro
...
../../libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp:63:5: warning: "WITH_GPS" is not defined [-Wundef]
#if WITH_GPS
^
g_gps was not even declared so remove it.
2016-02-19 12:35:20 -02:00
Lucas De Marchi
7d24b4d1ca
AP_Notify: add missing include to use board config
...
<command-line>:0:18: warning: "HAL_BOARD_LINUX" is not defined [-Wundef]
../../libraries/AP_Notify/Buzzer.h:20:5: note: in expansion of macro ‘CONFIG_HAL_BOARD’
#if CONFIG_HAL_BOARD == HAL_BOARD_VRBRAIN
^
In file included from ../../libraries/AP_Notify/Buzzer.cpp:18:0:
../../libraries/AP_Notify/Buzzer.h:20:25: warning: "HAL_BOARD_VRBRAIN" is not defined [-Wundef]
#if CONFIG_HAL_BOARD == HAL_BOARD_VRBRAIN
^
2016-02-19 12:35:20 -02:00
Lucas De Marchi
69f6a73c19
Global: fix missing renames for HAL_BOARD_SUBTYPE_LINUX_ERLEBOARD
...
Commit b87fd58
(AP_HAL: ERLEBOARD legacy support) renamed the define but
forgot some around.
2016-02-19 12:35:18 -02:00
Peter Barker
475a2040a1
AP_NavEKF2: avoid use of undefined #defines
...
Ensure EKF_DISABLE_INTERRUPTS is defined
Do not define MATH_CHECK_INDEXES, assume it is defined
2016-02-19 12:34:24 -02:00
Peter Barker
11760c33f6
AP_NavEKF: avoid use of undefined #defines
...
Ensure EKF_DISABLE_INTERRUPTS is defined
Do not define MATH_CHECK_INDEXES, assume it is defined
2016-02-19 12:34:24 -02:00
Peter Barker
80bc7a50d7
AP_Math: define MATH_CHECK_INDEXES
...
Wrapped in ifndefs so the top-level Makefile can override
Assume MATH_CHECK_INDEXES is always defined
2016-02-19 12:34:23 -02:00
Lucas De Marchi
3ace8b52de
AP_HAL_Linux: use AnalogIn_IIO for minlure
2016-02-19 11:55:31 -02:00
Lucas De Marchi
f865e085b1
AP_BattMonitor: add defaults for minlure
2016-02-19 11:55:31 -02:00
Lucas De Marchi
4e034cd2e1
AP_HAL_Linux: AnalogIn_IIO: add scale for minlure
2016-02-19 11:55:31 -02:00
Lucas De Marchi
f56a80cd80
AP_HAL_Linux: AnalogIn_IIO: return fixed board voltage
...
Return board voltage as 5V so we don't fail prearm checks.
2016-02-19 11:55:31 -02:00
Lucas De Marchi
d387deb2f5
PID: fix example using wrong type
...
pid.imax() has type int16_t
../../libraries/PID/examples/pid/pid.cpp:36:53: warning: format ‘%f’ expects argument of type ‘double’, but argument 6 has type ‘int’ [-Wformat=]
pid.kP(), pid.kI(), pid.kD(), pid.imax());
^
2016-02-19 11:51:49 -02:00
Lucas De Marchi
edd3e3c34a
Filter: silence warning about unused function
...
../../libraries/Filter/examples/Derivative/Derivative.cpp:16:14: warning: ‘float noise()’ defined but not used [-Wunused-function]
static float noise(void)
^
2016-02-19 11:51:49 -02:00
Lucas De Marchi
1f072c4353
AP_HAL: fix unused variable
...
../../libraries/AP_HAL/examples/UART_test/UART_test.cpp:13:28: warning: ‘uarts’ defined but not used [-Wunused-variable]
static AP_HAL::UARTDriver* uarts[] = {
^
2016-02-19 11:51:49 -02:00
Jonathan Challinger
c454631be8
AP_InertialSensor: work around gyro and accel errors on startup
2016-02-19 16:40:52 +09:00
Paul Riseborough
047e9fabaf
AP_NavEKF2: Fix bug in simple heading fusion
...
The innovation calculation should have been updated when the heading fusion maths was updated.
We now use a direct heading or yaw angle measurement in the derivation, not the difference between observed and published declination.
2016-02-19 15:35:11 +09:00
Lucas De Marchi
bf9cf74c38
StorageManager: replace header guard with pragma once
2016-02-18 14:52:35 -02:00
Lucas De Marchi
98904825cb
Filter: replace header guard with pragma once
2016-02-18 14:52:35 -02:00
Lucas De Marchi
f5437f30ac
AP_Scheduler: replace header guard with pragma once
2016-02-18 14:52:35 -02:00
Lucas De Marchi
008e3c9810
AP_OpticalFlow: replace header guard with pragma once
2016-02-18 14:52:35 -02:00
Lucas De Marchi
09d926fa11
AP_Notify: replace header guard with pragma once
2016-02-18 14:52:35 -02:00
Lucas De Marchi
705393b30c
AP_HAL_Linux: replace header guard with pragma once
2016-02-18 14:52:35 -02:00
Lucas De Marchi
dbf2aedf1e
AP_HAL: replace header guard with pragma once
2016-02-18 14:52:34 -02:00
Lucas De Marchi
2bed317c6c
AP_HAL_Empty: replace header guard with pragma once
2016-02-18 14:52:34 -02:00
Lucas De Marchi
1a71c169fe
AP_Compass: replace header guard with pragma once
2016-02-18 14:52:34 -02:00
Lucas De Marchi
246f940d01
AP_Buffer: replace header guard with pragma once
2016-02-18 14:52:34 -02:00
Lucas De Marchi
62f50aede7
AP_BattMonitor: replace header guard with pragma once
2016-02-18 14:52:34 -02:00
Lucas De Marchi
6623246cf5
AP_ADC: replace header guard with pragma once
2016-02-18 14:52:34 -02:00
Leonard Hall
49a4bde5d9
AC_AttControl: lower minimum accelerations for large copters
2016-02-18 20:49:13 +09:00
mirkix
8da58226ae
AP_HAL_Linux: Fix BBBmini IIO scaling
2016-02-18 00:00:07 -02:00
mirkix
d868fe4eff
AP_HAL: Remove unused GPIO leds for BBBmini
2016-02-17 23:41:24 -02:00
Paul Riseborough
d3c9a0aef1
AP_NavEKF: Limit heading innovations after the consistency check
2016-02-18 08:53:47 +09:00
Paul Riseborough
6a34e4c384
AP_NavEKF2: Fix bug in magnetic heading and declination fusion equations.
...
The derivation incorrectly used a tan instead of an atan function. This applies the corrected auto-code.
2016-02-18 08:53:45 +09:00
Paul Riseborough
59bf29198d
AP_NavEKF2: Remove unnecessary logic preventing constant position
...
This removes a legacy design concept that is no longer required in this filter implementation. Planes will not be armed without EKF aiding and the proposed copter throw mode also requires EKF aiding to be operating.
The other problem with interrupting fusion during the launch is it doesn't reduce the corrections, it just delays them as wen the launch completes, the EKF inertial position estimate is still moving still moved and the corrections are therefore just delayed by the short launch interval.
Thank you to OXINARF for picking up the inconsistency with the previous logic
2016-02-18 08:53:43 +09:00
Paul Riseborough
7e05646316
AP_NavEKF2: Improvements to non-GPS performance
...
Change to user adjustable fusion of constant position (as per legacy EKF) instead of constant velocity.
Enable user to specify use of 3-axis magnetometer fusion when operating without aiding.
Don't allow gyro scale factor learning without external aiding data as it can be unreliable
2016-02-18 08:53:41 +09:00
Tom Pittenger
a9c985bfb3
AP-Mount: compiler warning
...
ardupilot/libraries/AP_Mount/SoloGimbal_Parameters.cpp:193:107: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
2016-02-17 14:54:31 -08:00
Lucas De Marchi
10abec277d
AP_HAL: functor: use std::remove_reference
2016-02-16 19:49:09 -02:00
Lucas De Marchi
d80a0e47bc
AP_Common: missing: move definitions to standard headers
...
This way we don't create problems regarding which header to include: we
just include the normal/c++11 headers and everything works as it should.
2016-02-16 19:49:09 -02:00
Lucas De Marchi
75d58bcfb6
Global: rename HAVE_NULLPTR_T with HAVE_STD_NULLPTR_T
...
This makes for a more standard name for these overrides.
2016-02-16 19:49:09 -02:00
Andrew Tridgell
29100937bc
AP_Common: allow for nullptr_t but not std::move replacement
2016-02-16 19:49:09 -02:00
Andrew Tridgell
52e36908ff
AP_Common: fixed std::move() for qurt build
...
Thanks Lucas!
2016-02-16 19:49:09 -02:00
Lucas De Marchi
cc4504e613
AP_Airspeed: fix coding style
...
- replace tabs with spaces
- remove C-style void from function arguments
- use pragma once
- fix pointer alignement
- remove unused header: AP_Airspeed_I2C_PX4 - we actually use
AP_Airspeed_PX4
2016-02-16 19:49:09 -02:00
Lucas De Marchi
02a7fa5c2b
AP_InertialSensor: MPU9250: use AP_HAL::Device abstraction
...
This makes MPU9250 be almost the same as MPU6000 driver. Work has been
done here to make than similar so it's easier to spot the differences.
2016-02-16 19:49:09 -02:00