Commit Graph

746 Commits

Author SHA1 Message Date
Andrew Tridgell 3444de06b1 AP_NavEKF2: allow setOrigin when using GPS
this allows for use of a common origin between backends, and aligns
with EKF3 behaviour
2024-09-10 09:28:50 +10:00
Peter Barker 8b8307c132 AP_NavEKF2: correct includes 2024-09-06 08:52:01 +10:00
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
Peter Barker 7d1e1ef924 AP_NavEKF2: use enum class for DAL MemoryType 2024-09-04 09:51:08 +10:00
Andrew Tridgell 1b4fb403f2 AP_NavEKF2: added EK2_OPTIONS
this allows for disabling of external navigation data (such as visual
odomotry) in EKF2. This is very useful when using EKF2 as a fallback
and truth reference when testing visual odomotry on EKF3
2024-08-21 06:32:34 +10:00
Peter Barker 0f47cd7e8b AP_NavEKF2: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker e2f18d9217 AP_NavEKF2: remove unused initFailureReason 2024-07-01 09:04:05 +09:00
Peter Barker 025888a7d1 AP_NavEKF2: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Andrew Tridgell 5e88d67571 AP_NavEKF2: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Iampete1 b95b51f1a1 AP_NavEKF2: use set_and_defualt when changing imu mask 2024-03-26 11:35:36 +11:00
Simon Hancock 9d89996f45 AP_NavEKF2: Updates to log message units and help text
Set quaternion component units to no-unit from UNKNOWN
2024-01-21 14:26:54 +11:00
Peter Barker 3a76ce3162 AP_NavEKF2: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Andrew Tridgell 95a5a25909 AP_NavEKF2: fixed velocity reset on AID_NONE
The ResetVelocity() function is only supposed to reset XY states, not
Z state. Resetting the Z state for velocity results in a large
velocity glitch if a vehicle is descending or ascending when aiding
switches to AID_NONE

this fixes #19386
2023-06-26 18:09:31 +10:00
Andrew Tridgell 5a5c9d10a9 AP_NavEKF2: handle core setup failure
ensure num_cores is left as zero so that calls such as Log_Write don't
de-reference nullptr
2023-05-08 16:28:08 +10:00
Peter Barker 38c6eb24cd AP_NavEKF2: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Iampete1 0b8bc4798a AP_NavEKF2: pre-arm return failure message for correct core 2023-01-31 13:36:56 +11:00
Peter Barker 1d353d0be9 AP_NavEKF2: remove misleading comment about local variable names
these "local" variables are actually aliases into a global structure
2023-01-25 19:58:54 +11:00
Peter Barker 4f01519947 AP_NavEKF2: add trailing comma to AidingMode enum, reindent same 2023-01-25 19:50:34 +11:00
Andrew Tridgell fadb9007d0 AP_NavEKF2: added get_enable() 2022-12-20 10:34:22 +11:00
Tatsuya Yamaguchi a51c3206b2 AP_NavEKF2: do not check the second range finder if RANGEFINDER_MAX_INSTANCES is 1 2022-12-20 10:05:24 +11:00
Andy Piper d3d841ec98 AP_NavEKF2: ensure wind estimation from airspeed can be used on its own 2022-12-14 19:19:58 +11:00
Stephen Dade c0df999094 AP_NavEKF2: Add support for fixed height optical flow 2022-12-01 08:03:47 +09:00
Peter Barker f36f387948 AP_NavEKF2: make rngBcnDataToFuse const false if beacon not compiled in 2022-11-16 08:16:31 +11:00
Peter Barker 81d39677ab AP_NavEKF2: honour AP_BEACON_ENABLED
if the DAL cuts its APIs out based on AP_BEACON_ENABLED we have to modify EKF2 to not use those APIs
2022-11-16 08:16:31 +11:00
Peter Barker a01202c723 AP_NavEKF2: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Peter Barker c46a50f428 AP_NavEKF2: stop using GCS_MAVLINK.h in header files
... by passing through a reference to a link object instead
2022-08-16 09:45:51 +10:00
Andrew Tridgell a24ed6a7f1 AP_NavEKF2: fixed undefined behaviour in logging 2022-07-12 11:00:08 +10:00
murata c143fb0a5a AP_NavEKF2: Console output can be disabled 2022-05-17 09:53:06 +10:00
Peter Barker 04a64a20fa AP_NavEKF2: remove instance id from EK2 external interface
Removes passing of instance id in interfaces where -1 was the only value
ever passed in
2022-04-12 10:25:29 +10:00
Peter Barker 65b00bcc2a AP_NavEKF2: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Peter Barker 83011580f3 AP_NavEKF2: avoid direct use of Location alt field 2022-03-22 10:33:37 +11:00
Henry Wurzburg 5e6447e893 AP_NavEKF2: update and correct GSF parameter documentation 2022-02-15 10:56:35 +11:00
Randy Mackay 6c947fc10b AP_NavEKF2: minor spelling fixes to optflow fusion 2022-02-08 17:01:23 +09: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
Randy Mackay 88a3bfeccb AP_NavEKF2: minor spelling fixes 2022-01-17 11:29:39 +09:00
VMsunghwan b34d28fc7a AP_NavEKF2 : correct comment typo
calcuate -> calculate
2022-01-17 11:25:56 +09:00
VMsunghwan bd76c30768 AP_NavEKF2 : correct variable typo
receverPosDownMax -> receiverPosDownMax
receverPosDownMin -> receiverPosDownMin
2022-01-17 11:25:56 +09:00
Iampete1 7aca392dad AP_NavEKF2: don't include log structures if not enabled 2022-01-05 19:39:06 +11:00
Andrew Tridgell 52209d9d1a AP_NavEKF2: fixed gaps in EKF logging
timestamps should not be static as otherwise some lanes will not be
logged
2021-12-28 16:03:47 +11:00
Peter Barker 1886b2dccd AP_NavEKF2: fix type, 'willbe' -> 'will be' 2021-12-17 09:44:57 +09:00
Andrew Tridgell efc78359d7 AP_NavEKF2: revert compass parameter changes 2021-12-04 16:51:53 +11:00
Josh Henderson 9f2082496c AP_NavEKF2: allow define for IMU_MASK_DEFAULT 2021-11-30 10:20:54 +11:00
Iampete1 4303b61f94 AP_NavEKF2: update compass param discription 2021-11-30 08:14:43 +09:00
Andrew Tridgell 0d8cf00c5a AP_NavEKF2: add accessor for GSF yaw estimator 2021-11-01 09:00:27 +11:00
Andy Piper 78621668f8 AP_NavEKF2: convert APM_BUILD_COPTER_OR_HELI() to APM_BUILD_COPTER_OR_HELI 2021-10-26 11:42:12 +11:00
Gone4Dirt 9090cb1271 AP_NavEKF2: Add APM_BUILD_Heli 2021-09-29 19:55:48 +10:00
Josh Henderson 9a274ba565 AP_NavEKF2: initialize stateStruct.quat to unit length 2021-09-28 19:09:16 +10:00
Josh Henderson d5f5a3024a AP_NavEKF2: use vector.xy().length() instead of norm(x,y) 2021-09-14 10:43:46 +10:00
Peter Barker a62cb64867 AP_NavEKF2: improve description of XKF4/NKF4 fields
Courtesy Paul Riseborough here: https://github.com/ArduPilot/ardupilot_wiki/issues/3641#issuecomment-913577132
2021-09-08 17:06:12 +10:00