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
2020-12-01 10:53:08 +11:00
Andrew Tridgell
bb32f1a397
AP_NavEKF3: avoid initialising unused ring buffers
...
this assumes the nav sources are treated as reboot required
2020-12-01 10:53:08 +11:00
Peter Barker
e972fb31b1
AP_NavEKF3: remove unused variables
2020-12-01 10:40:09 +11:00
Peter Barker
0529ddcd67
AP_NavEKF3: move badMagYaw onto stack
2020-12-01 10:40:09 +11:00
Peter Barker
2885026bba
AP_NavEKF3: move tasHealth to be a stack variable
2020-12-01 10:40:09 +11:00
Peter Barker
b79a26135c
AP_NavEKF3: move posvel fusion health booleans to be on the stack
2020-12-01 10:40:09 +11:00
Peter Barker
2d25149e2e
AP_NavEKF3: move global state to be on the stack
2020-12-01 10:40:09 +11:00
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
2020-12-01 10:33:50 +11:00
Andrew Tridgell
80f7906744
AP_NavEKF3: removed inhibitGps and inhibitGpsVertVel options
...
these were unused
2020-12-01 10:33:50 +11:00
Andrew Tridgell
603e0c090d
AP_NavEKF3: don't reset EKx_GPS_TYPE when GPS has no vertical velocity
...
setting the parameter to 1 causes the following issues:
- the GPS may not have vertical velocity at the time the parameter
set happens, but may get it later when the GPS is fully configured
- we may switch between GPS modules which do/don't have vertical
velocity
- the user may download parameters after the set(1), and end up with
incorrect parameters they may later load onto the vehicle,
permanently disabling use of vertical velocity
2020-12-01 10:33:50 +11:00
Peter Barker
52b8b95a72
AP_NavEKF3: rearrange readGPSData to remove some nesting
2020-11-30 11:51:12 +11:00
Randy Mackay
4cd1c3cfde
AP_NavEKF3: param conversion loses config_error
...
config_error should only be run as part of setup because it may never return
2020-11-27 08:20:07 +09:00
Randy Mackay
adfc92523b
AP_NavEKF3: add configuredToUseGPSForPosXY
2020-11-25 21:00:07 +11:00
Andrew Tridgell
7eea13f86f
AP_NavEKF3: fixed build of standalone replay link test
...
parameter conversion not needed for replay
2020-11-24 20:46:37 +11:00
Peter Barker
200b085eea
AP_NavEKF3: move XKY0 and XKY1 to be normal log structures (from Log_Write)
2020-11-22 20:47:29 +11:00
Peter Barker
e1a033b296
AP_NavEKF3: make logging a core concern
...
Also dissolve some methods only used for logging
2020-11-22 20:47:29 +11:00
Peter Barker
914629351f
AP_NavEKF3: use scalar rather than array for state-prediction-allowed
...
EKF2 needs this for choosing alternate cores. EKF3 does not.
2020-11-22 14:09:48 +11:00
Paul Riseborough
8561f5239d
AP_NavEKF3: Fix bug preventing yaw alignment to EKF-GSF estimate
2020-11-21 12:56:10 +11:00
Andrew Tridgell
1e4b1d7563
AP_NavEKF3: convert to using common buffer classes
...
this saves a considerable amount of flash
2020-11-20 21:56:32 +11:00
Randy Mackay
d1983b0b77
AP_NavEKF3: fixup source param conversion
...
shorten param conversion config error
if gps and optical flow are enabled we default SRC2_VELXY to optflow
convert_params run from InitialiseFilter
ensure param conversion only run once
2020-11-20 16:43:44 +09:00
Randy Mackay
04e3623620
AP_NavEKF3: improve MAG_CAL vs EK3_SRCn_YAW checks
...
MAG_CAL param description include deprecated values
Pre-arm check of MAG_CAL using deprecated values
effective_magCal interprets 5 (was EXTERNAL_YAW) as Never, 6 (was EXTERNAL_YAW_FALLBACK) as WhenFlying
Update comments in param conversion from MAG_CAL to EK3_SRC1_YAW
2020-11-20 16:43:44 +09:00
Andrew Tridgell
36c946113d
AP_NavEKF3: handle compass fallback in yaw source reset
...
if we get to this point we must be using the compass fallback logic,
and should do the reset
2020-11-20 16:43:44 +09:00
Randy Mackay
8895d20c45
AP_NavEKF3: rename setPosVelYawSourceSet
2020-11-20 16:43:44 +09:00
Randy Mackay
5eb3875ebb
AP_NavEKF3: rename posxy_source_last and posxy_source_reset
2020-11-20 16:43:44 +09:00
Randy Mackay
f88364d653
AP_NavEKF3: use_compass minor order fixup
2020-11-20 16:43:44 +09:00
Randy Mackay
b475f01b25
AP_NavEKF3: update comments
2020-11-20 16:43:44 +09:00
Randy Mackay
0f8d0ef11b
AP_NavEKF3: move sources to 2nd bank of parameters
2020-11-20 16:43:44 +09:00
Randy Mackay
33b6212cce
AP_NavEKF3: rename _sources to sources
2020-11-20 16:43:44 +09:00
Randy Mackay
9716b09cad
AP_NavEKF3: minor indenting fix
2020-11-20 16:43:44 +09:00
Randy Mackay
6daaa06317
AP_NavEKF3: integrate AP_NavEKF_Source::useVelXYSource
...
also integrate useVelZSource
2020-11-20 16:43:44 +09:00
Andrew Tridgell
72ee7d15e1
AP_NavEKF3: fixup for AP_DAL
2020-11-20 16:43:44 +09:00
Randy Mackay
73835f0c11
AP_NavEKF3: pre_arm_check includes sources
2020-11-20 16:43:44 +09:00
Randy Mackay
6c0bb6a198
AP_NavEKF3: add convert_params for source
2020-11-20 16:43:44 +09:00
Randy Mackay
849e94cc24
AP_NavEKF3: call sources align inactive sources
2020-11-20 16:43:44 +09:00
Randy Mackay
ba9f60abc7
AP_NavEKF3: add getVelInnovationsAndVariancesForSource
2020-11-20 16:43:44 +09:00
Randy Mackay
58aa6086df
AP_NavEKF3: always calculate GPS innovations and variances
2020-11-20 16:43:44 +09:00
Randy Mackay
e7e91b1c3b
AP_NavEKF3: always calculate extNav innovations and variances
2020-11-20 16:43:44 +09:00
Randy Mackay
6b2b5c4ca0
AP_NavEKF3: add CalculateVelInnovationsAndVariances
2020-11-20 16:43:44 +09:00
Randy Mackay
2505fd5c1c
AP_NavEKF3: body and wheel odometry check source
2020-11-20 16:43:44 +09:00
Randy Mackay
1263648d88
AP_NavEKF3: beacon fusion checks source
2020-11-20 16:43:44 +09:00
Randy Mackay
8a56ce49be
AP_NavEKF3: optical flow fusion checks source
2020-11-20 16:43:44 +09:00
Randy Mackay
4cadaa5194
AP_NavEKF3: readyToUseOptFlow, Beacon, ExtNav check source
2020-11-20 16:43:44 +09:00
Randy Mackay
faed58a027
AP_NavEKF3: integrate Source for yaw
2020-11-20 16:43:44 +09:00
Randy Mackay
8931e50166
AP_NavEKF3: integrate Source for alt
2020-11-20 16:43:44 +09:00
Randy Mackay
c21d58ebea
AP_NavEKF3: integrate Source for position
2020-11-20 16:43:44 +09:00
Andrew Tridgell
4c606a30bb
AP_NavEKF3: use common structure names
2020-11-17 13:45:07 +11:00
Paul Riseborough
aaf558f593
AP_NavEKF3: Add velocity innovation check to use of EKF-GSF yaw
...
Only apply to non fly forward vehicle, eg copters, because magnitude of velocity innovation produced by plane launches is TBD.
2020-11-16 16:01:13 +11:00
Paul Riseborough
db86a5acc8
AP_NavEKF3: Don't update yaw estimator with bad GPS
2020-11-16 16:01:13 +11:00
Andrew Tridgell
5686dafeef
AP_NavEKF3: fixed logged core for GSF messages
2020-11-16 10:28:43 +11:00
Andrew Tridgell
03f2e853ce
AP_NavEKF3: fixed memory corruption on push before init
...
this fixes a bug that happens with VISION_SPEED_ESTIMATE from a
companion computer, which may come in before the EKF buffers are
allocated. That causes a push to an uninitialised ringbuffer which
triggers memory corruption
found using the new memory guard system
2020-11-15 15:42:48 +11:00