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