Andrew Tridgell
5f7af390ec
AP_Common: a useful debug macro for SITL
2016-05-23 10:10:29 +10:00
Andrew Tridgell
ef210217dd
HAL_Linux: cope with MAVLink2 in UDP driver for packetising
2016-05-23 10:10:03 +10:00
Andrew Tridgell
8486d4ab5e
AP_AHRS: disable EKF1 on all PX4v1 and PX4v2 boards
...
we're out of space in copter now too
2016-05-21 15:25:18 +10:00
Andrew Tridgell
273c80116a
GCS_MAVLink: added a wrapper for sending HEARTBEAT
...
will be used to cope with old radios with MAVLink2
2016-05-21 15:25:17 +10:00
Andrew Tridgell
2094cb2d88
RC_Channel: fixed example for MAVLink2
2016-05-21 15:25:17 +10:00
Andrew Tridgell
8899455ea3
GCS_MAVLink: use extended MEMINFO message
2016-05-21 15:25:17 +10:00
Andrew Tridgell
fde0652d81
DataFlash: use HAVE_PAYLOAD_SPACE()
2016-05-21 15:25:17 +10:00
Andrew Tridgell
cd1f43a6ce
GCS_MAVLink: use generated target_system and target_component offsets
2016-05-21 15:25:17 +10:00
Andrew Tridgell
018b1143d2
GCS_MAVLink: handle difference between SERIALn_PROTOCOL=1 and 2
2016-05-21 15:25:17 +10:00
Andrew Tridgell
78e9ef427e
AP_SerialManager: remove special case for console
...
and add get_mavlink_protocol() to allow selection of correct mavlink
protocol behaviour
2016-05-21 15:25:17 +10:00
Andrew Tridgell
b3f94184f2
GCS_MAVLink: always build with MAVLink2 headers
2016-05-21 15:25:16 +10:00
Andrew Tridgell
f377787444
AP_Mount: always build with MAVLink2 headers
2016-05-21 15:25:16 +10:00
Andrew Tridgell
94feae9eaf
AP_HAL_QURT: always build with MAVLink2 headers
2016-05-21 15:25:16 +10:00
Andrew Tridgell
6f7d6269a8
AP_HAL_Linux: always build with MAVLink2 headers
2016-05-21 15:25:16 +10:00
Andrew Tridgell
ef4d7e5618
GCS_MAVLink: fixed build with mavlink1
2016-05-21 15:25:15 +10:00
Andrew Tridgell
048fc8d39e
GCS_MAVLink: adjust for min_length mavlink2 API change
2016-05-21 15:25:15 +10:00
Andrew Tridgell
318ec69465
GCS_MAVLink: added periodic saving of signing key
...
thanks to Michael for noticing this was missing
2016-05-21 15:25:15 +10:00
Andrew Tridgell
40d1a23a13
AP_Terrain: use HAVE_PAYLOAD_SPACE()
2016-05-21 15:25:15 +10:00
Andrew Tridgell
ec62d8f4ca
AP_Mount: use HAVE_PAYLOAD_SPACE()
2016-05-21 15:25:14 +10:00
Andrew Tridgell
12c1d58511
GCS_MAVLink: cope with different packet overheads with signing
...
use common macros for determining if there is sufficient space to send
a packet
2016-05-21 15:25:14 +10:00
Andrew Tridgell
006b9728d0
GCS_MAVLink: updates for 24 bit msgid
2016-05-21 15:25:14 +10:00
Andrew Tridgell
a05679fb3b
GCS_MAVLink: fixed build after rebase
2016-05-21 15:25:14 +10:00
Andrew Tridgell
7aae93e3e0
GCS_MAVLink: fixed auto-switching to MAVLink2
2016-05-21 15:25:14 +10:00
Andrew Tridgell
4ba09671a4
GCS_MAVLink: support disabling signing with zero key
2016-05-21 15:25:13 +10:00
Andrew Tridgell
c96ed2b4c6
GCS_MAVLink: fixed calculation of GPS timestamp
2016-05-21 15:25:13 +10:00
Andrew Tridgell
970dbf3c8d
GCS_MAVLink: fixed build with MAVLink1
2016-05-21 15:25:13 +10:00
Andrew Tridgell
24eb6afbe9
GCS_MAVLink: provide signing streams and accept_unsigned callback
2016-05-21 15:25:13 +10:00
Andrew Tridgell
ed9a43ca46
GCS_MAVLink: support for mavlink2 signing operations
2016-05-21 15:25:12 +10:00
Andrew Tridgell
ca39ece6cb
StorageManager: added storage region for signing keys
2016-05-21 15:25:12 +10:00
Andrew Tridgell
8ea9e29fee
GCS_MAVLink: use a fixed signing key for testing
2016-05-21 15:25:12 +10:00
Andrew Tridgell
0ead0ab978
GCS_MAVLink: support mavlink2 build
2016-05-21 15:25:12 +10:00
Andrew Tridgell
0ef5d8995b
AP_Mount: support mavlink2 build
2016-05-21 15:25:12 +10:00
Andrew Tridgell
4eadab7a90
HAL_QURT: support mavlink2 build
2016-05-21 15:25:12 +10:00
Andrew Tridgell
31f8d26784
HAL_Linux: support mavlink2 build
2016-05-21 15:25:11 +10:00
Paul Riseborough
74121fdaeb
AP_NavEKF2: fix bug preventing in-flight alignment
2016-05-21 15:13:53 +10:00
Paul Riseborough
16cb7078cd
AP_NavEKF2: Fix misleading pre-flight status reporting
2016-05-21 15:13:53 +10:00
Paul Riseborough
38d61f5281
AP_NavEKF2: Update status reporting to handle no-magnetometer startup
2016-05-21 15:13:53 +10:00
Paul Riseborough
9aa3cdfaae
AP_NavEKF2: Update GPS yaw re-alignment function
...
Updates to support initial alignment without magnetometer
2016-05-21 15:13:53 +10:00
Paul Riseborough
e3c966661b
AP_NavEKF2: Remove unnecessary variance reset
...
This reset is unnecessary give that a synthetic yaw angle is fused at a low rate to prevent variances from becoming badly conditioned.
2016-05-21 15:13:53 +10:00
Paul Riseborough
1179c08473
AP_NavEKF2: Handle case where we are in-flight and haven't yet aligned the yaw
...
This happens if planes are flown without a compass
2016-05-21 15:13:53 +10:00
Paul Riseborough
581c1aa0d4
AP_NavEKF2: Adjust attitude variance values used after a heading reset
...
Because these errors are in body frame, a spherical error should be used to accommodate different orientations
2016-05-21 15:13:53 +10:00
Paul Riseborough
5ec8d523f6
AP_NavEKF: remove unwanted co-variance reset
...
The co-variance resets required following a velocity and position state reset is now performed in the stte reset function
2016-05-21 15:13:53 +10:00
Paul Riseborough
66e4d9d6e8
AP_NavEKF2: Reset co-variance values when doing a pos,vel,hgt reset
...
Ensures consistent behaviour after resets and reduces attitude disturbances
2016-05-21 15:13:52 +10:00
Paul Riseborough
cf8175a073
AP_NavEKF2: Allow immediate use of GPS in-flight for plane without compass
...
Planes operating without a compass must align the yaw to the GPS heading immediately after launch or takeoff and cannot wait for GPS accuracy checks.
2016-05-21 15:13:52 +10:00
Paul Riseborough
08de4e6d95
AP_NavEKF: Do not perform start-up yaw alignment if no compass
...
Yaw cannot be aligned until in-flight when there is sufficient GPS velocity.
2016-05-21 15:13:52 +10:00
Paul Riseborough
d2694fe5dc
AP_NavEKF2: Remove duplicate transition into GPS aiding
...
This decision is made in one place in setAidingMode()
2016-05-21 15:13:52 +10:00
Paul Riseborough
7201f7d2fd
AP_NavEKF2: fix comment
2016-05-21 15:13:52 +10:00
Paul Riseborough
64a8153b68
AP_NavEKF2: update function name
...
The primary purpose of this function is re-alignment
2016-05-21 15:13:52 +10:00
Paul Riseborough
addd213af0
AP_NavEKF2: reduce effect of acceleration on non-GPS mode attitude
2016-05-21 15:13:52 +10:00
Paul Riseborough
d33bbf8cc7
AP_NavEKF: remove debug code
2016-05-21 15:13:52 +10:00
Paul Riseborough
54213ad871
DataFlash: Improve reporting of normalised ekf2 magnetometer innovations
...
Report the maximum of the x,y,z axis
2016-05-21 15:13:52 +10:00
Paul Riseborough
a3b78e6231
AP_NavEKF2: update tuning defaults
2016-05-21 15:13:51 +10:00
Paul Riseborough
65f63341d7
AP_NavEKF2: Improve numerical error protection in optical flow fusion
...
Abort fusion of data if variances will become negative and publish the fault
2016-05-21 15:13:51 +10:00
Paul Riseborough
42da33593d
AP_NavEKF2: fix yaw fusion numerical health reporting
2016-05-21 15:13:51 +10:00
Paul Riseborough
6eb9d43507
AP_NavEKF2: add numerical error checking and isolation to mag decl fusion
2016-05-21 15:13:51 +10:00
Paul Riseborough
b325c5faeb
AP_NavEKF2: add error checking and isolation to mag heading fusion
2016-05-21 15:13:51 +10:00
Paul Riseborough
a0b1dc5325
AP_NavEKF2: add error checking and isolation to 3D amg fusion
2016-05-21 15:13:51 +10:00
Paul Riseborough
51a3df0319
AP_NavEKF2: Add error checking and isolation to pos vel fusion
2016-05-21 15:13:51 +10:00
Paul Riseborough
fcee82f9b2
DataFlash: extend ekf fault status reporting coverage
2016-05-21 15:13:51 +10:00
Paul Riseborough
597ec61673
AP_AHRS: extend ekf fault status reporting coverage
2016-05-21 15:13:50 +10:00
Paul Riseborough
d59d8cc6e3
AP_NavEKF: extend fusion fault reporting coverage
2016-05-21 15:13:50 +10:00
Paul Riseborough
71b589c89c
AP_NavEKF2: extend fusion fault reporting coverage
2016-05-21 15:13:50 +10:00
Paul Riseborough
0982bd0b2b
AP_NavEKF2: update parameter documentation
2016-05-21 15:13:50 +10:00
Paul Riseborough
46a2993a0d
AP_NavEKF: use intuitive units for imu bias process noise parameters
2016-05-21 15:13:50 +10:00
Paul Riseborough
8c374fd679
AP_NavEKF2: correct comments
2016-05-21 15:13:50 +10:00
Paul Riseborough
6be9eaa524
AP_NavEKF2: use receiver estimated accuracy
...
Adjust the GPS observation noise based on receiver accuracy output if available.
2016-05-21 15:13:50 +10:00
Paul Riseborough
dddc213836
AP_NavEKF2: Open up tuning limits
...
Done to assist tuning assessments
2016-05-21 15:13:50 +10:00
Paul Riseborough
cf05e110fc
AP_NavEKF2: fix scaling error in use of IMU noise parameters
...
Also remove process noise from state transition matrix where it was mistakenly left in after the derivation
2016-05-21 15:13:50 +10:00
Randy Mackay
2bafc36ded
AC_WPNav: support rangefinder for terrain following
2016-05-21 10:36:53 +09:00
Randy Mackay
4829dbb55d
AC_Fence: rename check_destination_within_fence and accept distances in meters
2016-05-21 09:56:12 +09:00
Saloni Jain
ff843448aa
AC_Fence: Added a new function to check whether the guided waypoint is within the fence
2016-05-21 09:56:12 +09:00
Gustavo Jose de Sousa
9a100afede
AP_HAL_Linux: Thread: add doc about rounding function
2016-05-20 16:31:15 -03:00
Lucas De Marchi
359417d544
AP_HAL_Linux: Thread: make sure pointer is aligned
...
Implementation of alloca() is very much architecture and compiler
dependent. Avoid the case in which it could return a non-aligned
pointer, which would mean Thread::_poison_stack() would do the wrong
thing.
2016-05-20 16:31:15 -03:00
Lucas De Marchi
7e49d0c53f
AP_HAL_Linux: Thread: fix alignment warning
...
../../libraries/AP_HAL_Linux/Thread.cpp: In member function ‘void Linux::Thread::_poison_stack()’:
../../libraries/AP_HAL_Linux/Thread.cpp:87:31: warning: cast from ‘uint8_t* {aka unsigned char*}’ to ‘uint32_t* {aka unsigned int*}’ increases required alignment of target type [-Wcast-align]
for (p = (uint32_t *) end; p > curr; p--) {
^
../../libraries/AP_HAL_Linux/Thread.cpp:93:31: warning: cast from ‘uint8_t* {aka unsigned char*}’ to ‘uint32_t* {aka unsigned int*}’ increases required alignment of target type [-Wcast-align]
for (p = (uint32_t *) end; p < curr; p++) {
^
../../libraries/AP_HAL_Linux/Thread.cpp:98:39: warning: cast from ‘uint8_t* {aka unsigned char*}’ to ‘uint32_t* {aka unsigned int*}’ increases required alignment of target type [-Wcast-align]
_stack_debug.start = (uint32_t *) begin;
^
../../libraries/AP_HAL_Linux/Thread.cpp:99:37: warning: cast from ‘uint8_t* {aka unsigned char*}’ to ‘uint32_t* {aka unsigned int*}’ increases required alignment of target type [-Wcast-align]
_stack_debug.end = (uint32_t *) end;
^
2016-05-20 16:31:15 -03:00
Lucas De Marchi
18af4da690
AP_HAL_Linux: Thread: fix warning regarding shadow member
...
../../libraries/AP_HAL_Linux/Thread.cpp: In member function ‘void Linux::Thread::_poison_stack()’:
../../libraries/AP_HAL_Linux/Thread.cpp:63:20: warning: declaration of ‘start’ shadows a member of 'this' [-Wshadow]
uint8_t *end, *start, *curr;
^
2016-05-20 16:31:15 -03:00
Tom Pittenger
684ac12dd6
AC_WPNav: fix compile when using AP_TERRAIN_AVAILABLE 0
2016-05-20 12:29:19 -07:00
Tom Pittenger
f085666032
AP_Common: fix compile when using AP_TERRAIN_AVAILABLE 0
2016-05-20 12:28:46 -07:00
Leandro Pereira
3555e439a4
AP_HAL_Linux: Simplify I2C initialization in HAL_Linux_Class
2016-05-20 10:12:17 -03:00
Aaron Wang Shi
cb9cd9008a
AP_HAL_Linux: fix bhat spi device driver build error
2016-05-20 10:09:50 -03:00
Lucas De Marchi
035937ea7e
AP_GPS: add some safety checks to _parse_decimal_100()
2016-05-20 10:06:45 -03:00
Lucas De Marchi
994b2fc966
AP_GPS: add unit test for _parse_decimal_100()
2016-05-20 10:06:44 -03:00
Lucas De Marchi
fc6dd97e61
AP_GPS: make _parse_decimal_100() a static function
...
This allows to easily write tests for it as opposed to having to
construct the entire object.
2016-05-20 10:06:44 -03:00
Bert Regelink
7379d120e1
AP_GPS: fix _parse_decimal_100() with negative numbers
...
_parse_decimal_100() did not parse the fractional part for negative
numbers. Furthermore, use the third decimal (when present) for proper
rounding.
2016-05-20 10:06:44 -03:00
AndersonRayner
aaa8709194
AP_RPM: Added an example script
2016-05-19 19:01:03 -03:00
Vinicius Juvinski
ed2718a183
AP_Notify: Buzzer: change pin 11(P8_31) to pin 12(P8_32)
...
Avoid boot conflict during power on.
2016-05-19 17:22:27 -03:00
Randy Mackay
54731a139f
AP_Mission: rename starts_with_takeoff_cmd
2016-05-19 19:43:22 +09:00
Niti Rohilla
9ec0000691
AP_Mission: add check_takeoff_cmd
...
This checks that the first command in the mission is a takeoff command which helps avoid mission setup errors in which users forget to start a mission with a takeoff command
2016-05-19 19:43:17 +09:00
Niti Rohilla
d771017c25
AP_Mission: support MAV_CMD_NAV_DELAY command
2016-05-19 16:16:02 +09:00
Randy Mackay
67620f312d
AP_HAL: fix comment for get_time_utc
2016-05-19 16:05:29 +09:00
Niti Rohilla
faec752801
AP_HAL: add get_system_clock_utc functions to Util
2016-05-19 16:05:26 +09:00
Andrew Tridgell
4080c6091d
AP_NavEKF2: fixed an assumption that _ahrs->get_compass() always works
...
if MAG_ENABLE=0 in plane there is no compass
2016-05-19 14:16:40 +10:00
Lucas De Marchi
71e10c9132
AP_HAL_Linux: fix include order
...
Sort include alphabetically and make them in order:
Main header
system headers
library headers
local headers
While reordering, change a include of endian.h to our sparse-endian.h
which is more reliant to toolchain changes.
2016-05-18 23:05:56 -03:00
Lucas De Marchi
45c6b750f2
AP_HAL_Linux: remove ifdef checks for HAL_BOARD_LINUX
...
Everything inside libraries/AP_HAL_Linux is for Linux boards, there's
not need to add the ifdefs.
2016-05-18 23:05:56 -03:00
Lucas De Marchi
c4306de122
AP_Common: fix build on windows
...
The way the build was fixed for gcc >= 5.3 breaks the build for older
compiler versions on waf. Fix this by ifdef'ing for WAF_BUILD and
checking the compiler version.
2016-05-18 22:56:50 -03:00
Lucas De Marchi
9ccce2c980
AP_Compass: explicitely add compasses for erlebrain2, pxf and pxfmini
2016-05-18 18:24:14 -03:00
Lucas De Marchi
8372e74c0f
AP_Compass: simplify handling of sensors for Linux boards
...
In addition:
- bbbmini, navio and navio2 can force HMC5843 backend to
be external.
- there was a typo in the backend name that's now fixed:
AK8953 vs AK8963
2016-05-18 18:24:14 -03:00
Lucas De Marchi
1ddbafabdd
AP_Compass: add name field to internal compass drivers
2016-05-18 18:24:14 -03:00
Gustavo Jose de Sousa
ef61096e08
AP_Math: geodesic_grid tool: show triangle number for sections too
2016-05-18 13:28:52 -03:00
Gustavo Jose de Sousa
a6deb65d95
AP_Math: geodesic_grid tool: add option --section
2016-05-18 13:28:52 -03:00
Andrew Tridgell
f7ac6c8d86
AP_Compass: make internal compasses use a higher cal threshold
...
they tend to be a lot noisier
2016-05-18 16:32:32 +10:00