State-space GNSS corrections.
This module is the Elixir wrapper over the core SSR/HAS correction store and corrected broadcast ephemeris source. It holds decoded corrections in a native resource and evaluates corrected satellite states through the core.
Summary
Functions
Return the latest clock correction for a satellite.
Evaluate an SSR-corrected broadcast satellite state at an epoch.
Decode framed RTCM SSR/HAS messages into a correction store.
Create an empty correction store.
Return the latest orbit correction for a satellite.
Sample an SSR-corrected broadcast source over a time grid.
Return the latest SSR URA index for a satellite.
Types
@type epoch() :: NaiveDateTime.t() | tuple() | number()
@type t() :: %Sidereon.GNSS.SSR{handle: reference()}
Functions
@spec clock(t(), String.t()) :: {:ok, Sidereon.GNSS.SSR.ClockCorrection.t()} | {:error, term()}
Return the latest clock correction for a satellite.
@spec corrected_position( Sidereon.GNSS.Broadcast.t(), t(), String.t(), epoch(), keyword() ) :: {:ok, %{position_ecef_m: {float(), float(), float()}, clock_s: float()}} | {:error, term()}
Evaluate an SSR-corrected broadcast satellite state at an epoch.
Decode framed RTCM SSR/HAS messages into a correction store.
@spec new() :: t()
Create an empty correction store.
@spec orbit(t(), String.t()) :: {:ok, Sidereon.GNSS.SSR.OrbitCorrection.t()} | {:error, term()}
Return the latest orbit correction for a satellite.
Sample an SSR-corrected broadcast source over a time grid.
Return the latest SSR URA index for a satellite.