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