Commit Graph

6877 Commits

Author SHA1 Message Date
Randy Mackay
8a9df1c894 Mount_Servo: Servo functions moved to backend 2015-01-29 13:57:17 +11:00
Randy Mackay
7df2892b8d Mount_Backend: add backend class 2015-01-29 13:57:17 +11:00
Randy Mackay
88db50c3a7 Mount: parent class becomes front-end 2015-01-29 13:57:17 +11:00
Randy Mackay
12bd5cd6b1 AP_HAL_PX4: fix example sketch 2015-01-28 21:00:30 +09:00
Randy Mackay
aa7f946e04 GCS_MAVLink: fix example sketch 2015-01-28 17:15:52 +09:00
Randy Mackay
857c3ef0e9 Scheduler: fix example sketch 2015-01-28 17:15:51 +09:00
Randy Mackay
d5f02ec0df RangeFinder: fix example sketch 2015-01-28 17:15:50 +09:00
Randy Mackay
6e482d5c56 PerfMon: fix example sketch 2015-01-28 17:15:49 +09:00
Randy Mackay
52ca06fc22 Parachute: fix example sketch 2015-01-28 17:15:48 +09:00
Randy Mackay
f48a71f30a OptFlow: fix example sketch 2015-01-28 17:15:47 +09:00
Randy Mackay
775cbfba38 Notify: fix example sketch 2015-01-28 17:15:47 +09:00
Randy Mackay
314eb2536f Mount: fix example sketch 2015-01-28 17:15:46 +09:00
Randy Mackay
38702a7e23 Motors: fix example sketch 2015-01-28 17:15:45 +09:00
Randy Mackay
355a92aff4 Mission: fix example sketch 2015-01-28 17:15:44 +09:00
Randy Mackay
689cc9e298 AP_Math: fix example sketch 2015-01-28 17:15:43 +09:00
Randy Mackay
b43dc3bdfb INS: fix example sketch 2015-01-28 17:15:42 +09:00
Randy Mackay
7c293f01d9 HAL_AVR: fix example sketch 2015-01-28 17:15:41 +09:00
Randy Mackay
f84d31b838 HAL: fix example sketch 2015-01-28 17:15:40 +09:00
Randy Mackay
1141363868 GPS: fix example sketches 2015-01-28 17:15:39 +09:00
Randy Mackay
635ff92d6b Compass: fix example sketch 2015-01-28 17:15:39 +09:00
Randy Mackay
1475cf27ac AP_Common: fix example sketch 2015-01-28 17:15:38 +09:00
Randy Mackay
bb4204c045 Baro: fix example sketch 2015-01-28 17:15:37 +09:00
Randy Mackay
293eb74a37 AirSpeed: fix example sketch 2015-01-28 17:15:36 +09:00
Randy Mackay
d8664d15d6 AHRS: fix example sketch 2015-01-28 17:15:35 +09:00
Randy Mackay
d0d1254f03 AC_WPNav: fix example sketch 2015-01-28 17:15:34 +09:00
Randy Mackay
a5ec3e3ec1 AC_Sprayer: fix example sketch 2015-01-28 17:15:33 +09:00
Randy Mackay
99046ebda6 AC_Fence: fix example sketch 2015-01-28 17:15:32 +09:00
Randy Mackay
d7f7af8c13 AC_AttControl: fix example sketch 2015-01-28 17:15:32 +09:00
Randy Mackay
51cb7185f2 InertialNav: fix example sketch 2015-01-28 17:15:27 +09:00
Randy Mackay
0480828350 Dataflash: fix example sketch 2015-01-28 16:31:50 +09:00
Andrew Tridgell
3d433d2106 AP_Mission: loop check is only needed in one place 2015-01-23 13:48:45 +11:00
Andrew Tridgell
540cadc086 AP_Mission: prevent infinite loop with linked jump commands
this prevents a "jump loop" from causing a firmware lockup. Thanks to
dellarb for reporting this!
2015-01-23 13:14:27 +11:00
Andrew Tridgell
4ee9575e6d AP_Frsky_Telem: fixed code formatting
match ArduPilot coding standards
2015-01-22 16:49:39 +11:00
Matthias Badaire
f59f85d4a4 AP_Frsky_Telem: add SBUS support
add sbus support using a timer on a thread
2015-01-22 16:49:39 +11:00
priseborough
5df733a883 AP_NavEKF: Allow flight transition to optical flow mode if GPS is lost 2015-01-22 14:41:04 +09:00
priseborough
04810c012d AP_NavEKF: Increase flow data valid timeout to handle arming delays
When Copter arms, the AHRS/EKF may not be run for a few hundred msec depending on conditions. This can cause the arming check to fail the optical flow sensor and place the EKF in a constant position mode.
2015-01-22 14:41:01 +09:00
priseborough
073b8e7c43 AP_NavEKF: Always explicitly set required const pos or vel mode when arming
This additional explicit setting of the constPosMode and constVelMode reduces the likelihood of logic errors being introduced in the future as it places the intended setting of these parameters at arming in the one place. the constVelmode and constPosMode only have one set of conditions each that can trigger these modes in flight, so if these modes are true after arming it will be clear that it was the in-flight condition that triggered.
2015-01-22 14:40:59 +09:00
priseborough
9c6dabe1cc AP_NavEKF: Add separate flow default parameters for platform types
Also reduces flow measurement noise default for copter only and increases gate to compensate.
2015-01-22 14:40:57 +09:00
priseborough
d2da16e652 AP_NavEKF: Consistently set timeout flags whenever aiding is inhibited
This ensures the position and velocity measurement status will be set as timed out immediately after use of those measurements is inhibited. This will improve the timeliness of filter status reporting.
2015-01-22 14:40:55 +09:00
priseborough
824425625c AP_NavEKF: Update public method used to inhibit GPS use
This method is not currently used by any of our vehicle types, but will be required to enable a user selectable 'indoor mode'.
2015-01-22 14:40:52 +09:00
priseborough
1033f5fc1e AP_NavEKF: Apply flow nav vehicle limits regardless of sensor health
It does not make sense to relax the limits on vehicle speed and nav gains just because we have received some invalid flow data. This could make the situation worse if the invalid data was being caused by too much speed.
If we are relying on flow data the vehicle limits should always be applied.
2015-01-22 14:40:50 +09:00
priseborough
14b51f6d74 AP_NavEKF: Unconditionally fuse velocity in constant velocity mode
The zero velocity measurements in this mode are by definition always correct and should never be rejected
2015-01-22 14:40:48 +09:00
priseborough
6663d80176 AP_NavEKF: Simplify nested logic - functionally equivalent
Additional if else statement was unnecessary
2015-01-22 14:40:45 +09:00
priseborough
12c3368c4d AP_NavEKF: Bypass GPS glitch logic when not aiding
When we are not using GPS measurements, we should not be allowing the GPS glitch logic to reset position states as this can interfere with operation of non GPS modes.
2015-01-22 14:40:43 +09:00
priseborough
5c8e71a8d1 AP_NavEKF: Don't reset the position measurement timeout if not aiding
When PV aiding is disabled, then the timeout time reference should not be reset becasue we want the position measurement timeout status to remain true the whole time the measurement is not being used.
2015-01-22 14:40:41 +09:00
priseborough
c505a458de AP_NavEKF: Always declare a position measurement timeout if aiding not used
If position and velocity aiding is turned off, then the position measurement should always be reported as timed out.
2015-01-22 14:40:39 +09:00
priseborough
3b166372cc AP_NavEKF: Always declare a velocity measurement timeout if velocity not used
If position and velocity aiding is turned off, then the velocity measurement should always be reported as timed out.
2015-01-22 14:40:36 +09:00
priseborough
95c3197170 AP_NavEKF: Ensure velocity will not be reset unless needed for aiding 2015-01-22 14:40:34 +09:00
priseborough
8aeec82846 AP_NavEKF: Continually turn off aiding whilst the vehicle is disarmed
This prevents the possibility of any logic errors turning aiding back on.

