Config

Struct Config 

Source
pub struct Config {
Show 17 fields pub timescale: TimeScale, pub method: Method, pub prefered_signal: Option<Signal>, pub fixed_altitude: Option<f64>, pub code_smoothing: usize, pub int_delay: Vec<InternalDelay>, pub arp_enu: Option<(f64, f64, f64)>, pub solver: SolverOpts, pub externalref_delay_s: Option<f64>, pub max_eclipse_rate_percent: f64, pub min_sv_elev: Option<f64>, pub min_sv_azim: Option<f64>, pub max_sv_azim: Option<f64>, pub min_snr: Option<f64>, pub max_tropo_bias: f64, pub max_iono_bias: f64, pub modeling: Modeling,
}

Fields§

§timescale: TimeScale

Time scale in which we express the PVT solutions, TimeScale::GPST is the default value.

§method: Method

Navigation Method (technique) to be used.

§prefered_signal: Option<Signal>

Select a prefered signal. When defined, this signal will strictly be used in the navigation process. When undefined, the algorithm will prefer the best SNR available, and the signal frequency being used might change. When Method is Method::SPP this should be a single frequency. When Method is not Method::SPP and [Modeling] enables Ionospheric bias compensation,

§fixed_altitude: Option<f64>

Fixed altitude: reduces the need of 4 to 3 SV to obtain 3D solutions.

§code_smoothing: usize

Pseudo Range code smoothing (window length). Use phase observatoins to smooth and reduce error in the pseudo range code. This has no effect if phase observations are missing. Set to 0 to disable this feature completely. When parametrizing, think in terms of window duration versus Ionospheric activity.

§int_delay: Vec<InternalDelay>

Internal delays to compensate for (total summation, in [s]). Compensation is only effective if [Modeling.cable_delay] is also turned on.

§arp_enu: Option<(f64, f64, f64)>

Antenna Reference Point (ARP) expressed as ENU offset [m]

§solver: SolverOpts

Solver customization

§externalref_delay_s: Option<f64>

Time Reference Delay. According to BIPM ““GPS Receivers Accurate Time Comparison”“ this is the time delay between the receiver external reference clock and the internal sampling clock. This is typically needed in precision timing applications.

§max_eclipse_rate_percent: f64

Maximal Earth / Sun occultation tolerated for each satellite. For example, 20.0% means that we require satellites to be 80% illmuinated. 10.0% is our default value.

§min_sv_elev: Option<f64>

Minimal SV elevation angle for an SV to contribute to the solution. Use this as a simple quality criteria.

§min_sv_azim: Option<f64>

Minimal SV Azimuth angle for an SV to contribute to the solution. SV below that angle will not be considered. Use this is in special navigation scenarios.

§max_sv_azim: Option<f64>

Maximal SV Azimuth angle for an SV to contribute to the solution. SV below that angle will not be considered. Use this is in special navigation scenarios.

§min_snr: Option<f64>

Minimal SNR for an SV to contribute to the solution.

§max_tropo_bias: f64

Maximal tropo bias that we tolerate (in [m]). Has no effect if modeling.tropo_delay is disabled.

§max_iono_bias: f64

Maximal iono bias that we tolerate (in [m]). Has no effect if modeling.iono_delay is disabled.

§modeling: Modeling

Atmospherical and Physical [Modeling] used to improve the accuracy of solution.

Implementations§

Source§

impl Config

Source

pub fn with_navigation_method(&self, method: Method) -> Self

Returns new Config with desired navigation Method

Source

pub fn with_modeling(&self, modeling: Modeling) -> Self

Copies and returns Config with desired [Modeling], that you can tune to improve the accuracy of your solution, or for learning purposes.

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Config

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,