pub struct Timeouts {
pub dead_reckoning_after: Seconds,
}Expand description
How long the filter may go without horizontal aiding before the status reports it dead-reckoning.
What the status says; what the filter does about a source it keeps rejecting is
Recovery’s. When a single source counts as timed out is not configured: each source’s
own measured period sets it, SourceHealth::timeout.
Fields§
§dead_reckoning_after: SecondsBeyond this with neither GNSS position nor GNSS velocity accepted, the status becomes
DeadReckoning, whatever else is still arriving. Also
a source’s timeout until its period is measured.
Horizontal, because that is the error nothing else bounds: a barometer holds height and
a magnetometer heading, and position still drifts. PX4’s inertial_dead_reckoning is
the same test (src/modules/ekf2/EKF/ekf_helper.cpp:804-903 at c4e4ef98e9), cleared
only by horizontal position or velocity aiding, and ArduPilot’s dead_reckoning flag
reads horizontal sources alone (libraries/AP_NavEKF3/AP_NavEKF3_Control.cpp:811 at
368dc0c428). A mission question rather than a measured one: how long a vehicle may
navigate on its inertial solution is what it is flying for.
Trait Implementations§
impl Copy for Timeouts
impl StructuralPartialEq for Timeouts
Auto Trait Implementations§
impl Freeze for Timeouts
impl RefUnwindSafe for Timeouts
impl Send for Timeouts
impl Sync for Timeouts
impl Unpin for Timeouts
impl UnsafeUnpin for Timeouts
impl UnwindSafe for Timeouts
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.