Andrew Tridgell
2235d18d67
AP_Airspeed: make it possible to tell if a airspeed sensor is unhealthy
...
we need use() to reflect if the user wants to use the sensor, so the
arming checks can tell if it is not working as expected
2015-01-20 11:26:20 +11:00
Andrew Tridgell
b3ce56d34d
AP_InertialSensor: fixed 2nd IMU in Replay
...
this makes for much more accurate replay runs
2015-01-20 09:20:47 +11:00
Andrew Tridgell
5d83124675
DataFlash: moved airspeed msg to DataFlash
...
so it can be used by Replay
2015-01-20 09:10:33 +11:00
Andrew Tridgell
62e7778ba8
AP_GPS: fixed build warning
2015-01-19 11:22:10 +11:00
Randy Mackay
aeecc46f7b
AC_PosControl: remove unnecessary set of desired_accel
...
The desired_accel is set again 11 lines lower so this line did nothing.
2015-01-14 16:23:26 +09:00
Jonathan Challinger
9ebd0e9960
AC_PosControl: reincarnate dead block of code
2015-01-14 16:20:17 +09:00
Jonathan Challinger
a580cd83e8
AC_PosControl: Fill _vel_desired.z for reporting
2015-01-14 16:08:48 +09:00
priseborough
c40c3632bb
AP_NavEKF: Critical Bug Fix
...
Prevents possible loss of attitude reference for flights without optical flow and GPS.
The optical flow measurement timeout can reset the velocity states which decouples the position states from IMU errors and therefore significantly reduces the amount of attitude error correction.
2015-01-13 16:05:31 +13:00
mirkix
62a05a0438
AP_Notify: fix if statement
2015-01-13 12:15:32 +13:00
mirkix
fa950a735e
AP_InertialSensor: add support for BBBMINI, simple ArduPilot DIY Cape for the BeagleBone Black
2015-01-12 21:36:40 +13:00
mirkix
c58a022111
AP_HAL_Linux: add support for BBBMINI, simple ArduPilot DIY Cape for the BeagleBone Black
2015-01-12 21:36:40 +13:00
mirkix
70445d11f6
AP_HAL: add support for BBBMINI, simple ArduPilot DIY Cape for the BeagleBone Black
2015-01-12 21:36:40 +13:00
Randy Mackay
c93e7a69a7
Baro: init external_temperature in constructor
2015-01-12 13:56:35 +09:00
mirkix
b03a9e2911
AP_Notify: ToneAlarm_Linux.h includes itself
2015-01-11 11:50:07 +09:00
Andrew Tridgell
b1d8df3d54
AP_Baro: only allow calibrated sensors to be used
2015-01-09 12:59:01 +11:00
Andrew Tridgell
e8b1fc72e0
DataFlash: fixed build warning
2015-01-09 12:43:15 +11:00
Andrew Tridgell
3320dfd7fa
AP_Baro: fixed ms5611 spelling error
2015-01-09 11:59:49 +11:00
Andrew Tridgell
0a8677b3e2
AP_Baro: fixed build after rebase with all_healthy()
2015-01-09 11:51:52 +11:00
Andrew Tridgell
1c2a6deaaf
AP_Baro: added all_healthy() method
2015-01-09 11:51:51 +11:00
Andrew Tridgell
8359c082ca
AP_Baro: fixed baro on NavIO
...
don't use the 1kHz timer as it conflicts with other I2C devices
2015-01-09 11:51:51 +11:00
Andrew Tridgell
b85001bf4a
DataFlash: added logging of 2nd baro
2015-01-09 11:51:51 +11:00
Andrew Tridgell
b1342c2d39
GCS_MAVLink: send SCALED_PRESSURE2 if available
2015-01-09 11:50:57 +11:00
Andrew Tridgell
19c717df2e
AP_OpticalFlow: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
8aa1a89081
AP_Mission: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
cd7fbddcce
AP_InertialNav: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
197c09fcd8
AP_Baro: added num_instances() API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
d2c827aa4b
AP_AHRS: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
25f69f05eb
AC_WPNav: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
5ec8ce933e
AC_Sprayer: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
55ec316718
AC_Fence: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
5c4440a9ac
AC_AttitudeControl: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
bb6deb4817
GCS_MAVLink: re-generated headers
2015-01-09 11:50:55 +11:00
Andrew Tridgell
56f682f186
GCS_MAVLink: added SCALED_PRESSURE2 message
2015-01-09 11:50:55 +11:00
Andrew Tridgell
8a3d3bed72
SITL: changes for new AP_Baro API
2015-01-09 11:50:54 +11:00
Andrew Tridgell
f1891cea1f
AP_Baro: BMP085 driver done, but untested
2015-01-09 11:50:54 +11:00
Andrew Tridgell
5bb57a31f7
AP_Baro: split into frontend/backend
...
this allows for support of multiple sensors on a board
2015-01-09 11:50:54 +11:00
Andrew Tridgell
464714f1ab
HAL_PX4: fixed build warning
2015-01-09 11:37:46 +11:00
Andrew Tridgell
d34e5b3f42
AP_GPS: fixed PX4 GPS driver for new upstream format
2015-01-09 11:37:38 +11:00
Andrew Tridgell
ef5cdb0d6c
AP_NavEKF: use more array bounds checked variables
2015-01-09 11:05:07 +11:00
Andrew Tridgell
fefdc37a4d
AP_Math: fixed warnings on bounds checking in quaternion
2015-01-09 11:04:50 +11:00
priseborough
3d46680348
AP_NavEKF: Make NED origin independent of home position
...
This enables the filter to report the last known position after disarm.
The LLH location of the filters NED origin is published and should be logged every time the vehicle is armed to assist with post-flight trajectory reconstruction.
The LLH location of the filters NED origin can be set externally whilst the vehicle is disarmed.
2015-01-09 10:51:24 +11:00
priseborough
f0ea858e4c
AP_NavEKF: Make LLH output report last known position in const pos mode
2015-01-09 10:51:24 +11:00
priseborough
a0957a83f8
AP_NavEKF: Fix bug in reported position and velocity
...
The last known position was being output on the velocities when in constant position mode.
2015-01-09 10:51:24 +11:00
priseborough
7d1cd604a8
AP_NavEKF: Report last known position when GPS is lost
2015-01-09 10:51:24 +11:00
priseborough
1789dc08a3
AP_NavEKF: Correctly report position timeout when GPS is lost
2015-01-09 10:51:24 +11:00
Randy Mackay
3e583e3650
DataFlash: fix EKF4 logging
2015-01-09 10:51:24 +11:00
Randy Mackay
e6e6a781c1
AP_NavEKF: init filter status bits to zero
2015-01-09 10:51:23 +11:00
priseborough
ffd9f7a4ed
AP_NavEKF: Predict filter solution status
2015-01-09 10:51:23 +11:00
Randy Mackay
3896dadc77
DataFlash: EKF logs filter status as uint16
2015-01-09 10:51:23 +11:00
Randy Mackay
657afcfe7a
AP_NavEKF: add pred_horiz_pos flags to filter status
2015-01-09 10:51:23 +11:00
Randy Mackay
54cff29fc2
DataFlash: EKF logging uses nav_filter_status
2015-01-09 10:51:23 +11:00
Randy Mackay
f4d8bc586c
Nav_EKF: getFilterStatus returns nav_filter_status struct
2015-01-09 10:51:23 +11:00
Randy Mackay
8a914af4a8
AP_NavEKF: add nav_filter_status definition
2015-01-09 10:51:23 +11:00
priseborough
d57e0b6bde
AP_NavEKF: Remove compiler warning messages
2015-01-09 10:51:23 +11:00
priseborough
a4ba4d1000
AP_NavEKF: Fix bug in optical flow innovation variances
...
Also improves protection against badly conditioned variances
2015-01-09 10:51:23 +11:00
priseborough
8bc8d1444a
AP_NavEKF: Extend definition of GPS availability to include user inhibit
2015-01-09 10:51:22 +11:00
priseborough
d0d49065e7
AP_NavEKF: Prevent potential repeated use of optical flow data
2015-01-09 10:51:22 +11:00
priseborough
b0c703e4f7
AP_NavEKF: Fix bug in optical flow fusion control logic
2015-01-09 10:51:22 +11:00
priseborough
d656c94bbc
AP_NavEKF: Fix out of bounds index bug
2015-01-09 10:51:22 +11:00
priseborough
300ba65f64
AP_NavEKF: Remove duplicate flow measurement state correction
2015-01-09 10:51:22 +11:00
priseborough
92bb75a635
AP_NavEKF: Prevent load leveling from dropping flow measurements
2015-01-09 10:51:22 +11:00
priseborough
873860e810
DataFlash: Allow negative HAGL values in the EKF optical flow debug log
2015-01-09 10:51:22 +11:00
priseborough
2f5aa210ce
AP_NavEKF: Enable recovery from extended flow measurement rejection
2015-01-09 10:51:21 +11:00
priseborough
d470d55234
DataFlash: Update EKF optical flow debug logging
2015-01-09 10:51:21 +11:00
priseborough
9f4baaa865
AP_NavEKF: Update flow debug logging
2015-01-09 10:51:21 +11:00
priseborough
8d1dae3ac1
AP_NavEKF: Improve optical flow terrain height estimation
...
The two state auxiliary EKF has been replaced with a single state filter that only estimates terrain offset. The new filter fuses a optical flow line of sight rate scalar (length of the optical flow LOS rate vector) which provides a terrain offset estimate that is less affected by yaw errors.
Estimation of focal length scale factor error in flight wasn't accurate enough and will be replaced with a pre-flight intrinsic sensor calibration procedure as the scale factor error does not change over time provided the lens assembly is not adjusted.
AP_NavEKF: Remove unwanted printf
2015-01-09 10:51:21 +11:00
priseborough
d599fa588e
AP_NavEKF: Don't allow EKF to initialise without GPS lock if we are a plane
...
This is needed because planes arm automatically.
AP_NavEKF: Fix bug in GPS patch
2015-01-09 10:51:21 +11:00
Staroselskii Georgii
c16eb5d330
AP_Compass: fixed corrections for AK8963
2015-01-09 06:38:22 +11:00
Staroselskii Georgii
4394f0cf75
AP_Compass: fixed external compass detection for AK8963
2015-01-09 06:38:22 +11:00
Staroselskii Georgii
f0753e965e
AP_Compass: eliminated possible division by zero in AK8963
2015-01-09 06:38:22 +11:00
Staroselskii Georgii
b804430276
AP_Compass: changed default orientation for AK8963 on Navio
2015-01-09 06:38:22 +11:00
Mikhail Avkhimenia
954b0795d4
HAL_Linux: Enable PCA9685 output after its setup
2015-01-09 06:38:21 +11:00
Randy Mackay
2a5a133bbf
AC_AttControl: remove deprecated trigger_xy method
2015-01-07 14:03:49 +09:00
Randy Mackay
ed7e176c61
LandingGear: command_mode becomes enum
2015-01-07 11:58:22 +09:00
Robert Lefebvre
c297aaeeab
AP_LandingGear: Add force_deploy method.
2015-01-07 11:58:19 +09:00
Robert Lefebvre
4177852d89
AP_LandingGear: Remove relay control from library.
2015-01-07 11:58:17 +09:00
Robert Lefebvre
4935a42054
RC_Channel_Aux: Add new landing gear control to Aux_servo_function_t enum.
...
Conflicts:
libraries/RC_Channel/RC_Channel_aux.h
2015-01-07 11:58:17 +09:00
Robert Lefebvre
9b0a33c453
AP_LandingGear: Create LandingGear Library.
2015-01-07 11:58:15 +09:00
Andrew Tridgell
1b3c3c754d
AP_InertialSensor: use correct ifdef for AK8963
2015-01-07 11:58:05 +11:00
Andrew Tridgell
9835544163
AP_Compass: fixed build on non-Linux platforms
2015-01-07 08:41:14 +11:00
Andrew Tridgell
2ddf3e728a
DataFlash: use common RingBuffer.h
2015-01-07 08:41:14 +11:00
Andrew Tridgell
9d3a9c20a8
HAL_VRBrain: use common RingBuffer.h
2015-01-07 08:41:14 +11:00
Andrew Tridgell
0c73dc2440
HAL_PX4: use common RingBuffer.h
2015-01-07 08:41:14 +11:00
Andrew Tridgell
4da0a24887
HAL_Linux: use common RingBuffer.h
2015-01-07 08:41:14 +11:00
Andrew Tridgell
6fb00f4fc3
AP_HAL: create a common utility/RingBuffer.h header
2015-01-07 08:41:14 +11:00
Staroselskii Georgii
43c88c37eb
AP_Baro: fixed MS5611 initialisation in order to get rid off conflicts with other I2C devices
2015-01-07 08:41:13 +11:00
Staroselskii Georgii
f7f9cd2173
AP_InertialSensor: prevented MPU9250 from disabling I2C slaves
2015-01-07 08:41:13 +11:00
Staroselskii Georgii
a08a34f863
AP_HAL: changed default compass for Navio
2015-01-07 08:41:13 +11:00
Staroselskii Georgii
0d1cf347c7
AP_Compass: added AK8963 support
2015-01-07 08:41:12 +11:00
Staroselskii Georgii
e4a21f291d
AP_HAL_Linux: added LinuxSPIUARTDriver that can handle SPI-driven Ublox
2015-01-07 08:41:12 +11:00
Staroselskii Georgii
2b589d4604
AP_HAL_Linux: enable output for PCA9685 PWM in NavioRCOuput
2015-01-07 08:41:12 +11:00
Randy Mackay
f41d7ddaee
Rally: reduce distance limit to 300m for copter
...
This reduces the chance that a forgotten rally point will cause the
vehicle to RTL to a distant location because instead it will RTL to
home.
2015-01-06 15:55:47 +09:00
Andrew Tridgell
e9058df31f
SITL: added optional flow delay
2015-01-06 14:19:02 +11:00
Andrew Tridgell
228b04e21e
SITL: added SIM_FLOW_DELAY parameter
2015-01-06 14:19:02 +11:00
Andrew Tridgell
0076413c0a
SITL: produce flow data at the requested rate
2015-01-06 14:19:02 +11:00
Andrew Tridgell
5758f39127
SITL: added SIM_FLOW_RATE parameter
2015-01-06 14:19:02 +11:00
Andrew Tridgell
b499cd1b59
AP_AHRS: fixed examples build
...
using a relative include works as the object is just passed through,
not used, in this header
2015-01-05 07:04:27 +11:00
priseborough
2f0b1b3d9c
AP_NavEKF: Fix bug preventing use of optical flow without GPS
2015-01-03 21:49:22 +11:00
Andrew Tridgell
f13248e5f5
SITL: implement SIM_TERRAIN
...
either use AP_Terrain or flat earth
2015-01-03 21:47:54 +11:00
Andrew Tridgell
9b65376961
SITL: added SIM_TERRAIN parameter
...
to choose either flat earth or AP_Terrain for sonar and optical flow
AGL emulation
2015-01-03 21:47:28 +11:00
Andrew Tridgell
d25bd8955d
GCS_MAVLINK: move send_opticalflow() into common library
2015-01-03 15:53:22 +11:00
Andrew Tridgell
66a03d100e
SITL: make some units clearer in comment
2015-01-03 15:44:19 +11:00
Andrew Tridgell
16affe51be
AP_NavEKF: avoid an extra quaternion copy
2015-01-03 15:44:07 +11:00
Andrew Tridgell
023c42593f
SITL: fixed units of body frame conversion for optical flow
2015-01-03 15:43:30 +11:00
priseborough
bf4ebcfda1
AP_HAL_AVR_SITL: Add maths for calculation of truth optical flow rates
2015-01-03 14:45:13 +11:00
Andrew Tridgell
70c2aeca42
AP_AHRS: make optflow available via AHRS
...
same pattern as compass and airspeed sensor
2015-01-03 14:16:34 +11:00
Andrew Tridgell
51cd64b3b2
SITL: make velocity and rotmat available to the optical flow simulator
2015-01-03 14:16:34 +11:00
Andrew Tridgell
aff01c6d09
AP_OpticalFlow: fixed reversed timestamp
...
thanks to Randy
2015-01-03 14:16:34 +11:00
Andrew Tridgell
d2634a26bd
SITL: added framework for SITL optical flow sensor
2015-01-03 14:16:34 +11:00
Andrew Tridgell
254aa32d4e
SITL: added SIM_FLOW_ENABLE option
2015-01-03 14:16:34 +11:00
Andrew Tridgell
11ff12dfd3
AP_OpticalFlow: split library into frontend/backend
...
this will make it easier to add a SITL backend
2015-01-03 14:16:33 +11:00
priseborough
a9eec29e45
DataFlash: Update EKF optical flow data logging
2015-01-03 14:09:15 +11:00
priseborough
69e86d3ea4
AP_NavEKF: Update EKF optical flow data logging
2015-01-03 14:09:12 +11:00
priseborough
b651eac48d
AP_NavEKF: Apply timeout to terrain offset validity reporting
...
The terrain offset solution status is usable for a short period of time without state updates so a timeout has been added which prevents the rapid changes in solution status due to short duration sensor read errors.
2015-01-03 14:09:09 +11:00
priseborough
e6474d676e
AP_NavEKF: Report correct horiz vel sol'n status during optical flow nav
2015-01-03 14:09:05 +11:00
priseborough
75201c8968
AP_NavEKF: Prevent divide by zero casued by Tnb_flow.c.z = 0
2015-01-03 14:07:13 +11:00
Andrew Tridgell
6bb4a8c361
AP_Math: make location_path_proportion() and location_passed_point() more efficient
...
the dot product is much more efficient than the trigonometry. Thanks
to Paul for the suggestion
2015-01-03 14:06:59 +11:00
Andrew Tridgell
6993be54b7
HAL_Linux: raise storage size to 16k
...
match PX4 size
2015-01-03 14:06:54 +11:00
Andrew Tridgell
745b739ab7
AP_InertialSensor: make calibrated() function fast enough to call in flight
...
this will be used in plane to make AHRS SYS_STATUS unhealthy if a user
tries to fly with EKF enabled without a full 3D accel cal.
Note that it doesn't rely on using AP_Param load() to detect that a
value has been set, as some users are first doing a 3D cal then later
doing a 1D cal. In that case load() was returning true and would give
a false positive
2015-01-03 14:06:42 +11:00
Randy Mackay
5ba1b20d3b
BattMon: add SMBus to MONITOR param description
2015-01-02 17:20:05 +09:00
Randy Mackay
ffbc3862bd
Compass: update compass orient param description
...
Update rotation 38 to Yaw293Pitch68Roll90
2015-01-02 17:19:12 +09:00
Jonathan Challinger
9e5a30d5ba
AP_Math: change ROTATION_YAW_293_PITCH_68_ROLL_180 to ROLL_90
2015-01-02 17:15:18 +09:00
Andrew Tridgell
ef55a3c6a6
AP_GPS: keep reporting GPS status messages when no GPS at 1Hz
...
to ensure the GCS knows that we have lost the GPS we need to keep
reporting GPS_RAW_INT messages when the GPS disappears. Sending at 1Hz
should be sufficient
Fixes issue #1722
2015-01-02 17:10:23 +11:00
priseborough
8d3940ce1b
AP_NavEKF: Improved use of enumerated type for aiding mode
2015-01-02 12:10:41 +09:00
priseborough
76d1378962
AP_NavEKF: Fix compiler warning messages
2015-01-01 23:39:48 +11:00
priseborough
3e3dd9d695
AP_NavEKF: Fix parenthesis error in EKF status reporting and clean up logic
...
This fixes a bug which could have caused the realative position status to be incorrectly reported under some conditions and also caused a compiler warning message. the logic used to report the filter solution status has been broken down into smaller, easier to understand statements.
2015-01-01 23:39:48 +11:00
priseborough
c06f6e105e
AP_NavEKF: Consistent initialisation of tuning parameters and variables
...
Non user adjustable parameters are now declared as 'const' in the header.
The _ prefix has been removed from non user adjustable tuning parameters.
We use a function call rather than a constructor to initialise variables because it enables the filter to be re-started in flight if necessary.
For consistency some signed integer type declarations have been changed to unsigned where appropriate.
2015-01-01 23:39:31 +11:00
priseborough
f1dfa282dc
AP_NavEKF: Consolidate constant velocity mode decision logic
...
The decision to switch to constant velocity mode during optical flow operation and te decision to switch back were previously being made in two different places in code. Both decisions are now made in the one place which makes the code easier to follow and maintain.
2015-01-01 19:53:21 +11:00
priseborough
9caf2ac895
AP_NavEKF: Make reversion to no GPS mode unambiguous
2015-01-01 19:53:21 +11:00
priseborough
58e9dd5dcd
AP_NavEKF: Enumerate Position and Velocity aiding status
2015-01-01 19:53:21 +11:00
Andrew Tridgell
fb5e53e1e4
AP_Param: cope with older gcc versions
...
Travis-CI uses 4.6.3
2015-01-01 18:55:11 +11:00
Andrew Tridgell
9ae0dd05f8
AP_Param: avoid build warning due to %S format
2015-01-01 18:25:05 +11:00
Andrew Tridgell
f38f86ab8c
AP_Math: added location_path_proportion()
...
this can be used for glide slope calculations
2015-01-01 15:17:10 +11:00
Andrew Tridgell
4e5510c99e
AP_TECS: fixed warning
2015-01-01 15:14:48 +11:00
Andrew Tridgell
f8bce994b5
AP_OpticalFlow: don't write an error message if no flow sensor
...
most users have no flow sensor
2015-01-01 11:02:43 +11:00
Andrew Tridgell
06a72839ed
AP_InertialSensor: fixed error detection on secondary IMUs
...
the break; was preventing error detection on lsm303d/l3gd20
2015-01-01 08:55:57 +11:00
Randy Mackay
022c549339
BattMon_SMBus_I2C: use get_PEC to check reads
2014-12-31 15:23:00 +09:00
Randy Mackay
bf0e5a350c
BattMon_SMBus_I2C: add get_PEC method
2014-12-31 15:22:59 +09:00
Randy Mackay
3951e4d99b
BattMon: example sketch reads from SMBus
2014-12-31 15:22:58 +09:00
Randy Mackay
aecc8aac1f
BattMon: correct typo in monitor type enum
2014-12-31 15:22:57 +09:00
Randy Mackay
909d525206
BattMon: fix example sketch compile error
2014-12-31 15:22:51 +09:00
Randy Mackay
cf36fd55bd
GCS_MAVlink: correct sending of 2nd battery's voltage
2014-12-31 15:22:49 +09:00
Randy Mackay
76a28a962c
BattMon: remove #defines for monitor type
2014-12-31 15:22:47 +09:00
Randy Mackay
f077ecd338
BattMon_PX4: class to read from PX4Firmware via orb
2014-12-31 15:22:46 +09:00
Randy Mackay
3f35dc54fe
BattMon_I2C: smart battery class for APM
2014-12-31 15:22:45 +09:00
Randy Mackay
314db1403d
BattMon_SMBus: smart battery monitor driver
2014-12-31 15:22:45 +09:00
Randy Mackay
4d7df9ed26
BattMon_Analog: move analog features to new class
2014-12-31 15:22:44 +09:00
Randy Mackay
39dbf05c8f
BattMon_Backend: create backend class
2014-12-31 15:22:43 +09:00
Randy Mackay
eec66d8451
BattMon: parent class becomes frontend class
2014-12-31 15:22:42 +09:00
Randy Mackay
c36253b9b2
AC_PosControl: add comments
...
No functional change
2014-12-31 14:03:22 +09:00