1extern crate self as sidereon_core;
58
59mod validate;
65
66#[cfg(all(test, sidereon_repo_tests))]
67mod test_parity;
68
69pub mod artifact_bytes;
70pub mod astro;
71pub(crate) mod format;
72
73mod ambiguity; mod antenna; pub mod antex; pub mod araim; pub mod bias; mod broadcast; pub mod broadcast_comparison; pub mod carrier_phase; pub mod clock_stability; pub mod constants; pub mod constellation; mod crinex; pub mod data; pub mod dop; pub mod error_metrics; pub mod exact_cache; pub mod frequencies; mod glonass; pub mod has; mod ionex; pub mod navigation; pub mod nmea; pub mod ntrip; pub mod observables; pub mod ppp_corrections; pub mod precise_positioning; mod reduced_orbit; mod rinex_clock; mod rinex_common; mod rinex_nav; mod rinex_obs; mod rinex_qc; pub mod rtcm; pub mod rtk; pub mod sbas;
113pub mod sbas_pl; pub mod scenario; pub mod sidereal; pub mod signal; pub mod source_localization; mod sp3; mod spp; pub mod ssr; pub mod staleness; pub mod static_positioning; mod static_reference_station; mod tropo; pub mod velocity; mod error;
128pub mod frame;
129pub mod frame_catalog;
130mod id;
131
132pub mod atmosphere;
133pub mod combinations;
134pub mod dgnss;
135pub mod ephemeris;
136pub mod estimation; pub mod geodesic; pub mod geodetic_time_series; pub mod geofence; pub mod geoid; pub mod geometry;
142pub mod geometry_quality;
143pub mod ils; pub mod inertial; pub mod integrity; pub mod observation_qc; pub mod qc_obs {
148 pub use crate::observation_qc::*;
150}
151pub mod orbit;
152pub mod orbit_determination;
153pub mod positioning;
154pub mod prelude;
155pub mod quality; pub mod rinex;
157pub mod rtk_filter; pub mod terrain;
159pub mod terrain_store;
160pub mod tides;
161pub mod tolerances;
162
163pub mod fusion; pub use crate::astro::frames::{
166 EarthOrientation, EarthOrientationProvider, PolarMotionSample,
167 PolarMotionSeriesEarthOrientationProvider, TdbEarthOrientationProvider,
168};
169pub use crate::error_metrics::{
170 error_ellipse_from_enu_m2, horizontal_radius_at, metrics_from_ecef_covariance_m2,
171 metrics_from_enu_covariance_m2, metrics_from_kinematic_solution,
172 metrics_from_position_covariance, spherical_radius_at, vertical_radius_at, ErrorEllipse,
173 ErrorMetricsError, PercentileRadius, PositionErrorMetrics,
174};
175pub use crate::estimation::{
176 alpha_beta_apply_measurement, alpha_beta_filter_step, alpha_beta_predict,
177 alpha_beta_steady_state_gains, cfar_ca_false_alarm_probability, cfar_ca_multiplier_from_pfa,
178 cfar_ca_pfa_from_multiplier, cfar_ca_threshold, ewma_update, ewma_update_power_of_two,
179 kalman_cv_steady_state_gains, mad_spread, nis_expected_value, nis_gate_test,
180 nis_gate_threshold, nis_statistic, normalized_innovation, rts_smooth, smooth_track_rts,
181 AlphaBetaGains, AlphaBetaState, AlphaBetaStep, PrimitiveError, ScalarKalmanGains,
182 SmoothedTrack, SmoothedTrackEpoch, TrackCoordinateFrame, TrackError, TrackFilter,
183 TrackFilterConfig, TrackGatedUpdate, TrackInnovation, TrackPrediction, TrackRtsEpoch,
184 TrackRtsHistory, TrackRtsHistoryBuilder, TrackState, TrackUpdate, MAD_GAUSSIAN_CONSISTENCY,
185};
186pub use crate::quality::{
187 reliability_araim, reliability_design, wtest_noncentrality, wtest_noncentrality_components,
188 ObservationReliability, RangeReliabilityRow, ReliabilityOptions, ReliabilityReport,
189 ReliabilitySummary, WtestNoncentralityComponents,
190};
191pub use araim::ProtectionModel;
192pub use error::{Error, Result};
193pub use frame::{
194 geodetic_to_itrf, itrf_to_geodetic, FrameValueError, ItrfPositionM, ItrfVelocityMS,
195 Wgs84Geodetic,
196};
197pub use frame_catalog::{
198 catalog, catalog_entry, propagate_position, transform, transform_from_epoch, FrameCatalogError,
199 HelmertParameters, HelmertRates, HelmertTransform, TerrestrialFrame, TerrestrialPositionM,
200 TerrestrialState, TerrestrialVelocityMPerYear, TERRESTRIAL_FRAME_CATALOG,
201};
202pub use fusion::{
203 loose_coupling_correction, smooth_fusion_rts, ukf_correct_closed_loop,
204 validate_time_sync_gnss_order, validate_time_sync_imu_order, velocity_match_outage,
205 velocity_match_outage_to_state, F64Bits, FusionFilterKind, FusionRtsEpoch, FusionRtsHistory,
206 FusionRtsHistoryBuilder, FusionStateCodecError, FusionUpdate, GnssFixMeasurement,
207 GnssFixStatus, GnssFixStatusWeighting, IggIiiMeasurementReweighting, InertialFilter,
208 InertialFilterConfig, LooseCouplingConfig, NonHolonomicConstraintConfig,
209 SerializableErrorStateLayout, SerializableFusionSnapshot, SerializableFusionState,
210 SerializableGnssFixStatus, SerializableImuSample, SerializableImuSampleKind,
211 SerializableInsFilterState, SerializableLooseMeasurement, SerializableNavState,
212 SerializableRateEndpoint, SerializableSatelliteId, SerializableStationarityDetectorSample,
213 SerializableStoredCheckpoint, SerializableStoredGnssMeasurement, SerializableStoredImuSample,
214 SerializableTightCarrierPhaseObservation, SerializableTightFilterState,
215 SerializableTightGnssEpoch, SerializableTightGnssObservation,
216 SerializableTightRangeRateObservation, SerializableTimeSyncHistory,
217 SerializableTimeSyncHistoryConfig, SmoothedFusionEpoch, SmoothedFusionTrajectory,
218 StationarityDetectorSnapshotSample, StationaryDetectorConfig, StationaryUpdateConfig,
219 TimeSyncHistoryConfig, TimeSyncHistoryStatus, TimeSyncUpdate, UkfUpdateOptions,
220 UnscentedTransformOptions, VelocityMatchState, VelocityMatchedTrajectory,
221 VelocityMatchingConfig, YangPredictionAdaptiveFactor, DEFAULT_TIME_SYNC_CHECKPOINT_CAPACITY,
222 DEFAULT_TIME_SYNC_IMU_CAPACITY, FUSION_STATE_CODEC_VERSION,
223};
224pub use geodesic::{geodesic_direct, geodesic_inverse, GeodesicError};
225pub use geofence::{
226 containment, containment_probability, containment_probability_with_options, crossing,
227 crossing_probability, crossing_probability_with_options, distance_to_boundary, CrossingEvent,
228 CrossingKind, Fence, GeofenceError, GeofencePositionEstimate, PositionUncertainty,
229 ProbabilityHysteresis, ProbabilityMethod, ProbabilityOptions, GEOFENCE_BOUNDARY_TOLERANCE_M,
230 PLANAR_FAST_PATH_MAX_RADIUS_M,
231};
232pub use geoid::{
233 egm96_undulations_deg, egm96_undulations_rad, ellipsoidal_height_m, geoid_undulation,
234 geoid_undulations_deg, geoid_undulations_rad, orthometric_height_m, Egm2008GridSpacing,
235 Egm2008RasterWindow, GeoidError, GeoidGrid, ProjVgridshiftArithmetic, ProjVgridshiftError,
236};
237pub use id::{GnssSatelliteId, GnssSystem, SatelliteIdError};
238pub use inertial::{
239 gauss_markov_bias_decay, gauss_markov_bias_variance_increment, gravity_ecef_mps2,
240 mechanize_ecef, normal_gravity_mps2, rodrigues_delta_dcm, simulate_imu_samples,
241 simulate_imu_samples_from_increments, true_imu_increment_between, AttitudeQuaternion,
242 ConingCorrection, CorrectedImuIncrement, ImuBias, ImuCalibration, ImuErrorModel, ImuGrade,
243 ImuRateRandomWalk, ImuSample, ImuSampleKind, ImuSimulationOptions, ImuSimulationOutput,
244 ImuSimulator, ImuSpec, InertialError, MechanizationConfig, NavState, SimulatedImuSequence,
245 StrapdownMechanizer, DEFAULT_IMU_SIM_SEED, WGS84_NORMAL_GRAVITY_EQUATOR_MPS2,
246 WGS84_NORMAL_GRAVITY_POLE_MPS2, WGS84_SOMIGLIANA_K,
247};
248pub use observables::{
249 emission_media_batch_at_j2000_s, observable_media_corrections, predict_batch_with_media,
250 predict_batch_with_media_parallel, predict_ranges_with_media, predict_with_media,
251 AppliedMediaCorrections, EmissionMediaBatch, EmissionMediaBatchOptions, EmissionMediaStatus,
252 MediaPredictOptions, MediaPredictedObservables, MediaRangePrediction,
253 ObservableIonosphereCorrection, ObservableMediaOptions, ObservableTroposphereCorrection,
254};
255pub use positioning::{RejectedSat, RejectionReason};
256pub use sbas_pl::{
257 sbas_protection_levels, AirborneModel, DegradationParams, ProtectionGeometry, ProtectionRow,
258 SbasErrorModel, SbasKMultipliers, SbasPlError, SbasProtection, SbasSisError,
259};
260pub use sidereal::{
261 orbit_repeat_lag, periodicity_strength, periodicity_strength_with_sample_interval,
262 repeat_period, sidereal_filter, solar_day_period, SiderealFilterError, SiderealFilterOptions,
263 SiderealFilterOutput, SiderealTemplateMethod, SIDEREAL_DAY_NANOS, SIDEREAL_DAY_SECONDS,
264};