Peter Barker
2bb6846d47
AP_NavEKF2: stop including AP_DAL.h in header
...
it's not needed and will slow compilation down
2024-09-06 08:52:01 +10:00
Andrew Tridgell
949975a856
AP_NavEKF2: set rejecting_airspeed flag
...
we report as rejecting airspeed when we have not fused airspeed for 3s
and want to use airspeed
2022-02-07 14:13:49 +11:00
Andrew Tridgell
6aca0bb08a
AP_NavEKF2: allow for double EKF build
2021-07-10 07:20:41 +10:00
murata
a5b6ce9220
AP_NavEKF2: Change misnomer (NFC)
2021-03-19 17:49:27 +11:00
Peter Barker
0aa10d8281
AP_NavEKF2: move tasHealth to be a stack variable
2020-12-01 10:40:09 +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
032b7c81e5
AP_NavEKF2: correct includes
2020-08-07 19:20:07 +10: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
Peter Barker
952d4d2cbc
AP_NavEKF2: initialise Kfusion stack variable to fix compilation
...
This fixes the compilation, as previous patches have done.
2019-09-25 12:54:55 +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
Arjun Vinod
78b165e36f
AP_NavEKF2: fixed typos
2019-02-26 08:33:39 +11:00
Arjun Vinod
a0e7c37f8c
AP_NavEKF2: fixed typos
2019-02-22 10:21:35 +11:00
Tom Pittenger
b32e8a4424
AP_NavEKF2: remove HAL_CPU_CLASS_150 check, 150 is already a minimum requirement
2019-02-17 12:59:52 -08:00
Dr.-Ing. Amilcar Do Carmo Lucas
ce37517268
AP_NavEKF2: Improve comments, typos
2017-05-03 08:44:49 +09:00
priseborough
a8f3a374e2
AP_NavEKF2: replace sqrt function calls with sqrtf
...
Prevents compiler errors and un-wanted use of double precision types
2016-12-18 10:28:04 +11:00
priseborough
ef03a85cd3
AP_NavEKF2: add range beacon interface and fusion method
2016-11-30 17:56:43 +09:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
dgrat
41661f815f
AP_Math: Replace the pythagorous* functions with a variadic template
...
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
Lucas De Marchi
2591261af6
Global: rename min and max macros to uppercase
...
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.
Changes generated with:
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Paul Riseborough
ddb7d92fc8
AP_NavEKF2: Fix timing jitter in airspeed fusion
...
The airspeed observation buffer was only being checked when new data arrived instead of every frame which introduced some timing jitter. The buffer is now checked every filer update step.
The duplication and inconsistent naming of booleans used to indicate availability f data has been fixed.
2015-11-26 09:22:03 +11:00
Siddharth Bharat Purohit
b3c8dcee34
AP_NavEKF2: measurement buffer refactor
2015-11-23 19:34:50 +11:00
Paul Riseborough
f9cadaf15c
AP_NavEKF2: Increase resolution of innovation consistency gate parameters
...
Also adds protection against setting the gate to a number that would casue numerical errors.
2015-11-18 11:39:53 +11:00
Paul Riseborough
577670ccee
AP_NavEKF2: Reduce memory required by 6KB when running at 400Hz
...
Down-sample the IMU and output observer state data to 100Hz for storage in the buffer.
This reduces storage requirements for Copter by 75% or 6KB
It does not affect memory required by plane which already uses short buffers due to its 50Hz execution rate.
This means that the EKF filter operations operate at a maximum rate of 100Hz.
The output observer continues to operate at 400Hz and coning and sculling corrections are applied during the down-sampling so there is no loss of accuracy.
2015-11-10 15:51:18 +11:00
Andrew Tridgell
2ab2afc86a
AP_NavEKF2: added EK2_IMU_MASK for multiple IMUs
...
no voting between multiple IMUs yet
2015-11-06 10:42:58 +11:00
Paul Riseborough
74da4d8e57
AP_NavEKF2: Remove GPS glitch offset logic
...
Correction for steps in position and velocity caused by resets following GPS glitches and other events are now handled by the control loops.
2015-10-30 12:24:04 +09:00
Paul Riseborough
cd8b9c7d26
AP_NavEKF: prevent high rate mag data locking out other data fusion
2015-10-20 20:16:04 +11:00
Andrew Tridgell
cb0f7cb370
NavEKF2: use new perf counter API
2015-10-20 18:16:15 +11:00
Paul Riseborough
0054291cf4
AP_NavEKF2: Apply optimisations to side-slip fusion covariance update
...
These are the same optimisations that were successful with the magnetometer fusion
2015-10-20 15:21:40 +11:00
Paul Riseborough
5e4bc4e954
AP_NavEKF2: Apply optimisations to airspeed fusion covariance update
...
These are the same optimisations that were successful with the magnetometer fusion
2015-10-20 15:21:40 +11:00
Andrew Tridgell
d1dfd5fd01
AP_NavEKF2: use common header for optimisation level and irq disable
2015-10-20 15:21:40 +11:00
Paul Riseborough
8526a8ba7e
AP_NavEKF2: Level processor loading between frames
...
Don't fuse other measurements on the same frame that magnetometer measurements arrive if running at a high frame rate as there will be insufficient time to complete other operations.
2015-10-20 15:21:39 +11:00
Paul Riseborough
1b8a93ef0c
AP_NavEKF2: Update function header comments
2015-10-20 15:21:38 +11:00
Paul Riseborough
99c2dc41e0
AP_NavEKF2: Miscellaneous tuning changes
2015-10-20 15:21:37 +11:00
Paul Riseborough
b142cc7fd2
AP_NavEKF2: Rename files and re-distribute content
2015-10-10 14:48:50 +09:00