Commit Graph

7048 Commits

Author SHA1 Message Date
Andrew Tridgell
68f64fa11c AP_AHRS: make the healthy() method const 2015-02-01 14:13:52 +11:00
Andrew Tridgell
850af14949 AP_NavEKF: raise EKF_POS_GATE and EKF_GLITCH_RAD for planes
This weights GPS position more heavily for planes

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2015-01-31 21:49:20 +11:00
Holger Steinhaus
8911dfd791 DataFlash: fix out-of-bounds read when logging
Checked in my rmackay9
2015-01-31 13:24:34 +09:00
Randy Mackay
0d94d5441f SerialManager: correct protocol comments
Correct value for 2nd MAVLink protocol
2015-01-31 12:18:47 +09:00
Matthias Badaire
b5b67cf68a SerialManager: Fix SERIALX_PROTOCOL comments
Fix SERIALX_PROTOCOL to have a proper documentation of the protocol types available
2015-01-31 12:18:36 +09:00
Randy Mackay
07a0388f25 AC_PosControl: move alt limit to set_alt_target_from_climb_rate
The alt limit is instead enforced when the target is set using the
set_alt_target_from_climb_rate function
Also updated comments
2015-01-30 14:13:52 +09:00
Robert Lefebvre
02f3f96310 AC_PosControl: Enable altitude limit checking. 2015-01-30 14:13:45 +09:00
Andrew Tridgell
79cad28a25 AP_Mount: simplify some uses of frontend 2015-01-29 17:23:33 +11:00
Andrew Tridgell
c05f36d29b AP_SerialManager: make the state structure private 2015-01-29 16:02:24 +11:00
Andrew Tridgell
1d272e5a32 AP_Frsky_Telem: don't use flow control for FrSky
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-01-29 15:53:41 +11:00
Andrew Tridgell
362b53e1da AP_GPS: force flow control off on GPS serial ports 2015-01-29 15:53:20 +11:00
Andrew Tridgell
5980ff8e1c AP_Common: removed map_baudrate()
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-01-29 15:47:48 +11:00
Andrew Tridgell
d6ab4722cd AP_SerialManager: moved map_baudrate() into class
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-01-29 15:47:36 +11:00
Andrew Tridgell
085a926e61 AP_Frsky_telem: update for find_serial() change 2015-01-29 15:37:18 +11:00
Andrew Tridgell
9ba2fefde3 AP_GPS: update for find_serial() change 2015-01-29 15:37:08 +11:00
Andrew Tridgell
60f266da19 AP_Mount: update for new find_serial() interface 2015-01-29 15:36:38 +11:00
Andrew Tridgell
59d5351dab GCS_MAVLink: update for new find_serial() 2015-01-29 15:36:19 +11:00
Andrew Tridgell
e28deacc4c AP_SerialManager: simplify interface, returning direct uart
added find_baudrate() for getting baudrate

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-01-29 15:35:42 +11:00
Randy Mackay
0a195671b3 SerialManager: set_console_baud uses first matching protocol
This ensures we set the baud to the first serial port with the specified
protocol instead of the last.
2015-01-29 14:05:15 +11:00
Matthias Badaire
5f432eaa2d AP_Mount_Alexmos : take into account available negative numbers
uartdriver->available () function brings back a signed int, we should be carefull to avoid an endless loop if that happens.
2015-01-29 14:05:15 +11:00
Randy Mackay
4a4387530a Mount: remove unused num_instances 2015-01-29 14:05:14 +11:00
Randy Mackay
d6433266d2 Mount_MAVLink: use SerialManager for init
use serial_manager's get_mavlink_channel
2015-01-29 14:05:14 +11:00
Randy Mackay
4848b03ac6 Mount_AlexMos: use SerialManager for init 2015-01-29 14:05:14 +11:00
Randy Mackay
56f872b38c Mount_Servo: use SerialManager for init 2015-01-29 14:05:13 +11:00
Randy Mackay
886cc9aa46 Mount: use SerialManager for init 2015-01-29 14:05:13 +11:00
Randy Mackay
19aa8939de FrSky_Telem: init uart when protocol is S-Port 2015-01-29 14:05:13 +11:00
Randy Mackay
5c086acc15 FrSky_Telem: comments, formatting and reordering
No functional change
Added comments and moved main functions to the top
Removed spaces between function name and brackets
2015-01-29 14:05:13 +11:00
Randy Mackay
6ef996d553 FrSky_Telem: init all members to zero and move to cpp 2015-01-29 14:05:13 +11:00
Randy Mackay
d16f787bd0 Frsky_Telem: use SerialManager for init 2015-01-29 14:05:12 +11:00
Randy Mackay
ebf5f98dbd GPS: detect_instance does not set uart rx, tx size 2015-01-29 14:05:12 +11:00
Randy Mackay
2eddecb10d GPS: use SerialManager for init 2015-01-29 14:05:12 +11:00
Randy Mackay
0c3a8f585a GCS_MAVLink: add get_uart accessor
use by flight code to print messages during startup
2015-01-29 14:05:12 +11:00
Randy Mackay
1275ff7d40 GCS_MAVLink: have_flow_control uses mavlink_comm 2015-01-29 14:05:12 +11:00
Randy Mackay
1157c13eb6 GCS_MAVLink: mavlink_comm_x become UARTDrivers 2015-01-29 14:05:12 +11:00
Randy Mackay
febda988af GCS_MAVLink: mavlink_channel from SerialManager 2015-01-29 14:05:11 +11:00
Randy Mackay
c6326fc9b7 GCS_MAVLink: use SerialManager for setup_uart 2015-01-29 14:05:11 +11:00
Randy Mackay
0fe4436c72 SerialManager: do not init uart for FrSky S-Port 2015-01-29 14:05:11 +11:00
Randy Mackay
cc71db1e2f SerialManager: lib to configure UART protocol 2015-01-29 14:05:11 +11:00
Randy Mackay
ee369f8a0d Mount_AlexMos: use reference to state 2015-01-29 14:05:11 +11:00
Randy Mackay
b083c99966 Mount_MAVLink: use reference to state 2015-01-29 14:05:11 +11:00
Randy Mackay
32ea258594 Mount_Servo: use reference to state 2015-01-29 14:05:10 +11:00
Randy Mackay
acbcf3c54e Mount: backends use reference to their state 2015-01-29 14:05:10 +11:00
Randy Mackay
bf82e82282 Mount_MAVLink: remove unused _enable and find_mount 2015-01-29 14:05:10 +11:00
Randy Mackay
b5127b680f Mount: set primary to first instance 2015-01-29 14:05:10 +11:00
Matthias Badaire
24af65a41a AP_Mount_Alexmos: critical fix to avoid endless loop if byte arrive to fast in serial buffer
This fix reads the number of bytes available and iterates on it instead of looking for new bytes in the serial buffer (potentially forever)
2015-01-29 14:05:10 +11:00
Matthias Badaire
46e92f99fe AP_Mount_Alexmos: use struct for CMD_CONTROL command
new struct created in header and used in control_axis function
2015-01-29 14:05:09 +11:00
Matthias Badaire
81d60af4a8 AP_Mount_Alexmos : cleanup initialization of class fields 2015-01-29 14:05:09 +11:00
Randy Mackay
c5ef5d21d3 Mount: add Alexmos to MNT2_TYPE param description 2015-01-29 14:05:09 +11:00
Randy Mackay
93323e2136 Mount_Alexmos: comments and formatting
No functional change
2015-01-29 14:05:09 +11:00
Matthias Badaire
1e5ddf3ce7 AP_Mount_Alexmos : make sure get_angles is called to get the real angles from the gimbal
get_angles calls the Alexmos API to get the current angles. It was not being called before.
2015-01-29 14:05:09 +11:00
Matthias Badaire
0b88f15a37 AP_Mount: fix Backend enum for AP_Mount_Alexmos and add comments
fix Backend enum for AP_Mount_Alexmos and add comments
2015-01-29 14:05:09 +11:00
Matthias Badaire
cdeb1fb8f3 AP_Mount_Alexmos : changes some define to avoid conflicting
change SPEED to AP_MOUNT_ALEXMOS_SPEED and the control mode defines as well
2015-01-29 14:05:08 +11:00
Matthias Badaire
6e5e438b0f AP_Mount: Make use of the new AP_Mount_Alexmos backend
This is adding AP_Mount_Alexmos as one of the available backend
2015-01-29 14:05:08 +11:00
Matthias Badaire
dfc086f9e9 AP_Mount_Alexmos : Add Alexmos Serial support for 8bit cards
This is the initial implementation of Alemox gimbal protocol. the uart output is for the moment hard coded but should become a parameter.
2015-01-29 14:05:08 +11:00
Randy Mackay
66ad56161b Mount_MAVLink: fix to calc_angle_to_location params 2015-01-29 14:05:08 +11:00
Randy Mackay
f509dad991 Mount_Servo: bug fix to calc_angle_to_location params 2015-01-29 14:05:08 +11:00
Randy Mackay
a78309734d Mount_MAVLink: remove set_roi_target, configure
These methods are now in the backend
2015-01-29 14:05:07 +11:00
Randy Mackay
99c35d5cf7 Mount_Servo: remove set_roi_target, configure
These methods are now in the backend
2015-01-29 14:05:07 +11:00
Randy Mackay
72fec52f0f Mount_Backend: move set_roi_target, configure to backend 2015-01-29 14:05:07 +11:00
Randy Mackay
efeb05876e AP_Mount: initialise mode to default 2015-01-29 14:05:07 +11:00
Randy Mackay
ace1fd8740 Mount_MAVLink: handle RC and GPS targeting in lib
Previously we expected the mount to do this but it is likely that the
first versions of MAVLink enable mounts will only be capable of pointing
at a particular angle
2015-01-29 14:05:07 +11:00
Randy Mackay
9d4210b82a Mount_Backend: move RC target handling to backend 2015-01-29 14:05:07 +11:00
Randy Mackay
b3044ced1f Mount_Backend: move calc_angle_to_lcoation to backend 2015-01-29 14:05:07 +11:00
Randy Mackay
8fabacf5ff Mount_MAVLink: use sysid from vehicle, compid of 10 2015-01-29 14:05:06 +11:00
Randy Mackay
6af5a6687f Mount: add params for second mount 2015-01-29 13:57:19 +11:00
Randy Mackay
5d30af233a Mount: move param underscore to lib 2015-01-29 13:57:18 +11:00
Randy Mackay
2ed4ca409c Mount_Servo: check_servo_map every 3sec 2015-01-29 13:57:18 +11:00
Randy Mackay
cb5a122dab Mount_Servo: add set_mode 2015-01-29 13:57:17 +11:00
Randy Mackay
a41ff2375b Mount_Backend: add set_mode virtual method 2015-01-29 13:57:17 +11:00
Randy Mackay
ef719b145b Mount: rename MODE to DFLT_MODE, move set_mode to backend 2015-01-29 13:57:17 +11:00
Randy Mackay
6c766051e8 Mount_MAVLink: minimalist mavlink backend
We assume MAVLink enabled mount will do all the hard work of support all modes
2015-01-29 13:57:17 +11:00
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
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