AP_NavEKF: Fix bug in logic
2015-01-22 14:40:31 +09:00
priseborough
81ee339e25 AP_NavEKF: Synchronise non-aiding mode state corrections
Synchronise with covariance prediction to improve numerical stability and accuracy of angle corrections. The 'noise' this produces in the position and velocity estimate is irrelevantbecause these are not used by the control loops during this mode of operation (they are nominally zero anyway).
2015-01-22 14:40:29 +09:00
priseborough
ae6b85e63d AP_NavEKF: Explicitly set aiding to off when disarmed
This fixes a bug that could cause the AHRS to drift whilst the vehicle was disarmed depending sensor combinations at startup.
2015-01-22 14:40:27 +09:00
priseborough
fb1962b111 AP_NavEKF: Let reported position whilst disarmed show inertial errors
Showing the positon states (which are nominally zero) in addition to the last known offset can provide useful log information.
2015-01-22 14:40:25 +09:00
Randy Mackay
01c669ee15 RangeFinder: minor param description update
Also initialise primary instance to 0.
No functional change.
2015-01-22 14:40:16 +09:00
Randy Mackay
c24e997fb2 AC_Fence: use inertial nav's get_filter_status 2015-01-22 14:39:40 +09:00
Randy Mackay
f35efc56e0 InertialNav_EKF: get_filter_status replaces position_ok 2015-01-22 14:39:37 +09:00
Randy Mackay
5d80481723 InertialNav: get_filter_status replaces position_ok
altitude_ok also replaced.
2015-01-22 14:39:35 +09:00
Andrew Tridgell
61be4ce2d2 HAL_Linux: fixed #if for linux builds 2015-01-22 15:58:20 +11:00
Víctor Mayoral Vilches
2b74d018fe HAL_Linux: Adjust set_system_clock
Do nothing for HAL_BOARD_SUBTYPE_NONE.
2015-01-22 15:43:16 +11:00
Víctor Mayoral Vilches
974f243c7e HAL_Linux: Add set_system_clock 2015-01-22 15:43:16 +11:00
Jonathan Challinger
d679831c75 GCS_MAVLink: run generate.sh 2015-01-22 15:28:44 +11:00
Jonathan Challinger
0997ab23a4 GCS_MAVLink: merge upstream changes to common.xml 2015-01-22 15:19:47 +11:00
Grant Morphett
236efad159 AP_HAL_AVR: Increased number of AVR input channels from 8 to 11 2015-01-22 14:48:15 +11:00
mirkix
d11c5286c3 AP_HAL: HAL_COMPASS_AK8963 used but not defined anywhere 2015-01-22 14:35:51 +11:00
mirkix
9a65a8c8fb AP_Compass: add AK8963 to auto-detect in test suite 2015-01-22 14:34:23 +11:00
mirkix
e9d4165a8d AP_Compass: add AK8963 support to test suite 2015-01-22 14:34:17 +11:00
mirkix
7ceb93befa AP_HAL: make the examples usable with Linux 2015-01-22 14:30:47 +11:00
Andrew Tridgell
5512a6f8a0 SITL: lower the default noise in SITL
the noise levels were well above realistic levels, especially for gyro
noise, and were causing EKF issues
2015-01-22 11:33:09 +11:00
Randy Mackay
842efe71be DataFlash: move COMPASS2,3 formats to extra structures 2015-01-21 14:38:13 +09:00
Randy Mackay
e7471c5fe5 DataFlash: fix message id and CURR formatting 2015-01-21 14:38:03 +09:00
Randy Mackay
09e3dcd821 DataFlash: pass ahrs, batt, targets by reference 2015-01-21 14:38:01 +09:00
Randy Mackay
f23959b5fa DataFlash: fix missing slash lost in merge 2015-01-21 14:37:59 +09:00
Robert Lefebvre
80929c389e DataFlash: Handle multiple compass instances natively inside the Library. 2015-01-21 14:37:50 +09:00
Robert Lefebvre
5b70550b73 DataFlash: Fix potentially uninitialized variable compiler warning. 2015-01-21 14:37:27 +09:00
Robert Lefebvre
be803f4f39 DataFlash: Minor whitespace changes/cleanup. No effect. 2015-01-21 14:37:25 +09:00
Robert Lefebvre
2657610373 DataFlash: Add common-vehicle Mode logging method.
Conflicts:
	libraries/DataFlash/DataFlash.h
