Commit Graph

13512 Commits

Author SHA1 Message Date
priseborough
784fa6fed8 AP_NavEKF3: fix compiler error 2017-01-27 16:57:42 +09:00
priseborough
6d53ab7b76 AP_GPS: minor comment change 2017-01-27 16:57:42 +09:00
priseborough
2c36da2b21 AP_NavEKF3: relocate perf monitor to count all three mag components 2017-01-27 16:57:42 +09:00
priseborough
a63eac8073 AP_NavEKF2: Add missing perf_end 2017-01-27 16:57:42 +09:00
priseborough
4d958952f6 AP_NavEKF3: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
priseborough
7ea37029b6 AP_NavEKF2: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
priseborough
4a490d522e AP_GPS: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
priseborough
b5ba1d0346 AP_NavEKF3: protect against large delay values returned by the GPS library 2017-01-27 16:57:42 +09:00
priseborough
be0096e812 AP_GPS: Allow the user to specify the GPS time delay
If the user sets a non-zero value of the delay it will be used in preference over the default value for that GPS type.
If the GPS type is unknown and the parameter is set to zero, then a default delay of 1 sample period will be used (eg 200ms for 5Hz).
2017-01-27 16:57:42 +09:00
priseborough
4540faf6af AP_NavEKF3: Improve waiting for GPS configuration
Do not time out and provide an escalating series of messages. We may need to adjust the time thresholds used for escalation.
Do not wait if the EKF is not using the GPS.
2017-01-27 16:57:42 +09:00
priseborough
52e8f687d9 AP_NavEKF3: fix logic bug introduced by magnetometer use changes 2017-01-27 16:57:42 +09:00
priseborough
a133d55b6d AP_NavEKF3: Allow copters to fly with magnetometers disabled
Copter operation without a magnetometer is limited to constant position and relative position modes only (no GPS or range beacon fusion permitted)
Copter optical flow operation without a magnetometer is permitted.
The ability of planes to takeoff/launch without a magnetometer and align the yaw using the GPS velocity is retained.
2017-01-27 16:57:42 +09:00
priseborough
2e5ac40ef6 AP_NavEKF3: remove unnecessary stdio includes 2017-01-27 16:57:42 +09:00
priseborough
8688d1ddac AP_NavEKF3: Improve range finder selection logic
Fixes bug that could leave it locked out of range finder use.
2017-01-27 16:57:42 +09:00
priseborough
7e8f3fca53 AP_NavEKF3: Address review comments
Removes a leftover debug printf statement.
Fixes documentation errors.
Replace remaining fmaxf function calls with Ardupilot MAX function
2017-01-27 16:57:42 +09:00
priseborough
b723966b8d AP_NavEKF2: Add protection against bad GPS time delay values
Prevent bad values for GPS time delay pushing the GPS time stamp outside the range of IMU data contained in the buffer. If this occurs it can prevent the GPS measurements from being fused and cause loss of navigation.
2017-01-27 16:57:42 +09:00
priseborough
e2757c17c8 AP_AHRS_NavEKF: fix ekf variable naming and initialisation 2017-01-27 16:57:42 +09:00
priseborough
59ee074560 AP_NavEKF3: Remove EKF2 names 2017-01-27 16:57:42 +09:00
priseborough
b862f0d7ad AP_NavEKF3: Enable use of GPS delay value from returned by the driver
Use the time delay returned by the GPS driver.
Wait long enough for the GPS configuration to be determined, but time out after 30 seconds and warn the user that a default value for time delay will be used.
2017-01-27 16:57:42 +09:00
Andrew Tridgell
bdc0630ccf AP_GPS: added all_configured() function
used for EKF to tell if gps_lag is valid
2017-01-27 16:57:42 +09:00
Andrew Tridgell
5d18f3a453 AP_GPS: added backend specific get_lag() function
the ublox7 and 8 seem to produce lower lag, around 120ms. Separately
we should also look at running these at 10Hz and see if that helps.
2017-01-27 16:57:42 +09:00
priseborough
69a47d7522 AP_NavEKF3: Improve reporting of buffer allocation 2017-01-27 16:57:42 +09:00
priseborough
ceb42225fd AP_NavEKF3: Ensure enough time to fill buffers when starting filter 2017-01-27 16:57:42 +09:00
priseborough
a8fd1d8bcd AP_NavEKF3: fix potential time-stamping bug
Use a consistent time reference
2017-01-27 16:57:42 +09:00
priseborough
8d1733cee6 AP_NavEKF3: Use FIR filtered airspeed
Switch to use of an airspeed reading averaged across the raw sensor readings. since the last update.
This avoids use of the IIR which requires a larger time delay compensation and violates the assumption of uncorrelated noise.
The time delay parameter has been reduced to compensate for the removal of the airspeed IIR filtering.
2017-01-27 16:57:42 +09:00
priseborough
9261c34097 AP_NavEKF3: Update default GPS delay
This value is a compromise between what works best for a Ublox 6 which is around 200msec delay and the more recent 7 and 8 series receivers that are around 120msec delay.
2017-01-27 16:57:42 +09:00
priseborough
ed5039823f AP_NavEKF3: Adapt sensor buffer lengths
Adapt the lengths of the IMU and observations buffers on startup to the specified time delays and update rates.
This does require the EKF to be re-started if time delays are changed.
2017-01-27 16:57:42 +09:00
priseborough
2cc48f78a7 AP_NavEKF3: Update range beacon fusion
Add innovation consistency check to alignment filter and publish alignment filter status data
2017-01-27 16:57:42 +09:00
priseborough
ed0a90ae5f AP_Beacon: Apply correct conversion from Pozyx beacon earth frame
The Pozyx beacon system uses a North, West, Up axis system and the APM software uses a North, East, Down convention.
2017-01-27 16:57:42 +09:00
priseborough
a02a84560f DataFlash: log 3-state range beacon estimator states for EKF3 2017-01-27 16:57:42 +09:00
priseborough
92b8c33b19 AP_NavEKF3: publish 3-state range beacon estimator states 2017-01-27 16:57:42 +09:00
priseborough
7c53573a0c AP_NavEKF3: Allow range beacon use with intermittent GPS 2017-01-27 16:57:42 +09:00
priseborough
e5e4883c72 AP_NavEKF3: Fix GPS use inhibit interface documentation 2017-01-27 16:57:42 +09:00
priseborough
c7e1828238 AP_NavEKF3: improve variable name 2017-01-27 16:57:42 +09:00
murata
32b60432b4 AP_Baro: Add format specification.
AP_Baro: Add format specification.
2017-01-27 18:20:22 +11:00
murata
37a55c38a1 StorageManager: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
9de6318b77 PID: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
4a60850558 GCS_MAVLink: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
474569c91b GCS_Console: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
81ef065c53 AP_RPM: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
17c62ffe4c AP_RangeFinder: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
59454b0c6f AP_Param: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
60b63bb69e AP_Parachute: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
77c402556b AP_OpticalFlow: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
3ce2ca488a AP_Notify: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
2d32211c81 AP_Mount: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
92eb179acf AP_Motors: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
9481e0d158 AP_Mission: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
aa3fb830af AP_Menu: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
0733d760f6 AP_HAL_VRBRAIN: Unify from print or println to printf.
AP_InertialSensor: Unify from print or printin to printf.
2017-01-27 18:20:22 +11:00
murata
67fdbf5c2d AP_HAL_SITL: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
3200f24106 AP_GPS: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
37873717de AP_Declination: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
50eead63cc AP_Common: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
f18b8844bf AP_BattMonitor: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
78a4cab06b AP_Baro: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
743d6e6db4 AP_Airspeed: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
836c8aa684 RC_Channel: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
9b1dadd93e AP_HAL_PX4: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
5e11497332 AC_PID: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
1b2ea27a68 DataFlash: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
30bbe7abb6 AP_HAL_Linux: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
ec4cce15a1 AP_Math: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
2643e7e906 AP_InertialSensor: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
03bf57219b AP_HAL: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata
af47a8e91c AP_Compass: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Lucas De Marchi
a73c1daa2e AP_HAL: Device: remove unused function to read registers
Callers can use be16toh(), be32toh(), etc. There's no need to have a
special function here for each type.
2017-01-26 23:18:27 -08:00
Lucas De Marchi
f6a4a4dbe8 AP_Airspeed: MS5525: use common macros to deal with endianness
Instead of calling a special method in the device, just use be16toh()
which is implemented for all platforms in our special sparse-endian.h
file. It has the advantage of using a special type for different
endianness and makes no assumption we are running on LE.
2017-01-26 23:18:27 -08:00
Lucas De Marchi
14519e90ff AP_HAL: Device: remove trailing whitespaces 2017-01-26 23:18:27 -08:00
mirkix
2f8452b8a6 AP_Notify: Add BeagleBone Blue 2017-01-26 23:15:52 -08:00
mirkix
6d99bb0937 AP_HAL_Linux: Add BeagleBone Blue to GPIO_BBB 2017-01-26 23:15:52 -08:00
mirkix
954267fc22 AP_HAL_Linux: Add BeagleBone Blue to RCInput_AioPRU 2017-01-26 23:15:52 -08:00
mirkix
d16ab890e8 AP_HAL_Linux: Add BealgeBone Blue 2017-01-26 23:15:52 -08:00
mirkix
093407e8e8 AP_HAL: Add BeagleBone Blue 2017-01-26 23:15:52 -08:00
Andrew Tridgell
848c03650b AP_RangeFinder: removed old PX4 rangefinder drivers 2017-01-27 18:12:20 +11:00
Andrew Tridgell
3b42289475 AP_RangeFinder: added doc listing for TrOneI2C 2017-01-27 18:11:29 +11:00
Andrew Tridgell
683e549ed7 AP_RangeFinder: added WHOAMI and crc check
thanks to Francisco for review comments
2017-01-27 18:11:29 +11:00
Andrew Tridgell
67a2441b12 AP_Math: started a set of crc functions
these functions are often common between drivers
2017-01-27 18:11:29 +11:00
Andrew Tridgell
68ff71e4c0 AP_RangeFinder: added trone in-tree driver 2017-01-27 18:11:29 +11:00
mirkix
ad7e21b860 AP_HAL_Linux: fix compiler warning in AnalogIn_IIO 2017-01-26 23:05:46 -08:00
Randy Mackay
0ce8cf3cf4 AP_Notify: remove ToshibaLED_PX4 2017-01-27 15:24:09 +09:00
Randy Mackay
98db17e9a1 AP_Notify: example sketch uses ToshibaLED_I2C driver 2017-01-27 15:24:09 +09:00
Randy Mackay
d8ae56f455 AP_Notify: pixhawk and vrbrain use in-tree ToshibaLED 2017-01-27 15:24:09 +09:00
Randy Mackay
eedfe13f9c AP_Notify: fix ToshibaLED_I2C and check both I2C buses
the rgb value was never being set meaning the led was always off
external bus is checked first
2017-01-27 15:24:09 +09:00
Randy Mackay
0e20c8040c AP_Notify: rgbled methods protected and add override
no functional change
2017-01-27 15:24:09 +09:00
Randy Mackay
855125381d AP_Compass: relax compass cal fitness and consistency checks 2017-01-27 11:20:02 +09:00
Randy Mackay
b5573f6665 AP_Notify: add PX4_V4 check to PixRacerLED 2017-01-27 11:01:17 +09:00
iseries1
4467a2cd16 AP_Notify: enable PixRacer onboard LED
Enable PixRacer onboard LED to show status of flight controller
2017-01-27 11:01:17 +09:00
Randy Mackay
8041a7f183 AP_Notify: add PixRacerLED 2017-01-27 11:01:17 +09:00
iseries1
e6a643f805 AP_HAL: define pixracer LED pins 2017-01-27 11:01:17 +09:00
murata
315f7c6a9a AP_Notify: Represent the base of ASCII numeric code with letters. 2017-01-26 23:59:11 +01:00
Tom Pittenger
da48b24a5c AP_Landing: add logging as new "LAND" field 2017-01-26 13:11:45 -08:00
Tom Pittenger
644f75942b AP_Landing: refactor bool variables into flag stucts 2017-01-26 13:11:45 -08:00
Tom Pittenger
bdafc2c025 AP_Landing: re/move complete flag into backend
the complete flag was only ever true during FLIGHT_LAND_FINAL so we just check for that now instead
2017-01-26 13:11:45 -08:00
Michael du Breuil
4cf1c74c62 AP_Landing + Plane: Check for land complete before requesting disarm 2017-01-26 13:11:44 -08:00
Tom Pittenger
2ccd91d88f AP_Landing: rename stage enum 2017-01-26 13:11:44 -08:00
Tom Pittenger
650e694eb1 Plane: move landing.reset to landing.do_land() 2017-01-26 13:11:44 -08:00
Tom Pittenger
61bc0a6206 Plane: check stage==LAND instead of landing.in_progress 2017-01-26 13:11:44 -08:00
Michael du Breuil
3e66dd10d7 Plane: Move landing stages inside AP_Landing and refactor 2017-01-26 13:11:44 -08:00
Michael du Breuil
ac27241a42 AP_Vehicle: Remove unused flight stages 2017-01-26 13:11:44 -08:00