gnss-rtk 0.8.0

GNSS position solver
Documentation
use crate::prelude::{Epoch, Frame, Orbit, SV};

/// Any [Orbit] provider should implement the [OrbitSource] trait to provide
/// information that will contribute to the solving process.
pub trait OrbitSource {
    /// Provide [Orbit]al state that will contribute to the solving process.
    ///
    /// The state should represent the [SV] Antenna Phase Center coordinates,
    /// at requested [Epoch], expressed in requested [Frame].
    /// Any error here directly reflects on the accuracy of the solution.
    ///
    /// `GNSS-RTK` is fully synchronous and expects measurements
    /// in chronological order. Because it follows your measurements,
    /// requests will then also be in chronological order, and this is
    /// always the "latest" [Epoch] processed for this [SV].
    ///
    /// :warning: it is mandatory to provide [Orbit]al states
    /// and not possible to only navigate using ephemeris frames using the current version.
    fn state_at(&self, epoch: Epoch, sv: SV, fr: Frame) -> Option<Orbit>;
}