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