Peter Barker
d600b87454
AP_NavEKF2: make logging a core concern
2020-12-01 13:06:04 +11:00
Peter Barker
fc7e7dcee4
AP_NavEKF2: remove unused variables
2020-12-01 10:40:09 +11:00
Peter Barker
addd57dcab
AP_NavEKF2: move badMagYaw onto stack
2020-12-01 10:40:09 +11:00
Peter Barker
0aa10d8281
AP_NavEKF2: move tasHealth to be a stack variable
2020-12-01 10:40:09 +11:00
Peter Barker
3a98d51427
AP_NavEKF2: move posvel fusion health booleans to be on the stack
2020-12-01 10:40:09 +11:00
Peter Barker
400ba7a9df
AP_NavEKF2: move global state to be on the stack
2020-12-01 10:40:09 +11:00
Andrew Tridgell
7313e9eb0f
AP_NavEKF2: removed inhibitGps and inhibitGpsVertVel options
...
these were unused
2020-12-01 10:33:50 +11:00
Andrew Tridgell
39ba8a8c83
AP_NavEKF2: convert to using common buffer classes
...
this saves a considerable amount of flash
2020-11-20 21:56:32 +11:00
Andrew Tridgell
16f7e51ea5
AP_NavEKF2: fixed use of pointers in ringbuffers
...
these don't work with AP_DAL
2020-11-10 16:15:45 +11:00
Andrew Tridgell
5f0e943f0f
AP_NavEKF2: use dal reference in EKF backends
...
saves a bit of flash space
2020-11-10 16:15:45 +11:00
Andrew Tridgell
6be3d19e82
AP_NavEKF2: convert to use AP_DAL for new replay structure
...
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Peter Barker
0496ecc4f6
AP_NavEKF2: remove unused state variables
2020-10-22 08:47:08 +11:00
Peter Barker
53305ba2a4
AP_NavEKF2: remove unused quat2Tbn method
2020-10-20 11:40:54 +11:00
Peter Barker
312cf725aa
AP_NavEKF2: remove dangling method declarations
2020-10-20 11:40:54 +11:00
Peter Barker
80f9ef7ed1
AP_NavEKF2: remove unused innovationIncrement and lastInnovation
2020-10-20 11:24:34 +11:00
Andrew Tridgell
35e95d3328
AP_NavEKF2: reset body mag variances at key points
...
reset on sensor switch or when changing to 3D fusion
2020-09-20 09:25:57 +10:00
Andrew Tridgell
067001bd61
AP_NavEKF2: take into account alignment when comparing cores
...
ensure we don't switch to a lane that does not have yaw or tilt
alignment from a lane that is aligned
2020-09-14 20:29:04 +10:00
Andrew Tridgell
6b9e595602
AP_NavEKF2: fixed handling of failed compass
...
when a compass goes unhealthy due to sensor failure we should try
another compass after 10s if another compass is available
2020-09-08 11:01:14 +10:00
Peter Barker
032b7c81e5
AP_NavEKF2: correct includes
2020-08-07 19:20:07 +10:00
Peter Barker
081c0bbfe0
AP_NavEKF2: correct comments on getFilterFaults and getFilterTimeouts methods
2020-07-07 10:50:41 +10:00
Randy Mackay
a8c2be26ba
AP_NavEKF2: remove unused terrainHgtStableSet_ms
2020-06-24 21:16:50 +09:00
Paul Riseborough
502b96f49c
AP_NavEKF2: Clarify intended use of setTerrainHgtStable accessor
2020-06-24 21:16:50 +09:00
Pierre Kancir
9bbd2b19c2
AP_NavEKF2: add --debug-ekf to debug the EKF
2020-06-20 19:59:05 +10:00
Randy Mackay
6c10655059
AP_NavEKF2: accept extnav at up to 50hz
2020-06-09 09:42:14 +10:00
chobits
dee095b4a4
AP_NavEKF2: support VISION_SPEED_ESTIMATE
2020-06-01 17:51:24 +09:00
Paul Riseborough
af19fea268
AP_NavEKF2: Fix 3-axis mag fusion per axis error handling
...
Ensure that if fusion checks for an axis fails, fusion will not be perfomred for all axes.
2020-05-20 15:09:32 +10:00
Randy Mackay
f26a2a47b4
AP_NavEKF2: writeExtNavData accepts delay
2020-05-15 10:07:52 +09:00
Randy Mackay
6e93f54cff
AP_NavEKF2: handle external nav position resets
2020-04-24 18:16:52 +09:00
Randy Mackay
43c9e13372
AP_NavEKF2: rename HGT_SOURCE_EV to HGT_SOURCE_EXTNAV
...
presumably EV stands for ExternalVision but we normally refer to this source as External Nav
2020-04-24 18:16:52 +09:00
Randy Mackay
014c889ceb
AP_NavEKF2: setAidingMode uses lastExtNavPassTime_ms
2020-04-24 18:16:52 +09:00
Randy Mackay
3b20623a31
AP_NavEKF2: remove unused ext nav elements
2020-04-24 18:16:52 +09:00
Randy Mackay
4d7e7a960a
AP_NavEKF2: more white space fixes
2020-04-24 09:43:23 +10:00
Randy Mackay
a9cbd5aa29
AP_NavEKF2: getDataEKFGSF and getYawData pass by reference
2020-04-24 09:43:23 +10:00
Randy Mackay
d61c517e76
AP_NavEKF2: minor format fix
2020-04-24 09:43:23 +10:00
Paul Riseborough
abc821ad36
AP_NavEKF2: Split GSF yaw estimator processing
...
Separate prediction and correction steps are required to provide an up to date yaw estimate using IMU prediction before it may be required by SelectMagFusion() whilst still doing the velocity update after GPS data haw been pulled from the buffer by SelectVelPosFusion()
2020-04-24 09:43:23 +10:00
Paul Riseborough
0d965d2a1c
AP_NavEKF2: Fix timer wrapping bugs
...
Also replaces tab characters
2020-04-24 09:43:23 +10:00
Paul Riseborough
de0040ad69
AP_NavEKF2: Enable use of EKF-GSF yaw estimate
...
Enables the yaw to be reset in flight to a value estimated from a specialised yaw estimator. This allows faster recovery if taking off with a bad magnetometer and also allows yaw alignment and GPS use to commence in-air when operating without any yaw sensing.
AP_NavEKF2: Add missing accesor functions for default airspeed
2020-04-24 09:43:23 +10:00
Randy Mackay
35dcb0d752
AP_NavEKF2: CorrectExtNavForSensorOffset made const
2020-04-21 10:21:23 +10:00
Randy Mackay
85704e4989
AP_NavEKF2: CorrectGPSForAntennaOffset made const
...
also reduce scope of call to slightly reduce CPU load
2020-04-21 10:21:23 +10:00
Randy Mackay
8749f30c64
AP_NavEKF2: external nav pos offsets from AP_VisualOdom library
2020-04-14 10:28:03 +10:00
Andrew Tridgell
9030590a88
AP_NavEKF2: fixed use of antenna position when switching GPS primary
...
when GPS primary switches we were using a position which had not been
corrected for antenna offset. This was used for calculating the reset
for sensor change.
This fixes that (trivial fix) and also fixes a similar issue on
position reset
2020-02-19 18:12:54 +11:00
Peter Barker
060c851709
AP_NavEKF2: make send_status_report const
2019-12-11 07:54:41 +09:00
Paul Riseborough
c26c6fd078
AP_NavEKF2: Add missing vertical position derivative calculation
...
Use a third order order complementary filter to estimate the rate of change of vertical position output.
2019-10-18 11:15:25 +09:00
Andrew Tridgell
f7e138bddd
AP_NavEKF2: use parent class for intermediate static variables
...
this makes the code faster as well as using less memory when both EK2
and EK3 are enabled
2019-10-01 15:39:03 +10:00
Andrew Tridgell
163efd0df5
AP_NavEKF2: change optimisation from -O3 to -O2
2019-09-28 08:57:26 +10:00
Andrew Tridgell
9226899c6f
AP_NavEKF2: added comment (review request)
2019-09-24 12:51:54 +10:00
Andrew Tridgell
255981c60c
AP_NavEKF2: moved some of the intermediate vars to the stack
...
this keeps stack frames below 1k, while giving faster access to the
variables and saving more memory
2019-09-24 12:51:54 +10:00
Andrew Tridgell
0041874826
AP_NavEKF2: moved intermediate variables to common memory
...
this moves intermediate variables from being per-core to being common
between cores. This saves memory on systems with more than one core by
avoiding allocating this memory on every core.
This is an alternative to #11717 which moves memory onto the stack. It
doesn't save as much memory as #11717 , but avoids creating large stack
frames
2019-09-24 12:51:54 +10:00
hoangthien94
fc9ff2b09a
AP_NavEKF2: add method to check if ext nav is used for yaw
2019-08-03 08:44:11 +09:00
Andrew Tridgell
c57b25b4c9
AP_NavEKF2: ensure that EKF origin stays in sync on all cores
...
this prevents the EKF origin on different cores from being initialised
to different values. A common value is stored in the frontend and used
by a core if it doesn't have an origin
2019-07-29 10:08:22 +10:00