2015-01-21 14:37:18 +09:00
Robert Lefebvre
12c3593bc3 DataFlash: Add common-vehicle Compass logging method. 2015-01-21 14:37:14 +09:00
Robert Lefebvre
2fdcd99db2 Arducopter: Move Attitude Message structure definition to the Base Structures section.
Conflicts:
	libraries/DataFlash/DataFlash.h
2015-01-21 14:37:12 +09:00
Robert Lefebvre
d2adf2cdd7 DataFlash.h: Move format characters string to a more convenient location. 2015-01-21 14:37:10 +09:00
Robert Lefebvre
392e5257cc DataFlash: Add voltage2 data to Current log, to be used by plane. 2015-01-21 14:37:07 +09:00
Robert Lefebvre
50b5376945 DataFlash: Add common-vehicle Current logging message. 2015-01-21 14:37:01 +09:00
Robert Lefebvre
db1a066f43 DataFlash: Add common-vehicle Attitude logging message. 2015-01-21 14:36:56 +09:00
Robert Lefebvre
743c5e4fde AC_AttitudeControl: Remove un-needed #include 2015-01-21 14:36:54 +09:00
Andrew Tridgell
8b59c72eb9 AP_InertialSensor: cope with 2 IMUs in SITL 2015-01-20 19:47:45 +11:00
Andrew Tridgell
a37f3680e4 AP_Arming: support skip_gyro_cal
also break up arming INS reports, to be clearer for users
2015-01-20 19:47:15 +11:00
Andrew Tridgell
765d833efa AP_Arming: check compass.use_for_yaw() 2015-01-20 11:33:39 +11:00
Andrew Tridgell
e8017a5079 AP_NavEKF: cope with the changed semantics of airspeed.use() 2015-01-20 11:28:14 +11:00
Andrew Tridgell
ed0a56cc3c AP_AHRS: cope with the changed semantics of airspeed.use() 2015-01-20 11:27:58 +11:00
Andrew Tridgell
850b3b89ea AP_Arming: added INS checks and airspeed checks
this also displays all failing arming checks, not just the first
one. That is more useful for the user
2015-01-20 11:27:13 +11:00
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