Andrew Tridgell
bdba430e55
AP_NavEKF3: save memory on beacon debug structure
...
only allocate when beacons are enabled. This relies on a guarantee in
the DAL that the beacon count cannot change
4 years ago
Peter Barker
2d25149e2e
AP_NavEKF3: move global state to be on the stack
4 years ago
Andrew Tridgell
d242339f2e
AP_NavEKF3: added have_vz flag to GPS buffer data
...
this ensures that we record GPS vertical velocity status for every
sample correctly
4 years ago
Andrew Tridgell
80f7906744
AP_NavEKF3: removed inhibitGps and inhibitGpsVertVel options
...
these were unused
4 years ago
Peter Barker
52b8b95a72
AP_NavEKF3: rearrange readGPSData to remove some nesting
4 years ago
Peter Barker
e1a033b296
AP_NavEKF3: make logging a core concern
...
Also dissolve some methods only used for logging
4 years ago
Andrew Tridgell
1e4b1d7563
AP_NavEKF3: convert to using common buffer classes
...
this saves a considerable amount of flash
4 years ago
Randy Mackay
33b6212cce
AP_NavEKF3: rename _sources to sources
4 years ago
Randy Mackay
6daaa06317
AP_NavEKF3: integrate AP_NavEKF_Source::useVelXYSource
...
also integrate useVelZSource
4 years ago
Randy Mackay
faed58a027
AP_NavEKF3: integrate Source for yaw
4 years ago
Randy Mackay
8931e50166
AP_NavEKF3: integrate Source for alt
4 years ago
Randy Mackay
c21d58ebea
AP_NavEKF3: integrate Source for position
4 years ago
Andrew Tridgell
c14d19be68
AP_NavEKF3: fixed gcc 9.3 build error
...
gcc 9.3 doesn't like the use of get_accel(i) when array length is 1
4 years ago
Andrew Tridgell
f5275fd0ad
AP_NavEKF3: fixed use of pointers in ringbuffers
...
these don't work with AP_DAL
4 years ago
Andrew Tridgell
9b81c5a1e0
AP_NavEKF3: use dal reference in EKF backends
...
saves a bit of flash space
4 years ago
Andrew Tridgell
1bdf6173ec
AP_NavEKF3: removed have_ekf_logging
4 years ago
Andrew Tridgell
a0de6c620f
AP_NavEKF3: use selected GPS for gps_yaw_deg()
...
more than one GPS could provide yaw
4 years ago
Andrew Tridgell
e87f98066f
AP_NavEKF3: support replay with external navigation data
4 years ago
Andrew Tridgell
7bbbbd314c
AP_NavEKF3: added optflow support for AP_DAL
4 years ago
Andrew Tridgell
096aab9388
AP_NavEKF3: convert to use AP_DAL for new replay structure
...
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
4 years ago
Randy Mackay
2f1ae29a9c
AP_NavEKF3: extnav data gets corrected boolean
...
CorrectExtNavForSensorOffset and CorrectExtNavVelForSensorOffset use
corrected boolean to avoid correcting twice
4 years ago
Randy Mackay
71487e9c10
AP_NavEKF3: gps_elements gets corrected flag
...
CorrectGPSForAntennaOffset uses this flag to ensure position and velocity are only corrected once
4 years ago
Andrew Tridgell
8a4b0f858a
AP_NavEKF3: reset body mag variances at key points
...
we need to reset the body mag variances if we change sensors or if we
are starting 3D fusion. When not doing 3D fusion we zero the
variances, so they must be initialised again when we restart
fusion. This fixes a bug in handling the variances on a 2nd flight
4 years ago
Andrew Tridgell
c03c43e52c
AP_NavEKF3: use same mag switch pattern as EKF2
...
based on Pauls suggested change
4 years ago
Andrew Tridgell
3836b59041
AP_NavEKF3: 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
4 years ago
Harshit Kumar Sankhla
edc3709653
AP_NavEKF3: implement sensor affinity using EK3_AFFINITY parameter
...
this allows the EKF core index to be used to select a GPS/baro/mag
instance. This is an alternative to GPS blending that allows EKF lane
switching to be used to select the right combination of GPS and IMU
add logging to XKFS message
5 years ago
Randy Mackay
46a7e96c48
AP_NavEKF3: readRngBcnData avoids array overflow from beacon count
5 years ago
Randy Mackay
b86e16e927
AP_NavEKF3: readRngBcnData gets minor formatting fix
5 years ago
Randy Mackay
384029d278
AP_NavEKF3: rngBcnDataNew made local
5 years ago
Randy Mackay
8c877f02af
AP_NavEKF3: shrink beacon arrays and add assert
5 years ago
Randy Mackay
6bf2057712
AP_NavEKF3: minor formatting fixes
5 years ago
Randy Mackay
4c40d2ac3f
AP_NavEKF3: readyToUseBodyOdm uses delayed imu and wheel encoder timestamps
5 years ago
Randy Mackay
056a2de260
AP_NavEKF3: wheelOdmDataNew member made local
...
this variable is never used outside the writeWheelOdom method
5 years ago
Andrew Tridgell
44d5a923cc
AP_NavEKF3: apply min GPS accuracy at measurement point
...
this fixes an issue a RTK GPS gives 1cm horizontal and vertical
accuracy and that causes the variances to get too small
5 years ago
chobits
c722367c6c
AP_NavEKF3: move extNavVelNew to local variable
5 years ago
Peter Barker
6b701ae3b3
AP_NavEKF3: correct includes
5 years ago
Paul Riseborough
9a4108f55e
AP_NavEKF3: Simplify setting EK3_MAG_CAL
...
Don't require user to separately set EK3_MAG_CAL to fly without a magnetomer
5 years ago
Paul Riseborough
8ff6780323
AP_NavEKF3: Clarify distinct use cases for 'takeoff expected'
5 years ago
Paul Riseborough
d1a0c2eb30
AP_NavEKF3: Start EKF-GSF yaw estimator before fixed wing takeoff
5 years ago
Dr.-Ing. Amilcar do Carmo Lucas
fca8d33c50
AP_NavEKF3: fix vertical flyaways when rangefinder stops providing data
5 years ago
Randy Mackay
ca0ae57b56
AP_NavEKF3: protect against position-delta sensor data being NaN
5 years ago
Randy Mackay
331f2f5fe7
AP_NavEKF3: writeExtNavData stores pos to buffer first
...
This is a non-functional change
5 years ago
Randy Mackay
578800dfbb
AP_NavEKF3: protect against ExtNav being NaN
5 years ago
chobits
9b448b83c0
AP_NavEKF3: use err info from ext nav interface
5 years ago
Randy Mackay
0f212ca727
AP_NavEKF3: accept extnav at up to 50hz
5 years ago
chobits
c7817eaca1
AP_NavEKF3: support VISION_SPEED_ESTIMATE
...
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
5 years ago
Randy Mackay
ef02942459
AP_NavEKF3: writeBodyFrameOdom accepts delay
5 years ago
Randy Mackay
c28fd27b02
AP_NavEKF3: writeExtNavData accepts delay
5 years ago
Randy Mackay
45e6896d95
AP_NavEKF3: ensure extnav angle error is at least 5deg
5 years ago
Andrew Tridgell
5350ea5c58
AP_NavEKF3: avoid build warnings with g++ 9
5 years ago