diff --git a/c/cmake/common b/c/cmake/common index 93df75d477..63396d6027 160000 --- a/c/cmake/common +++ b/c/cmake/common @@ -1 +1 @@ -Subproject commit 93df75d47790091548827c2b430979ddee6e1328 +Subproject commit 63396d60278f8b92e1f8f71696110a3309e3ee23 diff --git a/c/include/libsbp/legacy/ssr.h b/c/include/libsbp/legacy/ssr.h index 1201add297..e278b8e7bf 100644 --- a/c/include/libsbp/legacy/ssr.h +++ b/c/include/libsbp/legacy/ssr.h @@ -115,8 +115,9 @@ typedef struct SBP_ATTR_PACKED { following RTCM DF389 specification but in units of TECU instead of m. */ s16 stec_coeff[4]; /**< Coefficients of the STEC polynomial in - the order of C00, C01, C10, C11 [C00 = 0.05 TECU, - C01/C10 = 0.02 TECU/deg, C11 0.02 TECU/deg^2] */ + the order of C00, C01, C10, C11. C00 = + 0.05 TECU, C01/C10 = 0.02 TECU/deg, C11 + 0.02 TECU/deg^2 */ } stec_sat_element_t; /** None @@ -138,13 +139,11 @@ typedef struct SBP_ATTR_PACKED { */ typedef struct SBP_ATTR_PACKED { - s16 hydro; /**< Hydrostatic vertical delay [4 mm (add 2.3 m to get actual - vertical hydro delay)] */ - s8 wet; /**< Wet vertical delay [4 mm (add 0.252 m to get actual vertical wet - delay)] */ - u8 stddev; /**< stddev [modified DF389 scale; class is upper 3 bits, value is -lower 5 stddev <= (3^class * (1 + value/16) - 1) mm -] */ + s16 hydro; /**< Hydrostatic vertical delay. Add 2.3 m to get actual + value. [4 mm] */ + s8 wet; /**< Wet vertical delay. Add 0.252 m to get actual value. [4 mm] */ + u8 stddev; /**< Modified DF389 scale. Class is upper 3 bits, value is + lower 5. stddev <= (3^class * (1 + value/16) - 1) mm [mm] */ } tropospheric_delay_correction_t; /** None @@ -166,9 +165,9 @@ typedef struct SBP_ATTR_PACKED { typedef struct SBP_ATTR_PACKED { sv_id_t sv_id; /**< space vehicle identifier */ s16 residual; /**< STEC residual [0.04 TECU] */ - u8 stddev; /**< stddev [modified DF389 scale; class is upper 3 bits, value is -lower 5 stddev <= (3^class * (1 + value/16) - 1) * 10 TECU -] */ + u8 stddev; /**< Modified DF389 scale. Class is upper 3 bits, value is + lower 5. stddev <= (3^class * (1 + value/16) - 1) * 10 + TECU */ } stec_residual_t; /** Precise orbit and clock correction @@ -320,20 +319,20 @@ typedef struct SBP_ATTR_PACKED { typedef struct SBP_ATTR_PACKED { stec_residual_t stec_residual; /**< STEC residuals (mean, stddev) */ - u8 stec_bound_mu; /**< STEC Error Bound Mean (range 0-17.5) i<= 200, - mean = 0.01i 200230, mean=5+0.5(i-230) [m] */ - u8 stec_bound_sig; /**< STEC Error Bound Standard Deviation (range - 0-17.5) i<= 200, mean = 0.01i 200230, mean=5+0.5(i-230) [m] */ - u8 stec_bound_mu_dot; /**< STEC Error Bound Mean First derivative - degradation parameter(range 0-0.01275) [0.00005 - m/s] */ - u8 stec_bound_sig_dot; /**< STEC Error Bound Standard Deviation First - derivative degradation parameter (range - 0-0.01275) [0.00005 m/s] */ + u8 stec_bound_mu; /**< Error Bound Mean. See Note 1. [m] */ + u8 stec_bound_sig; /**< Error Bound StDev. See Note 1. [m] */ + u8 stec_bound_mu_dot; /**< Error Bound Mean First derivative. Range: + 0-0.01275 m/s [0.00005 m/s] */ + u8 stec_bound_sig_dot; /**< Error Bound StDev First derivative. Range: + 0-0.01275 m/s [0.00005 m/s] */ } stec_sat_element_integrity_t; +/** Gridded troposhere and STEC correction residuals bounds + * + * Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, mean=5+0.5(i-230). + */ + typedef struct SBP_ATTR_PACKED { bounds_header_t header; /**< Header of a bounds message. */ u8 ssr_iod_atmo; /**< IOD of the SSR atmospheric correction. */ @@ -347,10 +346,10 @@ typedef struct SBP_ATTR_PACKED { tropospheric_delay_correction_t tropo_delay_correction; /**< Tropospheric delay at grid point. */ - u8 tropo_bound_mu; /**< Troposphere Error Bound Mean (range - 0-1.275). [0.005 m] */ - u8 tropo_bound_sig; /**< Troposphere Error Bound Standard - Deviation (range 0-1.275) [0.005 m] */ + u8 tropo_bound_mu; /**< Troposphere Error Bound Mean. Range: + 0-1.275 m [0.005 m] */ + u8 tropo_bound_sig; /**< Troposphere Error Bound StDev. Range: + 0-1.275 m [0.005 m] */ u8 n_sats; /**< Number of satellites. */ stec_sat_element_integrity_t stec_sat_list[0]; /**< Array of STEC polynomial @@ -673,32 +672,24 @@ typedef struct SBP_ATTR_PACKED { u8 sat_id; /**< Satellite ID. Similar to either RTCM DF068 (GPS), DF252 (Galileo), or DF488 (BDS) depending on the constellation. */ - u8 orb_radial_bound_mu; /**< Mean Radial (range 0-55) i<=200, - mean=0.0251i 200240, mean=25+2(i-240) [m] */ - u8 orb_along_bound_mu; /**< Mean Along-Track (range 0-55) i<=200, - mean=0.0251i 200240, mean=25+2(i-240) [m] */ - u8 orb_cross_bound_mu; /**< Mean Cross-Track (range 0-55) i<=200, - mean=0.0251i 200240, mean=25+2(i-240) [m] */ - u8 orb_radial_bound_sig; /**< Standard Deviation Radial (range 0-55) - i<=200, mean=0.0251i 200240, mean=25+2(i-240) [m] */ - u8 orb_along_bound_sig; /**< Standard Deviation Along-Track (range 0-55) - i<=200, mean=0.0251i 200240, mean=25+2(i-240) [m] */ - u8 orb_cross_bound_sig; /**< Standard Deviation Cross-Track (range 0-55) - i<=200, mean=0.0251i 200240, mean=25+2(i-240) [m] */ - u8 clock_bound_mu; /**< Clock Bound Mean (range 0-55) i<=200, - mean=0.0251i 200240, mean=25+2(i-240) [m] */ - u8 clock_bound_sig; /**< Clock Bound Standard Deviation (range 0-55) - i<=200, mean=0.0251i 200240, mean=25+2(i-240) [m] */ + u8 orb_radial_bound_mu; /**< Mean Radial. See Note 1. [m] */ + u8 orb_along_bound_mu; /**< Mean Along-Track. See Note 1. [m] */ + u8 orb_cross_bound_mu; /**< Mean Cross-Track. See Note 1. [m] */ + u8 orb_radial_bound_sig; /**< Standard Deviation Radial. See Note 1. [m] */ + u8 orb_along_bound_sig; /**< Standard Deviation Along-Track. See Note 1. [m] + */ + u8 orb_cross_bound_sig; /**< Standard Deviation Cross-Track. See Note 1. [m] + */ + u8 clock_bound_mu; /**< Clock Bound Mean. See Note 1. [m] */ + u8 clock_bound_sig; /**< Clock Bound Standard Deviation. See Note 1. [m] */ } orbit_clock_bound_t; +/** Combined Orbit and Clock Bound + * + * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + */ + typedef struct SBP_ATTR_PACKED { bounds_header_t header; /**< Header of a bounds message. */ u8 ssr_iod; /**< IOD of the SSR bound. */ @@ -716,12 +707,12 @@ typedef struct SBP_ATTR_PACKED { Similar to either RTCM DF380 (GPS), DF382 (Galileo) or DF467 (BDS) depending on the constellation. */ - u8 code_bias_bound_mu; /**< Code Bias Mean (range 0-1.275) [0.005 m] */ - u8 code_bias_bound_sig; /**< Code Bias Standard Deviation (range - 0-1.275) [0.005 m] */ - u8 phase_bias_bound_mu; /**< Phase Bias Mean (range 0-1.275) [0.005 m] */ - u8 phase_bias_bound_sig; /**< Phase Bias Standard Deviation (range - 0-1.275) [0.005 m] */ + u8 code_bias_bound_mu; /**< Code Bias Mean. Range: 0-1.275 m [0.005 m] */ + u8 code_bias_bound_sig; /**< Code Bias Standard Deviation. Range: + 0-1.275 m [0.005 m] */ + u8 phase_bias_bound_mu; /**< Phase Bias Mean. Range: 0-1.275 m [0.005 m] */ + u8 phase_bias_bound_sig; /**< Phase Bias Standard Deviation. Range: + 0-1.275 m [0.005 m] */ } code_phase_biases_sat_sig_t; typedef struct SBP_ATTR_PACKED { @@ -742,29 +733,24 @@ typedef struct SBP_ATTR_PACKED { typedef struct SBP_ATTR_PACKED { u8 orb_radial_bound_mu_dot; /**< Orbit Bound Mean Radial First - derivative degradation parameter (range - 0-0.255) [0.001 m/s] */ + derivative. Range: 0-0.255 m/s [0.001 m/s] */ u8 orb_along_bound_mu_dot; /**< Orbit Bound Mean Along-Track First - derivative degradation parameter (range - 0-0.255) [0.001 m/s] */ + derivative. Range: 0-0.255 m/s [0.001 m/s] */ u8 orb_cross_bound_mu_dot; /**< Orbit Bound Mean Cross-Track First - derivative degradation parameter (range - 0-0.255) [0.001 m/s] */ + derivative. Range: 0-0.255 m/s [0.001 m/s] */ u8 orb_radial_bound_sig_dot; /**< Orbit Bound Standard Deviation Radial - First derivative degradation parameter - (range 0-0.255) [0.001 m/s] */ + First derivative. Range: 0-0.255 m/s [0.001 + m/s] */ u8 orb_along_bound_sig_dot; /**< Orbit Bound Standard Deviation Along- - Track First derivative degradation - parameter (range 0-0.255) [0.001 m/s] */ + Track First derivative. Range: 0-0.255 + m/s [0.001 m/s] */ u8 orb_cross_bound_sig_dot; /**< Orbit Bound Standard Deviation Cross- - Track First derivative degradation - parameter (range 0-0.255) [0.001 m/s] */ - u8 clock_bound_mu_dot; /**< Clock Bound Mean First derivative - degradation parameter (range 0-0.255) [0.001 m/s] - */ + Track First derivative. Range: 0-0.255 + m/s [0.001 m/s] */ + u8 clock_bound_mu_dot; /**< Clock Bound Mean First derivative. + Range: 0-0.255 m/s [0.001 m/s] */ u8 clock_bound_sig_dot; /**< Clock Bound Standard Deviation First - derivative degradation parameter (range - 0-0.255) [0.001 m/s] */ + derivative. Range: 0-0.255 m/s [0.001 m/s] */ } orbit_clock_bound_degradation_t; typedef struct SBP_ATTR_PACKED { diff --git a/c/include/libsbp/v4/ssr/CodePhaseBiasesSatSig.h b/c/include/libsbp/v4/ssr/CodePhaseBiasesSatSig.h index b32efd0fe1..152bc9aef3 100644 --- a/c/include/libsbp/v4/ssr/CodePhaseBiasesSatSig.h +++ b/c/include/libsbp/v4/ssr/CodePhaseBiasesSatSig.h @@ -52,22 +52,22 @@ typedef struct { u8 signal_id; /** - * Code Bias Mean (range 0-1.275) [0.005 m] + * Code Bias Mean. Range: 0-1.275 m [0.005 m] */ u8 code_bias_bound_mu; /** - * Code Bias Standard Deviation (range 0-1.275) [0.005 m] + * Code Bias Standard Deviation. Range: 0-1.275 m [0.005 m] */ u8 code_bias_bound_sig; /** - * Phase Bias Mean (range 0-1.275) [0.005 m] + * Phase Bias Mean. Range: 0-1.275 m [0.005 m] */ u8 phase_bias_bound_mu; /** - * Phase Bias Standard Deviation (range 0-1.275) [0.005 m] + * Phase Bias Standard Deviation. Range: 0-1.275 m [0.005 m] */ u8 phase_bias_bound_sig; } sbp_code_phase_biases_sat_sig_t; diff --git a/c/include/libsbp/v4/ssr/MSG_SSR_GRIDDED_CORRECTION_BOUNDS.h b/c/include/libsbp/v4/ssr/MSG_SSR_GRIDDED_CORRECTION_BOUNDS.h index 423f50bb84..9eba72745d 100644 --- a/c/include/libsbp/v4/ssr/MSG_SSR_GRIDDED_CORRECTION_BOUNDS.h +++ b/c/include/libsbp/v4/ssr/MSG_SSR_GRIDDED_CORRECTION_BOUNDS.h @@ -41,6 +41,11 @@ extern "C" { * SBP_MSG_SSR_GRIDDED_CORRECTION_BOUNDS * *****************************************************************************/ +/** Gridded troposhere and STEC correction residuals bounds + * + * Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, mean=5+0.5(i-230). + */ typedef struct { /** * Header of a bounds message. @@ -78,12 +83,12 @@ typedef struct { sbp_tropospheric_delay_correction_t tropo_delay_correction; /** - * Troposphere Error Bound Mean (range 0-1.275). [0.005 m] + * Troposphere Error Bound Mean. Range: 0-1.275 m [0.005 m] */ u8 tropo_bound_mu; /** - * Troposphere Error Bound Standard Deviation (range 0-1.275) [0.005 m] + * Troposphere Error Bound StDev. Range: 0-1.275 m [0.005 m] */ u8 tropo_bound_sig; diff --git a/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS.h b/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS.h index d6a0728e1f..833ec07c85 100644 --- a/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS.h +++ b/c/include/libsbp/v4/ssr/MSG_SSR_ORBIT_CLOCK_BOUNDS.h @@ -40,6 +40,11 @@ extern "C" { * SBP_MSG_SSR_ORBIT_CLOCK_BOUNDS * *****************************************************************************/ +/** Combined Orbit and Clock Bound + * + * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + */ typedef struct { /** * Header of a bounds message. diff --git a/c/include/libsbp/v4/ssr/OrbitClockBound.h b/c/include/libsbp/v4/ssr/OrbitClockBound.h index 8212490cf3..782264889c 100644 --- a/c/include/libsbp/v4/ssr/OrbitClockBound.h +++ b/c/include/libsbp/v4/ssr/OrbitClockBound.h @@ -50,50 +50,42 @@ typedef struct { u8 sat_id; /** - * Mean Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) [m] + * Mean Radial. See Note 1. [m] */ u8 orb_radial_bound_mu; /** - * Mean Along-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) [m] + * Mean Along-Track. See Note 1. [m] */ u8 orb_along_bound_mu; /** - * Mean Cross-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) [m] + * Mean Cross-Track. See Note 1. [m] */ u8 orb_cross_bound_mu; /** - * Standard Deviation Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) [m] + * Standard Deviation Radial. See Note 1. [m] */ u8 orb_radial_bound_sig; /** - * Standard Deviation Along-Track (range 0-55) i<=200, mean=0.0251i - * 200240, mean=25+2(i-240) [m] + * Standard Deviation Along-Track. See Note 1. [m] */ u8 orb_along_bound_sig; /** - * Standard Deviation Cross-Track (range 0-55) i<=200, mean=0.0251i - * 200240, mean=25+2(i-240) [m] + * Standard Deviation Cross-Track. See Note 1. [m] */ u8 orb_cross_bound_sig; /** - * Clock Bound Mean (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) [m] + * Clock Bound Mean. See Note 1. [m] */ u8 clock_bound_mu; /** - * Clock Bound Standard Deviation (range 0-55) i<=200, mean=0.0251i - * 200240, mean=25+2(i-240) [m] + * Clock Bound Standard Deviation. See Note 1. [m] */ u8 clock_bound_sig; } sbp_orbit_clock_bound_t; diff --git a/c/include/libsbp/v4/ssr/OrbitClockBoundDegradation.h b/c/include/libsbp/v4/ssr/OrbitClockBoundDegradation.h index 41e460d813..97ea42a2a1 100644 --- a/c/include/libsbp/v4/ssr/OrbitClockBoundDegradation.h +++ b/c/include/libsbp/v4/ssr/OrbitClockBoundDegradation.h @@ -44,50 +44,48 @@ extern "C" { */ typedef struct { /** - * Orbit Bound Mean Radial First derivative degradation parameter (range - * 0-0.255) [0.001 m/s] + * Orbit Bound Mean Radial First derivative. Range: 0-0.255 m/s [0.001 m/s] */ u8 orb_radial_bound_mu_dot; /** - * Orbit Bound Mean Along-Track First derivative degradation parameter (range - * 0-0.255) [0.001 m/s] + * Orbit Bound Mean Along-Track First derivative. Range: 0-0.255 m/s [0.001 + * m/s] */ u8 orb_along_bound_mu_dot; /** - * Orbit Bound Mean Cross-Track First derivative degradation parameter (range - * 0-0.255) [0.001 m/s] + * Orbit Bound Mean Cross-Track First derivative. Range: 0-0.255 m/s [0.001 + * m/s] */ u8 orb_cross_bound_mu_dot; /** - * Orbit Bound Standard Deviation Radial First derivative degradation - * parameter (range 0-0.255) [0.001 m/s] + * Orbit Bound Standard Deviation Radial First derivative. Range: 0-0.255 m/s + * [0.001 m/s] */ u8 orb_radial_bound_sig_dot; /** - * Orbit Bound Standard Deviation Along-Track First derivative degradation - * parameter (range 0-0.255) [0.001 m/s] + * Orbit Bound Standard Deviation Along-Track First derivative. Range: 0-0.255 + * m/s [0.001 m/s] */ u8 orb_along_bound_sig_dot; /** - * Orbit Bound Standard Deviation Cross-Track First derivative degradation - * parameter (range 0-0.255) [0.001 m/s] + * Orbit Bound Standard Deviation Cross-Track First derivative. Range: 0-0.255 + * m/s [0.001 m/s] */ u8 orb_cross_bound_sig_dot; /** - * Clock Bound Mean First derivative degradation parameter (range 0-0.255) - * [0.001 m/s] + * Clock Bound Mean First derivative. Range: 0-0.255 m/s [0.001 m/s] */ u8 clock_bound_mu_dot; /** - * Clock Bound Standard Deviation First derivative degradation parameter - * (range 0-0.255) [0.001 m/s] + * Clock Bound Standard Deviation First derivative. Range: 0-0.255 m/s [0.001 + * m/s] */ u8 clock_bound_sig_dot; } sbp_orbit_clock_bound_degradation_t; diff --git a/c/include/libsbp/v4/ssr/STECResidual.h b/c/include/libsbp/v4/ssr/STECResidual.h index 190a1a3bda..e01a50c6e8 100644 --- a/c/include/libsbp/v4/ssr/STECResidual.h +++ b/c/include/libsbp/v4/ssr/STECResidual.h @@ -56,9 +56,8 @@ typedef struct { s16 residual; /** -* stddev [modified DF389 scale; class is upper 3 bits, value is lower 5 stddev -<= (3^class * (1 + value/16) - 1) * 10 TECU -] + * Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= + * (3^class * (1 + value/16) - 1) * 10 TECU */ u8 stddev; } sbp_stec_residual_t; diff --git a/c/include/libsbp/v4/ssr/STECSatElement.h b/c/include/libsbp/v4/ssr/STECSatElement.h index 63960a8b5a..6ec0a74d8f 100644 --- a/c/include/libsbp/v4/ssr/STECSatElement.h +++ b/c/include/libsbp/v4/ssr/STECSatElement.h @@ -56,8 +56,8 @@ typedef struct { u8 stec_quality_indicator; /** - * Coefficients of the STEC polynomial in the order of C00, C01, C10, C11 [C00 - * = 0.05 TECU, C01/C10 = 0.02 TECU/deg, C11 0.02 TECU/deg^2] + * Coefficients of the STEC polynomial in the order of C00, C01, C10, C11. C00 + * = 0.05 TECU, C01/C10 = 0.02 TECU/deg, C11 0.02 TECU/deg^2 */ s16 stec_coeff[SBP_STEC_SAT_ELEMENT_STEC_COEFF_MAX]; } sbp_stec_sat_element_t; diff --git a/c/include/libsbp/v4/ssr/STECSatElementIntegrity.h b/c/include/libsbp/v4/ssr/STECSatElementIntegrity.h index 3b9b0ed049..ccfaad2f3c 100644 --- a/c/include/libsbp/v4/ssr/STECSatElementIntegrity.h +++ b/c/include/libsbp/v4/ssr/STECSatElementIntegrity.h @@ -50,26 +50,22 @@ typedef struct { sbp_stec_residual_t stec_residual; /** - * STEC Error Bound Mean (range 0-17.5) i<= 200, mean = 0.01i 200230, mean=5+0.5(i-230) [m] + * Error Bound Mean. See Note 1. [m] */ u8 stec_bound_mu; /** - * STEC Error Bound Standard Deviation (range 0-17.5) i<= 200, mean = 0.01i - * 200230, mean=5+0.5(i-230) [m] + * Error Bound StDev. See Note 1. [m] */ u8 stec_bound_sig; /** - * STEC Error Bound Mean First derivative degradation parameter(range - * 0-0.01275) [0.00005 m/s] + * Error Bound Mean First derivative. Range: 0-0.01275 m/s [0.00005 m/s] */ u8 stec_bound_mu_dot; /** - * STEC Error Bound Standard Deviation First derivative degradation parameter - * (range 0-0.01275) [0.00005 m/s] + * Error Bound StDev First derivative. Range: 0-0.01275 m/s [0.00005 m/s] */ u8 stec_bound_sig_dot; } sbp_stec_sat_element_integrity_t; diff --git a/c/include/libsbp/v4/ssr/TroposphericDelayCorrection.h b/c/include/libsbp/v4/ssr/TroposphericDelayCorrection.h index 0ad1655ca0..af92933038 100644 --- a/c/include/libsbp/v4/ssr/TroposphericDelayCorrection.h +++ b/c/include/libsbp/v4/ssr/TroposphericDelayCorrection.h @@ -44,20 +44,18 @@ extern "C" { */ typedef struct { /** - * Hydrostatic vertical delay [4 mm (add 2.3 m to get actual vertical hydro - * delay)] + * Hydrostatic vertical delay. Add 2.3 m to get actual value. [4 mm] */ s16 hydro; /** - * Wet vertical delay [4 mm (add 0.252 m to get actual vertical wet delay)] + * Wet vertical delay. Add 0.252 m to get actual value. [4 mm] */ s8 wet; /** -* stddev [modified DF389 scale; class is upper 3 bits, value is lower 5 stddev -<= (3^class * (1 + value/16) - 1) mm -] + * Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= + * (3^class * (1 + value/16) - 1) mm [mm] */ u8 stddev; } sbp_tropospheric_delay_correction_t; diff --git a/c/include/libsbp/version.h b/c/include/libsbp/version.h index c5a0b71dee..e0de1dcfb4 100644 --- a/c/include/libsbp/version.h +++ b/c/include/libsbp/version.h @@ -28,10 +28,10 @@ #define SBP_PATCH_VERSION 0 /** Full SBP version string. */ -#define SBP_VERSION "4.2.1-alpha" +#define SBP_VERSION "4.2.1-alpha-staging" /** Is this a staging branch? */ -#define SBP_STAGING 0 +#define SBP_STAGING 1 /** \} */ diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 53673f2be1..6f5656b2a0 100644 Binary files a/docs/sbp.pdf and b/docs/sbp.pdf differ diff --git a/haskell/src/SwiftNav/SBP/Ssr.hs b/haskell/src/SwiftNav/SBP/Ssr.hs index de23eac080..c03e4360f1 100644 --- a/haskell/src/SwiftNav/SBP/Ssr.hs +++ b/haskell/src/SwiftNav/SBP/Ssr.hs @@ -204,7 +204,8 @@ data STECSatElement = STECSatElement -- ^ Quality of the STEC data. Encoded following RTCM DF389 specification -- but in units of TECU instead of m. , _sTECSatElement_stec_coeff :: ![Int16] - -- ^ Coefficients of the STEC polynomial in the order of C00, C01, C10, C11 + -- ^ Coefficients of the STEC polynomial in the order of C00, C01, C10, C11. + -- C00 = 0.05 TECU, C01/C10 = 0.02 TECU/deg, C11 0.02 TECU/deg^2 } deriving ( Show, Read, Eq ) instance Binary STECSatElement where @@ -251,11 +252,12 @@ $(makeLenses ''TroposphericDelayCorrectionNoStd) -- point. data TroposphericDelayCorrection = TroposphericDelayCorrection { _troposphericDelayCorrection_hydro :: !Int16 - -- ^ Hydrostatic vertical delay + -- ^ Hydrostatic vertical delay. Add 2.3 m to get actual value. , _troposphericDelayCorrection_wet :: !Int8 - -- ^ Wet vertical delay + -- ^ Wet vertical delay. Add 0.252 m to get actual value. , _troposphericDelayCorrection_stddev :: !Word8 - -- ^ stddev + -- ^ Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev + -- <= (3^class * (1 + value/16) - 1) mm } deriving ( Show, Read, Eq ) instance Binary TroposphericDelayCorrection where @@ -306,7 +308,8 @@ data STECResidual = STECResidual , _sTECResidual_residual :: !Int16 -- ^ STEC residual , _sTECResidual_stddev :: !Word8 - -- ^ stddev + -- ^ Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev + -- <= (3^class * (1 + value/16) - 1) * 10 TECU } deriving ( Show, Read, Eq ) instance Binary STECResidual where @@ -655,17 +658,13 @@ data STECSatElementIntegrity = STECSatElementIntegrity { _sTECSatElementIntegrity_stec_residual :: !STECResidual -- ^ STEC residuals (mean, stddev) , _sTECSatElementIntegrity_stec_bound_mu :: !Word8 - -- ^ STEC Error Bound Mean (range 0-17.5) i<= 200, mean = 0.01i 200230, mean=5+0.5(i-230) + -- ^ Error Bound Mean. See Note 1. , _sTECSatElementIntegrity_stec_bound_sig :: !Word8 - -- ^ STEC Error Bound Standard Deviation (range 0-17.5) i<= 200, mean = - -- 0.01i 200230, mean=5+0.5(i-230) + -- ^ Error Bound StDev. See Note 1. , _sTECSatElementIntegrity_stec_bound_mu_dot :: !Word8 - -- ^ STEC Error Bound Mean First derivative degradation parameter(range - -- 0-0.01275) + -- ^ Error Bound Mean First derivative. Range: 0-0.01275 m/s , _sTECSatElementIntegrity_stec_bound_sig_dot :: !Word8 - -- ^ STEC Error Bound Standard Deviation First derivative degradation - -- parameter (range 0-0.01275) + -- ^ Error Bound StDev First derivative. Range: 0-0.01275 m/s } deriving ( Show, Read, Eq ) instance Binary STECSatElementIntegrity where @@ -690,6 +689,10 @@ $(makeLenses ''STECSatElementIntegrity) msgSsrGriddedCorrectionBounds :: Word16 msgSsrGriddedCorrectionBounds = 0x05FE +-- | SBP class for message MSG_SSR_GRIDDED_CORRECTION_BOUNDS (0x05FE). +-- +-- Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, mean=5+0.5(i-230). data MsgSsrGriddedCorrectionBounds = MsgSsrGriddedCorrectionBounds { _msgSsrGriddedCorrectionBounds_header :: !BoundsHeader -- ^ Header of a bounds message. @@ -706,9 +709,9 @@ data MsgSsrGriddedCorrectionBounds = MsgSsrGriddedCorrectionBounds , _msgSsrGriddedCorrectionBounds_tropo_delay_correction :: !TroposphericDelayCorrection -- ^ Tropospheric delay at grid point. , _msgSsrGriddedCorrectionBounds_tropo_bound_mu :: !Word8 - -- ^ Troposphere Error Bound Mean (range 0-1.275). + -- ^ Troposphere Error Bound Mean. Range: 0-1.275 m , _msgSsrGriddedCorrectionBounds_tropo_bound_sig :: !Word8 - -- ^ Troposphere Error Bound Standard Deviation (range 0-1.275) + -- ^ Troposphere Error Bound StDev. Range: 0-1.275 m , _msgSsrGriddedCorrectionBounds_n_sats :: !Word8 -- ^ Number of satellites. , _msgSsrGriddedCorrectionBounds_stec_sat_list :: ![STECSatElementIntegrity] @@ -1326,29 +1329,21 @@ data OrbitClockBound = OrbitClockBound -- ^ Satellite ID. Similar to either RTCM DF068 (GPS), DF252 (Galileo), or -- DF488 (BDS) depending on the constellation. , _orbitClockBound_orb_radial_bound_mu :: !Word8 - -- ^ Mean Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + -- ^ Mean Radial. See Note 1. , _orbitClockBound_orb_along_bound_mu :: !Word8 - -- ^ Mean Along-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + -- ^ Mean Along-Track. See Note 1. , _orbitClockBound_orb_cross_bound_mu :: !Word8 - -- ^ Mean Cross-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + -- ^ Mean Cross-Track. See Note 1. , _orbitClockBound_orb_radial_bound_sig :: !Word8 - -- ^ Standard Deviation Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + -- ^ Standard Deviation Radial. See Note 1. , _orbitClockBound_orb_along_bound_sig :: !Word8 - -- ^ Standard Deviation Along-Track (range 0-55) i<=200, mean=0.0251i - -- 200240, mean=25+2(i-240) + -- ^ Standard Deviation Along-Track. See Note 1. , _orbitClockBound_orb_cross_bound_sig :: !Word8 - -- ^ Standard Deviation Cross-Track (range 0-55) i<=200, mean=0.0251i - -- 200240, mean=25+2(i-240) + -- ^ Standard Deviation Cross-Track. See Note 1. , _orbitClockBound_clock_bound_mu :: !Word8 - -- ^ Clock Bound Mean (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + -- ^ Clock Bound Mean. See Note 1. , _orbitClockBound_clock_bound_sig :: !Word8 - -- ^ Clock Bound Standard Deviation (range 0-55) i<=200, mean=0.0251i - -- 200240, mean=25+2(i-240) + -- ^ Clock Bound Standard Deviation. See Note 1. } deriving ( Show, Read, Eq ) instance Binary OrbitClockBound where @@ -1381,6 +1376,10 @@ $(makeLenses ''OrbitClockBound) msgSsrOrbitClockBounds :: Word16 msgSsrOrbitClockBounds = 0x05DE +-- | SBP class for message MSG_SSR_ORBIT_CLOCK_BOUNDS (0x05DE). +-- +-- Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). data MsgSsrOrbitClockBounds = MsgSsrOrbitClockBounds { _msgSsrOrbitClockBounds_header :: !BoundsHeader -- ^ Header of a bounds message. @@ -1422,13 +1421,13 @@ data CodePhaseBiasesSatSig = CodePhaseBiasesSatSig -- ^ Signal and Tracking Mode Identifier. Similar to either RTCM DF380 -- (GPS), DF382 (Galileo) or DF467 (BDS) depending on the constellation. , _codePhaseBiasesSatSig_code_bias_bound_mu :: !Word8 - -- ^ Code Bias Mean (range 0-1.275) + -- ^ Code Bias Mean. Range: 0-1.275 m , _codePhaseBiasesSatSig_code_bias_bound_sig :: !Word8 - -- ^ Code Bias Standard Deviation (range 0-1.275) + -- ^ Code Bias Standard Deviation. Range: 0-1.275 m , _codePhaseBiasesSatSig_phase_bias_bound_mu :: !Word8 - -- ^ Phase Bias Mean (range 0-1.275) + -- ^ Phase Bias Mean. Range: 0-1.275 m , _codePhaseBiasesSatSig_phase_bias_bound_sig :: !Word8 - -- ^ Phase Bias Standard Deviation (range 0-1.275) + -- ^ Phase Bias Standard Deviation. Range: 0-1.275 m } deriving ( Show, Read, Eq ) instance Binary CodePhaseBiasesSatSig where @@ -1493,28 +1492,24 @@ $(makeLenses ''MsgSsrCodePhaseBiasesBounds) -- Orbit and clock bound degradation. data OrbitClockBoundDegradation = OrbitClockBoundDegradation { _orbitClockBoundDegradation_orb_radial_bound_mu_dot :: !Word8 - -- ^ Orbit Bound Mean Radial First derivative degradation parameter (range - -- 0-0.255) + -- ^ Orbit Bound Mean Radial First derivative. Range: 0-0.255 m/s , _orbitClockBoundDegradation_orb_along_bound_mu_dot :: !Word8 - -- ^ Orbit Bound Mean Along-Track First derivative degradation parameter - -- (range 0-0.255) + -- ^ Orbit Bound Mean Along-Track First derivative. Range: 0-0.255 m/s , _orbitClockBoundDegradation_orb_cross_bound_mu_dot :: !Word8 - -- ^ Orbit Bound Mean Cross-Track First derivative degradation parameter - -- (range 0-0.255) + -- ^ Orbit Bound Mean Cross-Track First derivative. Range: 0-0.255 m/s , _orbitClockBoundDegradation_orb_radial_bound_sig_dot :: !Word8 - -- ^ Orbit Bound Standard Deviation Radial First derivative degradation - -- parameter (range 0-0.255) + -- ^ Orbit Bound Standard Deviation Radial First derivative. Range: 0-0.255 + -- m/s , _orbitClockBoundDegradation_orb_along_bound_sig_dot :: !Word8 - -- ^ Orbit Bound Standard Deviation Along-Track First derivative degradation - -- parameter (range 0-0.255) + -- ^ Orbit Bound Standard Deviation Along-Track First derivative. Range: + -- 0-0.255 m/s , _orbitClockBoundDegradation_orb_cross_bound_sig_dot :: !Word8 - -- ^ Orbit Bound Standard Deviation Cross-Track First derivative degradation - -- parameter (range 0-0.255) + -- ^ Orbit Bound Standard Deviation Cross-Track First derivative. Range: + -- 0-0.255 m/s , _orbitClockBoundDegradation_clock_bound_mu_dot :: !Word8 - -- ^ Clock Bound Mean First derivative degradation parameter (range 0-0.255) + -- ^ Clock Bound Mean First derivative. Range: 0-0.255 m/s , _orbitClockBoundDegradation_clock_bound_sig_dot :: !Word8 - -- ^ Clock Bound Standard Deviation First derivative degradation parameter - -- (range 0-0.255) + -- ^ Clock Bound Standard Deviation First derivative. Range: 0-0.255 m/s } deriving ( Show, Read, Eq ) instance Binary OrbitClockBoundDegradation where diff --git a/java/src/com/swiftnav/sbp/ssr/CodePhaseBiasesSatSig.java b/java/src/com/swiftnav/sbp/ssr/CodePhaseBiasesSatSig.java index 3209186c0d..d050ac6ab5 100644 --- a/java/src/com/swiftnav/sbp/ssr/CodePhaseBiasesSatSig.java +++ b/java/src/com/swiftnav/sbp/ssr/CodePhaseBiasesSatSig.java @@ -34,16 +34,16 @@ public class CodePhaseBiasesSatSig extends SBPStruct { */ public int signal_id; - /** Code Bias Mean (range 0-1.275) */ + /** Code Bias Mean. Range: 0-1.275 m */ public int code_bias_bound_mu; - /** Code Bias Standard Deviation (range 0-1.275) */ + /** Code Bias Standard Deviation. Range: 0-1.275 m */ public int code_bias_bound_sig; - /** Phase Bias Mean (range 0-1.275) */ + /** Phase Bias Mean. Range: 0-1.275 m */ public int phase_bias_bound_mu; - /** Phase Bias Standard Deviation (range 0-1.275) */ + /** Phase Bias Standard Deviation. Range: 0-1.275 m */ public int phase_bias_bound_sig; public CodePhaseBiasesSatSig() {} diff --git a/java/src/com/swiftnav/sbp/ssr/MsgSsrGriddedCorrectionBounds.java b/java/src/com/swiftnav/sbp/ssr/MsgSsrGriddedCorrectionBounds.java index ddcecd3d6f..f091e2551e 100644 --- a/java/src/com/swiftnav/sbp/ssr/MsgSsrGriddedCorrectionBounds.java +++ b/java/src/com/swiftnav/sbp/ssr/MsgSsrGriddedCorrectionBounds.java @@ -20,6 +20,15 @@ import com.swiftnav.sbp.gnss.*; import org.json.JSONObject; +/** + * SBP class for message MSG_SSR_GRIDDED_CORRECTION_BOUNDS (0x05FE). + * + *
You can have MSG_SSR_GRIDDED_CORRECTION_BOUNDS inherent its fields directly from an inherited + * SBP object, or construct it inline using a dict of its fields. + * + *
Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, + * mean=5+0.5(i-230). + */ public class MsgSsrGriddedCorrectionBounds extends SBPMessage { public static final int TYPE = 0x05FE; @@ -44,10 +53,10 @@ public class MsgSsrGriddedCorrectionBounds extends SBPMessage { /** Tropospheric delay at grid point. */ public TroposphericDelayCorrection tropo_delay_correction; - /** Troposphere Error Bound Mean (range 0-1.275). */ + /** Troposphere Error Bound Mean. Range: 0-1.275 m */ public int tropo_bound_mu; - /** Troposphere Error Bound Standard Deviation (range 0-1.275) */ + /** Troposphere Error Bound StDev. Range: 0-1.275 m */ public int tropo_bound_sig; /** Number of satellites. */ diff --git a/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBounds.java b/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBounds.java index 61439757f5..06e1a3d9a3 100644 --- a/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBounds.java +++ b/java/src/com/swiftnav/sbp/ssr/MsgSsrOrbitClockBounds.java @@ -20,6 +20,15 @@ import com.swiftnav.sbp.gnss.*; import org.json.JSONObject; +/** + * SBP class for message MSG_SSR_ORBIT_CLOCK_BOUNDS (0x05DE). + * + *
You can have MSG_SSR_ORBIT_CLOCK_BOUNDS inherent its fields directly from an inherited SBP + * object, or construct it inline using a dict of its fields. + * + *
Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, + * mean=25+2(i-240). + */ public class MsgSsrOrbitClockBounds extends SBPMessage { public static final int TYPE = 0x05DE; diff --git a/java/src/com/swiftnav/sbp/ssr/OrbitClockBound.java b/java/src/com/swiftnav/sbp/ssr/OrbitClockBound.java index abc46e468c..d9b8a8d195 100644 --- a/java/src/com/swiftnav/sbp/ssr/OrbitClockBound.java +++ b/java/src/com/swiftnav/sbp/ssr/OrbitClockBound.java @@ -28,52 +28,28 @@ public class OrbitClockBound extends SBPStruct { */ public int sat_id; - /** - * Mean Radial (range 0-55) i<=200, mean=0.0251i 200240, - * mean=25+2(i-240) - */ + /** Mean Radial. See Note 1. */ public int orb_radial_bound_mu; - /** - * Mean Along-Track (range 0-55) i<=200, mean=0.0251i 200240, - * mean=25+2(i-240) - */ + /** Mean Along-Track. See Note 1. */ public int orb_along_bound_mu; - /** - * Mean Cross-Track (range 0-55) i<=200, mean=0.0251i 200240, - * mean=25+2(i-240) - */ + /** Mean Cross-Track. See Note 1. */ public int orb_cross_bound_mu; - /** - * Standard Deviation Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - */ + /** Standard Deviation Radial. See Note 1. */ public int orb_radial_bound_sig; - /** - * Standard Deviation Along-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - */ + /** Standard Deviation Along-Track. See Note 1. */ public int orb_along_bound_sig; - /** - * Standard Deviation Cross-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - */ + /** Standard Deviation Cross-Track. See Note 1. */ public int orb_cross_bound_sig; - /** - * Clock Bound Mean (range 0-55) i<=200, mean=0.0251i 200240, - * mean=25+2(i-240) - */ + /** Clock Bound Mean. See Note 1. */ public int clock_bound_mu; - /** - * Clock Bound Standard Deviation (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - */ + /** Clock Bound Standard Deviation. See Note 1. */ public int clock_bound_sig; public OrbitClockBound() {} diff --git a/java/src/com/swiftnav/sbp/ssr/OrbitClockBoundDegradation.java b/java/src/com/swiftnav/sbp/ssr/OrbitClockBoundDegradation.java index 7c79f1ed70..7f939666d3 100644 --- a/java/src/com/swiftnav/sbp/ssr/OrbitClockBoundDegradation.java +++ b/java/src/com/swiftnav/sbp/ssr/OrbitClockBoundDegradation.java @@ -22,36 +22,28 @@ public class OrbitClockBoundDegradation extends SBPStruct { - /** Orbit Bound Mean Radial First derivative degradation parameter (range 0-0.255) */ + /** Orbit Bound Mean Radial First derivative. Range: 0-0.255 m/s */ public int orb_radial_bound_mu_dot; - /** Orbit Bound Mean Along-Track First derivative degradation parameter (range 0-0.255) */ + /** Orbit Bound Mean Along-Track First derivative. Range: 0-0.255 m/s */ public int orb_along_bound_mu_dot; - /** Orbit Bound Mean Cross-Track First derivative degradation parameter (range 0-0.255) */ + /** Orbit Bound Mean Cross-Track First derivative. Range: 0-0.255 m/s */ public int orb_cross_bound_mu_dot; - /** - * Orbit Bound Standard Deviation Radial First derivative degradation parameter (range 0-0.255) - */ + /** Orbit Bound Standard Deviation Radial First derivative. Range: 0-0.255 m/s */ public int orb_radial_bound_sig_dot; - /** - * Orbit Bound Standard Deviation Along-Track First derivative degradation parameter (range - * 0-0.255) - */ + /** Orbit Bound Standard Deviation Along-Track First derivative. Range: 0-0.255 m/s */ public int orb_along_bound_sig_dot; - /** - * Orbit Bound Standard Deviation Cross-Track First derivative degradation parameter (range - * 0-0.255) - */ + /** Orbit Bound Standard Deviation Cross-Track First derivative. Range: 0-0.255 m/s */ public int orb_cross_bound_sig_dot; - /** Clock Bound Mean First derivative degradation parameter (range 0-0.255) */ + /** Clock Bound Mean First derivative. Range: 0-0.255 m/s */ public int clock_bound_mu_dot; - /** Clock Bound Standard Deviation First derivative degradation parameter (range 0-0.255) */ + /** Clock Bound Standard Deviation First derivative. Range: 0-0.255 m/s */ public int clock_bound_sig_dot; public OrbitClockBoundDegradation() {} diff --git a/java/src/com/swiftnav/sbp/ssr/STECResidual.java b/java/src/com/swiftnav/sbp/ssr/STECResidual.java index 7d1cbae5a3..10a8423ac3 100644 --- a/java/src/com/swiftnav/sbp/ssr/STECResidual.java +++ b/java/src/com/swiftnav/sbp/ssr/STECResidual.java @@ -28,7 +28,10 @@ public class STECResidual extends SBPStruct { /** STEC residual */ public int residual; - /** stddev */ + /** + * Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= (3^class * (1 + + * value/16) - 1) * 10 TECU + */ public int stddev; public STECResidual() {} diff --git a/java/src/com/swiftnav/sbp/ssr/STECSatElement.java b/java/src/com/swiftnav/sbp/ssr/STECSatElement.java index e09af7a7eb..9f0d0ce365 100644 --- a/java/src/com/swiftnav/sbp/ssr/STECSatElement.java +++ b/java/src/com/swiftnav/sbp/ssr/STECSatElement.java @@ -32,7 +32,10 @@ public class STECSatElement extends SBPStruct { */ public int stec_quality_indicator; - /** Coefficients of the STEC polynomial in the order of C00, C01, C10, C11 */ + /** + * Coefficients of the STEC polynomial in the order of C00, C01, C10, C11. C00 = 0.05 TECU, + * C01/C10 = 0.02 TECU/deg, C11 0.02 TECU/deg^2 + */ public int[] stec_coeff; public STECSatElement() {} diff --git a/java/src/com/swiftnav/sbp/ssr/STECSatElementIntegrity.java b/java/src/com/swiftnav/sbp/ssr/STECSatElementIntegrity.java index 5c2459dec4..1eb41b2eb6 100644 --- a/java/src/com/swiftnav/sbp/ssr/STECSatElementIntegrity.java +++ b/java/src/com/swiftnav/sbp/ssr/STECSatElementIntegrity.java @@ -25,24 +25,16 @@ public class STECSatElementIntegrity extends SBPStruct { /** STEC residuals (mean, stddev) */ public STECResidual stec_residual; - /** - * STEC Error Bound Mean (range 0-17.5) i<= 200, mean = 0.01i 200230, mean=5+0.5(i-230) - */ + /** Error Bound Mean. See Note 1. */ public int stec_bound_mu; - /** - * STEC Error Bound Standard Deviation (range 0-17.5) i<= 200, mean = 0.01i 200230, mean=5+0.5(i-230) - */ + /** Error Bound StDev. See Note 1. */ public int stec_bound_sig; - /** STEC Error Bound Mean First derivative degradation parameter(range 0-0.01275) */ + /** Error Bound Mean First derivative. Range: 0-0.01275 m/s */ public int stec_bound_mu_dot; - /** - * STEC Error Bound Standard Deviation First derivative degradation parameter (range 0-0.01275) - */ + /** Error Bound StDev First derivative. Range: 0-0.01275 m/s */ public int stec_bound_sig_dot; public STECSatElementIntegrity() {} diff --git a/java/src/com/swiftnav/sbp/ssr/TroposphericDelayCorrection.java b/java/src/com/swiftnav/sbp/ssr/TroposphericDelayCorrection.java index 151008c05a..7cd32e9216 100644 --- a/java/src/com/swiftnav/sbp/ssr/TroposphericDelayCorrection.java +++ b/java/src/com/swiftnav/sbp/ssr/TroposphericDelayCorrection.java @@ -22,13 +22,16 @@ public class TroposphericDelayCorrection extends SBPStruct { - /** Hydrostatic vertical delay */ + /** Hydrostatic vertical delay. Add 2.3 m to get actual value. */ public int hydro; - /** Wet vertical delay */ + /** Wet vertical delay. Add 0.252 m to get actual value. */ public int wet; - /** stddev */ + /** + * Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= (3^class * (1 + + * value/16) - 1) mm + */ public int stddev; public TroposphericDelayCorrection() {} diff --git a/javascript/sbp/ssr.js b/javascript/sbp/ssr.js index 434f371e7f..438a73cd29 100644 --- a/javascript/sbp/ssr.js +++ b/javascript/sbp/ssr.js @@ -204,7 +204,8 @@ GriddedCorrectionHeader.prototype.fieldSpec.push(['tropo_quality_indicator', 'wr * @field sv_id SvId Unique space vehicle identifier * @field stec_quality_indicator number (unsigned 8-bit int, 1 byte) Quality of the STEC data. Encoded following RTCM DF389 specification but in * units of TECU instead of m. - * @field stec_coeff array Coefficients of the STEC polynomial in the order of C00, C01, C10, C11 + * @field stec_coeff array Coefficients of the STEC polynomial in the order of C00, C01, C10, C11. C00 = + * 0.05 TECU, C01/C10 = 0.02 TECU/deg, C11 0.02 TECU/deg^2 * * @param sbp An SBP object with a payload to be decoded. */ @@ -263,9 +264,10 @@ TroposphericDelayCorrectionNoStd.prototype.fieldSpec.push(['wet', 'writeInt8', 1 * Troposphere vertical delays (mean and standard deviation) at the grid point. * * Fields in the SBP payload (`sbp.payload`): - * @field hydro number (signed 16-bit int, 2 bytes) Hydrostatic vertical delay - * @field wet number (signed 8-bit int, 1 byte) Wet vertical delay - * @field stddev number (unsigned 8-bit int, 1 byte) stddev + * @field hydro number (signed 16-bit int, 2 bytes) Hydrostatic vertical delay. Add 2.3 m to get actual value. + * @field wet number (signed 8-bit int, 1 byte) Wet vertical delay. Add 0.252 m to get actual value. + * @field stddev number (unsigned 8-bit int, 1 byte) Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= + * (3^class * (1 + value/16) - 1) mm * * @param sbp An SBP object with a payload to be decoded. */ @@ -327,7 +329,8 @@ STECResidualNoStd.prototype.fieldSpec.push(['residual', 'writeInt16LE', 2]); * Fields in the SBP payload (`sbp.payload`): * @field sv_id SvId space vehicle identifier * @field residual number (signed 16-bit int, 2 bytes) STEC residual - * @field stddev number (unsigned 8-bit int, 1 byte) stddev + * @field stddev number (unsigned 8-bit int, 1 byte) Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= + * (3^class * (1 + value/16) - 1) * 10 TECU * * @param sbp An SBP object with a payload to be decoded. */ @@ -676,13 +679,10 @@ MsgSsrGriddedCorrection.prototype.fieldSpec.push(['stec_residuals', 'array', STE * * Fields in the SBP payload (`sbp.payload`): * @field stec_residual STECResidual STEC residuals (mean, stddev) - * @field stec_bound_mu number (unsigned 8-bit int, 1 byte) STEC Error Bound Mean (range 0-17.5) i<= 200, mean = 0.01i 200230, mean=5+0.5(i-230) - * @field stec_bound_sig number (unsigned 8-bit int, 1 byte) STEC Error Bound Standard Deviation (range 0-17.5) i<= 200, mean = 0.01i - * 200230, mean=5+0.5(i-230) - * @field stec_bound_mu_dot number (unsigned 8-bit int, 1 byte) STEC Error Bound Mean First derivative degradation parameter(range 0-0.01275) - * @field stec_bound_sig_dot number (unsigned 8-bit int, 1 byte) STEC Error Bound Standard Deviation First derivative degradation parameter - * (range 0-0.01275) + * @field stec_bound_mu number (unsigned 8-bit int, 1 byte) Error Bound Mean. See Note 1. + * @field stec_bound_sig number (unsigned 8-bit int, 1 byte) Error Bound StDev. See Note 1. + * @field stec_bound_mu_dot number (unsigned 8-bit int, 1 byte) Error Bound Mean First derivative. Range: 0-0.01275 m/s + * @field stec_bound_sig_dot number (unsigned 8-bit int, 1 byte) Error Bound StDev First derivative. Range: 0-0.01275 m/s * * @param sbp An SBP object with a payload to be decoded. */ @@ -713,7 +713,9 @@ STECSatElementIntegrity.prototype.fieldSpec.push(['stec_bound_sig_dot', 'writeUI /** * SBP class for message MSG_SSR_GRIDDED_CORRECTION_BOUNDS (0x05FE). * - + * Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, mean=5+0.5(i-230). + * * Fields in the SBP payload (`sbp.payload`): * @field header BoundsHeader Header of a bounds message. * @field ssr_iod_atmo number (unsigned 8-bit int, 1 byte) IOD of the SSR atmospheric correction. @@ -722,8 +724,8 @@ STECSatElementIntegrity.prototype.fieldSpec.push(['stec_bound_sig_dot', 'writeUI * @field tropo_qi number (unsigned 8-bit int, 1 byte) Tropo Quality Indicator. Similar to RTCM DF389. * @field grid_point_id number (unsigned 16-bit int, 2 bytes) Index of the Grid Point. * @field tropo_delay_correction TroposphericDelayCorrection Tropospheric delay at grid point. - * @field tropo_bound_mu number (unsigned 8-bit int, 1 byte) Troposphere Error Bound Mean (range 0-1.275). - * @field tropo_bound_sig number (unsigned 8-bit int, 1 byte) Troposphere Error Bound Standard Deviation (range 0-1.275) + * @field tropo_bound_mu number (unsigned 8-bit int, 1 byte) Troposphere Error Bound Mean. Range: 0-1.275 m + * @field tropo_bound_sig number (unsigned 8-bit int, 1 byte) Troposphere Error Bound StDev. Range: 0-1.275 m * @field n_sats number (unsigned 8-bit int, 1 byte) Number of satellites. * @field stec_sat_list array Array of STEC polynomial coefficients and its bounds for each space vehicle. * @@ -1317,22 +1319,14 @@ MsgSsrGridDefinitionDepA.prototype.fieldSpec.push(['rle_list', 'array', 'writeUI * Fields in the SBP payload (`sbp.payload`): * @field sat_id number (unsigned 8-bit int, 1 byte) Satellite ID. Similar to either RTCM DF068 (GPS), DF252 (Galileo), or DF488 * (BDS) depending on the constellation. - * @field orb_radial_bound_mu number (unsigned 8-bit int, 1 byte) Mean Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - * @field orb_along_bound_mu number (unsigned 8-bit int, 1 byte) Mean Along-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - * @field orb_cross_bound_mu number (unsigned 8-bit int, 1 byte) Mean Cross-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - * @field orb_radial_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - * @field orb_along_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Along-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - * @field orb_cross_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Cross-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - * @field clock_bound_mu number (unsigned 8-bit int, 1 byte) Clock Bound Mean (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) - * @field clock_bound_sig number (unsigned 8-bit int, 1 byte) Clock Bound Standard Deviation (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + * @field orb_radial_bound_mu number (unsigned 8-bit int, 1 byte) Mean Radial. See Note 1. + * @field orb_along_bound_mu number (unsigned 8-bit int, 1 byte) Mean Along-Track. See Note 1. + * @field orb_cross_bound_mu number (unsigned 8-bit int, 1 byte) Mean Cross-Track. See Note 1. + * @field orb_radial_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Radial. See Note 1. + * @field orb_along_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Along-Track. See Note 1. + * @field orb_cross_bound_sig number (unsigned 8-bit int, 1 byte) Standard Deviation Cross-Track. See Note 1. + * @field clock_bound_mu number (unsigned 8-bit int, 1 byte) Clock Bound Mean. See Note 1. + * @field clock_bound_sig number (unsigned 8-bit int, 1 byte) Clock Bound Standard Deviation. See Note 1. * * @param sbp An SBP object with a payload to be decoded. */ @@ -1371,7 +1365,9 @@ OrbitClockBound.prototype.fieldSpec.push(['clock_bound_sig', 'writeUInt8', 1]); /** * SBP class for message MSG_SSR_ORBIT_CLOCK_BOUNDS (0x05DE). * - + * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + * * Fields in the SBP payload (`sbp.payload`): * @field header BoundsHeader Header of a bounds message. * @field ssr_iod number (unsigned 8-bit int, 1 byte) IOD of the SSR bound. @@ -1415,10 +1411,10 @@ MsgSsrOrbitClockBounds.prototype.fieldSpec.push(['orbit_clock_bounds', 'array', * (BDS) depending on the constellation. * @field signal_id number (unsigned 8-bit int, 1 byte) Signal and Tracking Mode Identifier. Similar to either RTCM DF380 (GPS), DF382 * (Galileo) or DF467 (BDS) depending on the constellation. - * @field code_bias_bound_mu number (unsigned 8-bit int, 1 byte) Code Bias Mean (range 0-1.275) - * @field code_bias_bound_sig number (unsigned 8-bit int, 1 byte) Code Bias Standard Deviation (range 0-1.275) - * @field phase_bias_bound_mu number (unsigned 8-bit int, 1 byte) Phase Bias Mean (range 0-1.275) - * @field phase_bias_bound_sig number (unsigned 8-bit int, 1 byte) Phase Bias Standard Deviation (range 0-1.275) + * @field code_bias_bound_mu number (unsigned 8-bit int, 1 byte) Code Bias Mean. Range: 0-1.275 m + * @field code_bias_bound_sig number (unsigned 8-bit int, 1 byte) Code Bias Standard Deviation. Range: 0-1.275 m + * @field phase_bias_bound_mu number (unsigned 8-bit int, 1 byte) Phase Bias Mean. Range: 0-1.275 m + * @field phase_bias_bound_sig number (unsigned 8-bit int, 1 byte) Phase Bias Standard Deviation. Range: 0-1.275 m * * @param sbp An SBP object with a payload to be decoded. */ @@ -1492,20 +1488,14 @@ MsgSsrCodePhaseBiasesBounds.prototype.fieldSpec.push(['satellites_signals', 'arr * Orbit and clock bound degradation. * * Fields in the SBP payload (`sbp.payload`): - * @field orb_radial_bound_mu_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Mean Radial First derivative degradation parameter (range 0-0.255) - * @field orb_along_bound_mu_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Mean Along-Track First derivative degradation parameter (range - * 0-0.255) - * @field orb_cross_bound_mu_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Mean Cross-Track First derivative degradation parameter (range - * 0-0.255) - * @field orb_radial_bound_sig_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Standard Deviation Radial First derivative degradation parameter - * (range 0-0.255) - * @field orb_along_bound_sig_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Standard Deviation Along-Track First derivative degradation - * parameter (range 0-0.255) - * @field orb_cross_bound_sig_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Standard Deviation Cross-Track First derivative degradation - * parameter (range 0-0.255) - * @field clock_bound_mu_dot number (unsigned 8-bit int, 1 byte) Clock Bound Mean First derivative degradation parameter (range 0-0.255) - * @field clock_bound_sig_dot number (unsigned 8-bit int, 1 byte) Clock Bound Standard Deviation First derivative degradation parameter (range - * 0-0.255) + * @field orb_radial_bound_mu_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Mean Radial First derivative. Range: 0-0.255 m/s + * @field orb_along_bound_mu_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Mean Along-Track First derivative. Range: 0-0.255 m/s + * @field orb_cross_bound_mu_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Mean Cross-Track First derivative. Range: 0-0.255 m/s + * @field orb_radial_bound_sig_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Standard Deviation Radial First derivative. Range: 0-0.255 m/s + * @field orb_along_bound_sig_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Standard Deviation Along-Track First derivative. Range: 0-0.255 m/s + * @field orb_cross_bound_sig_dot number (unsigned 8-bit int, 1 byte) Orbit Bound Standard Deviation Cross-Track First derivative. Range: 0-0.255 m/s + * @field clock_bound_mu_dot number (unsigned 8-bit int, 1 byte) Clock Bound Mean First derivative. Range: 0-0.255 m/s + * @field clock_bound_sig_dot number (unsigned 8-bit int, 1 byte) Clock Bound Standard Deviation First derivative. Range: 0-0.255 m/s * * @param sbp An SBP object with a payload to be decoded. */ diff --git a/jsonschema/MsgSsrGriddedCorrectionBounds.json b/jsonschema/MsgSsrGriddedCorrectionBounds.json index c925f9df1c..7d35e65ee1 100644 --- a/jsonschema/MsgSsrGriddedCorrectionBounds.json +++ b/jsonschema/MsgSsrGriddedCorrectionBounds.json @@ -13,7 +13,7 @@ "$schema": "http://json-schema.org/draft-06/schema#", "$id": "#MsgSsrGriddedCorrectionBounds", "title":"MsgSsrGriddedCorrectionBounds", - "description":"", + "description":"Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, mean=5+0.5(i-230).\n", "type": "object", "properties": { "header": {"$ref": "BoundsHeader.json"}, diff --git a/jsonschema/MsgSsrOrbitClockBounds.json b/jsonschema/MsgSsrOrbitClockBounds.json index c7f1b6df5f..80753ff7bf 100644 --- a/jsonschema/MsgSsrOrbitClockBounds.json +++ b/jsonschema/MsgSsrOrbitClockBounds.json @@ -13,7 +13,7 @@ "$schema": "http://json-schema.org/draft-06/schema#", "$id": "#MsgSsrOrbitClockBounds", "title":"MsgSsrOrbitClockBounds", - "description":"", + "description":"Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240).\n", "type": "object", "properties": { "header": {"$ref": "BoundsHeader.json"}, diff --git a/proto/ssr.proto b/proto/ssr.proto index 40a5257e11..ca8f3f775f 100644 --- a/proto/ssr.proto +++ b/proto/ssr.proto @@ -234,7 +234,8 @@ message STECSatElementIntegrity { /** Gridded troposhere and STEC correction residuals bounds * -None + * Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, mean=5+0.5(i-230). */ message MsgSsrGriddedCorrectionBounds { BoundsHeader header = 1; @@ -313,7 +314,8 @@ message OrbitClockBound { /** Combined Orbit and Clock Bound * -None + * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). */ message MsgSsrOrbitClockBounds { BoundsHeader header = 1; diff --git a/python/sbp/ssr.py b/python/sbp/ssr.py index 574068d778..50d1f21518 100644 --- a/python/sbp/ssr.py +++ b/python/sbp/ssr.py @@ -263,7 +263,8 @@ class STECSatElement(object): Quality of the STEC data. Encoded following RTCM DF389 specification but in units of TECU instead of m. stec_coeff : array - Coefficients of the STEC polynomial in the order of C00, C01, C10, C11 + Coefficients of the STEC polynomial in the order of C00, C01, C10, C11. + C00 = 0.05 TECU, C01/C10 = 0.02 TECU/deg, C11 0.02 TECU/deg^2 """ _parser = construct.Struct( @@ -336,11 +337,12 @@ class TroposphericDelayCorrection(object): Parameters ---------- hydro : int - Hydrostatic vertical delay + Hydrostatic vertical delay. Add 2.3 m to get actual value. wet : int - Wet vertical delay + Wet vertical delay. Add 0.252 m to get actual value. stddev : int - stddev + Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= + (3^class * (1 + value/16) - 1) mm """ _parser = construct.Struct( @@ -418,7 +420,8 @@ class STECResidual(object): residual : int STEC residual stddev : int - stddev + Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= + (3^class * (1 + value/16) - 1) * 10 TECU """ _parser = construct.Struct( @@ -507,17 +510,13 @@ class STECSatElementIntegrity(object): stec_residual : STECResidual STEC residuals (mean, stddev) stec_bound_mu : int - STEC Error Bound Mean (range 0-17.5) i<= 200, mean = 0.01i 200230, mean=5+0.5(i-230) + Error Bound Mean. See Note 1. stec_bound_sig : int - STEC Error Bound Standard Deviation (range 0-17.5) i<= 200, mean = 0.01i - 200230, mean=5+0.5(i-230) + Error Bound StDev. See Note 1. stec_bound_mu_dot : int - STEC Error Bound Mean First derivative degradation parameter(range - 0-0.01275) + Error Bound Mean First derivative. Range: 0-0.01275 m/s stec_bound_sig_dot : int - STEC Error Bound Standard Deviation First derivative degradation parameter - (range 0-0.01275) + Error Bound StDev First derivative. Range: 0-0.01275 m/s """ _parser = construct.Struct( @@ -789,29 +788,21 @@ class OrbitClockBound(object): Satellite ID. Similar to either RTCM DF068 (GPS), DF252 (Galileo), or DF488 (BDS) depending on the constellation. orb_radial_bound_mu : int - Mean Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + Mean Radial. See Note 1. orb_along_bound_mu : int - Mean Along-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + Mean Along-Track. See Note 1. orb_cross_bound_mu : int - Mean Cross-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + Mean Cross-Track. See Note 1. orb_radial_bound_sig : int - Standard Deviation Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + Standard Deviation Radial. See Note 1. orb_along_bound_sig : int - Standard Deviation Along-Track (range 0-55) i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Standard Deviation Along-Track. See Note 1. orb_cross_bound_sig : int - Standard Deviation Cross-Track (range 0-55) i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Standard Deviation Cross-Track. See Note 1. clock_bound_mu : int - Clock Bound Mean (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + Clock Bound Mean. See Note 1. clock_bound_sig : int - Clock Bound Standard Deviation (range 0-55) i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Clock Bound Standard Deviation. See Note 1. """ _parser = construct.Struct( @@ -871,13 +862,13 @@ class CodePhaseBiasesSatSig(object): Signal and Tracking Mode Identifier. Similar to either RTCM DF380 (GPS), DF382 (Galileo) or DF467 (BDS) depending on the constellation. code_bias_bound_mu : int - Code Bias Mean (range 0-1.275) + Code Bias Mean. Range: 0-1.275 m code_bias_bound_sig : int - Code Bias Standard Deviation (range 0-1.275) + Code Bias Standard Deviation. Range: 0-1.275 m phase_bias_bound_mu : int - Phase Bias Mean (range 0-1.275) + Phase Bias Mean. Range: 0-1.275 m phase_bias_bound_sig : int - Phase Bias Standard Deviation (range 0-1.275) + Phase Bias Standard Deviation. Range: 0-1.275 m """ _parser = construct.Struct( @@ -923,28 +914,23 @@ class OrbitClockBoundDegradation(object): Parameters ---------- orb_radial_bound_mu_dot : int - Orbit Bound Mean Radial First derivative degradation parameter (range - 0-0.255) + Orbit Bound Mean Radial First derivative. Range: 0-0.255 m/s orb_along_bound_mu_dot : int - Orbit Bound Mean Along-Track First derivative degradation parameter (range - 0-0.255) + Orbit Bound Mean Along-Track First derivative. Range: 0-0.255 m/s orb_cross_bound_mu_dot : int - Orbit Bound Mean Cross-Track First derivative degradation parameter (range - 0-0.255) + Orbit Bound Mean Cross-Track First derivative. Range: 0-0.255 m/s orb_radial_bound_sig_dot : int - Orbit Bound Standard Deviation Radial First derivative degradation - parameter (range 0-0.255) + Orbit Bound Standard Deviation Radial First derivative. Range: 0-0.255 m/s orb_along_bound_sig_dot : int - Orbit Bound Standard Deviation Along-Track First derivative degradation - parameter (range 0-0.255) + Orbit Bound Standard Deviation Along-Track First derivative. Range: + 0-0.255 m/s orb_cross_bound_sig_dot : int - Orbit Bound Standard Deviation Cross-Track First derivative degradation - parameter (range 0-0.255) + Orbit Bound Standard Deviation Cross-Track First derivative. Range: + 0-0.255 m/s clock_bound_mu_dot : int - Clock Bound Mean First derivative degradation parameter (range 0-0.255) + Clock Bound Mean First derivative. Range: 0-0.255 m/s clock_bound_sig_dot : int - Clock Bound Standard Deviation First derivative degradation parameter - (range 0-0.255) + Clock Bound Standard Deviation First derivative. Range: 0-0.255 m/s """ _parser = construct.Struct( @@ -1721,6 +1707,8 @@ class MsgSsrGriddedCorrectionBounds(SBP): of its fields. + Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, mean=5+0.5(i-230). Parameters ---------- @@ -1741,9 +1729,9 @@ class MsgSsrGriddedCorrectionBounds(SBP): tropo_delay_correction : TroposphericDelayCorrection Tropospheric delay at grid point. tropo_bound_mu : int - Troposphere Error Bound Mean (range 0-1.275). + Troposphere Error Bound Mean. Range: 0-1.275 m tropo_bound_sig : int - Troposphere Error Bound Standard Deviation (range 0-1.275) + Troposphere Error Bound StDev. Range: 0-1.275 m n_sats : int Number of satellites. stec_sat_list : array @@ -2847,6 +2835,8 @@ class MsgSsrOrbitClockBounds(SBP): of its fields. + Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). Parameters ---------- diff --git a/rust/sbp/src/messages/ssr.rs b/rust/sbp/src/messages/ssr.rs index 61e7c82d8c..6b1292ea6e 100644 --- a/rust/sbp/src/messages/ssr.rs +++ b/rust/sbp/src/messages/ssr.rs @@ -169,16 +169,16 @@ pub mod code_phase_biases_sat_sig { /// DF382 (Galileo) or DF467 (BDS) depending on the constellation. #[cfg_attr(feature = "serde", serde(rename(serialize = "signal_id")))] pub signal_id: u8, - /// Code Bias Mean (range 0-1.275) + /// Code Bias Mean. Range: 0-1.275 m #[cfg_attr(feature = "serde", serde(rename(serialize = "code_bias_bound_mu")))] pub code_bias_bound_mu: u8, - /// Code Bias Standard Deviation (range 0-1.275) + /// Code Bias Standard Deviation. Range: 0-1.275 m #[cfg_attr(feature = "serde", serde(rename(serialize = "code_bias_bound_sig")))] pub code_bias_bound_sig: u8, - /// Phase Bias Mean (range 0-1.275) + /// Phase Bias Mean. Range: 0-1.275 m #[cfg_attr(feature = "serde", serde(rename(serialize = "phase_bias_bound_mu")))] pub phase_bias_bound_mu: u8, - /// Phase Bias Standard Deviation (range 0-1.275) + /// Phase Bias Standard Deviation. Range: 0-1.275 m #[cfg_attr(feature = "serde", serde(rename(serialize = "phase_bias_bound_sig")))] pub phase_bias_bound_sig: u8, } @@ -759,7 +759,12 @@ pub mod msg_ssr_gridded_correction_bounds { use super::*; use crate::messages::gnss::*; use crate::messages::lib::*; + /// Gridded troposhere and STEC correction residuals bounds + /// + /// Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, mean=5+0.5(i-230). + /// #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[derive(Debug, Clone)] pub struct MsgSsrGriddedCorrectionBounds { @@ -787,10 +792,10 @@ pub mod msg_ssr_gridded_correction_bounds { /// Tropospheric delay at grid point. #[cfg_attr(feature = "serde", serde(rename(serialize = "tropo_delay_correction")))] pub tropo_delay_correction: TroposphericDelayCorrection, - /// Troposphere Error Bound Mean (range 0-1.275). + /// Troposphere Error Bound Mean. Range: 0-1.275 m #[cfg_attr(feature = "serde", serde(rename(serialize = "tropo_bound_mu")))] pub tropo_bound_mu: u8, - /// Troposphere Error Bound Standard Deviation (range 0-1.275) + /// Troposphere Error Bound StDev. Range: 0-1.275 m #[cfg_attr(feature = "serde", serde(rename(serialize = "tropo_bound_sig")))] pub tropo_bound_sig: u8, /// Number of satellites. @@ -1320,7 +1325,12 @@ pub mod msg_ssr_orbit_clock_bounds { use super::*; use crate::messages::gnss::*; use crate::messages::lib::*; + /// Combined Orbit and Clock Bound + /// + /// Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, mean=25+2(i-240). + /// #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[derive(Debug, Clone)] pub struct MsgSsrOrbitClockBounds { @@ -2502,36 +2512,28 @@ pub mod orbit_clock_bound { /// DF488 (BDS) depending on the constellation. #[cfg_attr(feature = "serde", serde(rename(serialize = "sat_id")))] pub sat_id: u8, - /// Mean Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + /// Mean Radial. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_radial_bound_mu")))] pub orb_radial_bound_mu: u8, - /// Mean Along-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + /// Mean Along-Track. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_along_bound_mu")))] pub orb_along_bound_mu: u8, - /// Mean Cross-Track (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + /// Mean Cross-Track. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_cross_bound_mu")))] pub orb_cross_bound_mu: u8, - /// Standard Deviation Radial (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + /// Standard Deviation Radial. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_radial_bound_sig")))] pub orb_radial_bound_sig: u8, - /// Standard Deviation Along-Track (range 0-55) i<=200, mean=0.0251i - /// 200240, mean=25+2(i-240) + /// Standard Deviation Along-Track. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_along_bound_sig")))] pub orb_along_bound_sig: u8, - /// Standard Deviation Cross-Track (range 0-55) i<=200, mean=0.0251i - /// 200240, mean=25+2(i-240) + /// Standard Deviation Cross-Track. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_cross_bound_sig")))] pub orb_cross_bound_sig: u8, - /// Clock Bound Mean (range 0-55) i<=200, mean=0.0251i 200240, mean=25+2(i-240) + /// Clock Bound Mean. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "clock_bound_mu")))] pub clock_bound_mu: u8, - /// Clock Bound Standard Deviation (range 0-55) i<=200, mean=0.0251i - /// 200240, mean=25+2(i-240) + /// Clock Bound Standard Deviation. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "clock_bound_sig")))] pub clock_bound_sig: u8, } @@ -2598,47 +2600,43 @@ pub mod orbit_clock_bound_degradation { #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[derive(Debug, Clone)] pub struct OrbitClockBoundDegradation { - /// Orbit Bound Mean Radial First derivative degradation parameter (range - /// 0-0.255) + /// Orbit Bound Mean Radial First derivative. Range: 0-0.255 m/s #[cfg_attr( feature = "serde", serde(rename(serialize = "orb_radial_bound_mu_dot")) )] pub orb_radial_bound_mu_dot: u8, - /// Orbit Bound Mean Along-Track First derivative degradation parameter - /// (range 0-0.255) + /// Orbit Bound Mean Along-Track First derivative. Range: 0-0.255 m/s #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_along_bound_mu_dot")))] pub orb_along_bound_mu_dot: u8, - /// Orbit Bound Mean Cross-Track First derivative degradation parameter - /// (range 0-0.255) + /// Orbit Bound Mean Cross-Track First derivative. Range: 0-0.255 m/s #[cfg_attr(feature = "serde", serde(rename(serialize = "orb_cross_bound_mu_dot")))] pub orb_cross_bound_mu_dot: u8, - /// Orbit Bound Standard Deviation Radial First derivative degradation - /// parameter (range 0-0.255) + /// Orbit Bound Standard Deviation Radial First derivative. Range: 0-0.255 + /// m/s #[cfg_attr( feature = "serde", serde(rename(serialize = "orb_radial_bound_sig_dot")) )] pub orb_radial_bound_sig_dot: u8, - /// Orbit Bound Standard Deviation Along-Track First derivative degradation - /// parameter (range 0-0.255) + /// Orbit Bound Standard Deviation Along-Track First derivative. Range: + /// 0-0.255 m/s #[cfg_attr( feature = "serde", serde(rename(serialize = "orb_along_bound_sig_dot")) )] pub orb_along_bound_sig_dot: u8, - /// Orbit Bound Standard Deviation Cross-Track First derivative degradation - /// parameter (range 0-0.255) + /// Orbit Bound Standard Deviation Cross-Track First derivative. Range: + /// 0-0.255 m/s #[cfg_attr( feature = "serde", serde(rename(serialize = "orb_cross_bound_sig_dot")) )] pub orb_cross_bound_sig_dot: u8, - /// Clock Bound Mean First derivative degradation parameter (range 0-0.255) + /// Clock Bound Mean First derivative. Range: 0-0.255 m/s #[cfg_attr(feature = "serde", serde(rename(serialize = "clock_bound_mu_dot")))] pub clock_bound_mu_dot: u8, - /// Clock Bound Standard Deviation First derivative degradation parameter - /// (range 0-0.255) + /// Clock Bound Standard Deviation First derivative. Range: 0-0.255 m/s #[cfg_attr(feature = "serde", serde(rename(serialize = "clock_bound_sig_dot")))] pub clock_bound_sig_dot: u8, } @@ -2922,7 +2920,8 @@ pub mod stec_residual { /// STEC residual #[cfg_attr(feature = "serde", serde(rename(serialize = "residual")))] pub residual: i16, - /// stddev + /// Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= + /// (3^class * (1 + value/16) - 1) * 10 TECU #[cfg_attr(feature = "serde", serde(rename(serialize = "stddev")))] pub stddev: u8, } @@ -3012,7 +3011,8 @@ pub mod stec_sat_element { /// in units of TECU instead of m. #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_quality_indicator")))] pub stec_quality_indicator: u8, - /// Coefficients of the STEC polynomial in the order of C00, C01, C10, C11 + /// Coefficients of the STEC polynomial in the order of C00, C01, C10, C11. + /// C00 = 0.05 TECU, C01/C10 = 0.02 TECU/deg, C11 0.02 TECU/deg^2 #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_coeff")))] pub stec_coeff: [i16; 4], } @@ -3058,20 +3058,16 @@ pub mod stec_sat_element_integrity { /// STEC residuals (mean, stddev) #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_residual")))] pub stec_residual: STECResidual, - /// STEC Error Bound Mean (range 0-17.5) i<= 200, mean = 0.01i 200230, mean=5+0.5(i-230) + /// Error Bound Mean. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_bound_mu")))] pub stec_bound_mu: u8, - /// STEC Error Bound Standard Deviation (range 0-17.5) i<= 200, mean = 0.01i - /// 200230, mean=5+0.5(i-230) + /// Error Bound StDev. See Note 1. #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_bound_sig")))] pub stec_bound_sig: u8, - /// STEC Error Bound Mean First derivative degradation parameter(range - /// 0-0.01275) + /// Error Bound Mean First derivative. Range: 0-0.01275 m/s #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_bound_mu_dot")))] pub stec_bound_mu_dot: u8, - /// STEC Error Bound Standard Deviation First derivative degradation - /// parameter (range 0-0.01275) + /// Error Bound StDev First derivative. Range: 0-0.01275 m/s #[cfg_attr(feature = "serde", serde(rename(serialize = "stec_bound_sig_dot")))] pub stec_bound_sig_dot: u8, } @@ -3326,13 +3322,14 @@ pub mod tropospheric_delay_correction { #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[derive(Debug, Clone)] pub struct TroposphericDelayCorrection { - /// Hydrostatic vertical delay + /// Hydrostatic vertical delay. Add 2.3 m to get actual value. #[cfg_attr(feature = "serde", serde(rename(serialize = "hydro")))] pub hydro: i16, - /// Wet vertical delay + /// Wet vertical delay. Add 0.252 m to get actual value. #[cfg_attr(feature = "serde", serde(rename(serialize = "wet")))] pub wet: i8, - /// stddev + /// Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= + /// (3^class * (1 + value/16) - 1) mm #[cfg_attr(feature = "serde", serde(rename(serialize = "stddev")))] pub stddev: u8, } diff --git a/sbpjson/elm/SbpJson.elm b/sbpjson/elm/SbpJson.elm index ac34d0aad0..f92192b5ca 100644 --- a/sbpjson/elm/SbpJson.elm +++ b/sbpjson/elm/SbpJson.elm @@ -2629,6 +2629,9 @@ type alias GriddedCorrectionHeader = , updateInterval : Int } +{-| Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, +mean=5+0.5(i-230). +-} type alias MsgSsrGriddedCorrectionBounds = { gridPointID : Int , header : BoundsHeader @@ -2672,6 +2675,9 @@ type alias MsgSsrOrbitClock = , updateInterval : Int } +{-| Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, +mean=25+2(i-240). +-} type alias MsgSsrOrbitClockBounds = { constID : Int , header : BoundsHeader diff --git a/sbpjson/typescript/SbpJson.ts b/sbpjson/typescript/SbpJson.ts index b126e11028..fda718ebf5 100644 --- a/sbpjson/typescript/SbpJson.ts +++ b/sbpjson/typescript/SbpJson.ts @@ -2130,6 +2130,10 @@ export interface GriddedCorrectionHeader { update_interval: number; } +/** + * Note 1: Range: 0-17.5 m. i<= 200, mean = 0.01i; 200230, + * mean=5+0.5(i-230). + */ export interface MsgSsrGriddedCorrectionBounds { grid_point_id: number; header: BoundsHeader; @@ -2176,6 +2180,10 @@ export interface MsgSsrOrbitClock { update_interval: number; } +/** + * Note 1: Range: 0-55 m. i<=200, mean=0.0251i; 200240, + * mean=25+2(i-240). + */ export interface MsgSsrOrbitClockBounds { const_id: number; header: BoundsHeader; diff --git a/scripts/spec_validator.py b/scripts/spec_validator.py index 67402834af..5c584dfd2f 100644 --- a/scripts/spec_validator.py +++ b/scripts/spec_validator.py @@ -112,6 +112,9 @@ def validate_bitfields( def validate_fields(filename: str, previous_fields: dict, current_fields: dict) -> None: + if "stub" in [list(K.keys())[0] for K in previous_fields]: + logging.warning("Found stubbed message, skipping validation check...") + return if len(previous_fields) != len(current_fields): raise RuntimeError( "Breaking Message Mutation Detected!\n" "Number of fields has changed!\n" diff --git a/spec/yaml/swiftnav/sbp/integrity.yaml b/spec/yaml/swiftnav/sbp/integrity.yaml index f6f7b7e246..58378ad4f4 100644 --- a/spec/yaml/swiftnav/sbp/integrity.yaml +++ b/spec/yaml/swiftnav/sbp/integrity.yaml @@ -11,7 +11,7 @@ package: swiftnav.sbp.integrity description: Integrity flag messages stable: False -public: False +public: True include: - types.yaml - gnss.yaml @@ -44,7 +44,6 @@ definitions: - MSG_SSR_FLAG_HIGH_LEVEL: id: 0x0BB9 short_desc: High level integrity flags - public: False fields: - obs_time: type: GPSTimeSec @@ -94,7 +93,6 @@ definitions: - MSG_SSR_FLAG_SATELLITES: id: 0x0BBD short_desc: List of satellites which are faulty, per constellation - public: False fields: - obs_time: type: GPSTimeSec @@ -126,7 +124,6 @@ definitions: - MSG_SSR_FLAG_TROPO_GRID_POINTS: id: 0x0BC3 short_desc: List of grid points which are faulty - public: False fields: - header: type: IntegritySSRHeader @@ -143,7 +140,6 @@ definitions: - MSG_SSR_FLAG_IONO_GRID_POINTS: id: 0x0BC7 short_desc: List of grid points which are faulty - public: False fields: - header: type: IntegritySSRHeader @@ -160,7 +156,6 @@ definitions: - MSG_SSR_FLAG_IONO_TILE_SAT_LOS: id: 0x0BCD short_desc: List of all the LOS which are faulty - public: False fields: - header: type: IntegritySSRHeader @@ -177,7 +172,6 @@ definitions: - MSG_SSR_FLAG_IONO_GRID_POINT_SAT_LOS: id: 0x0BD1 short_desc: List of all the grid points to satellite which are faulty - public: False fields: - header: type: IntegritySSRHeader diff --git a/spec/yaml/swiftnav/sbp/navigation.yaml b/spec/yaml/swiftnav/sbp/navigation.yaml index f83c1277f1..38bf456caa 100644 --- a/spec/yaml/swiftnav/sbp/navigation.yaml +++ b/spec/yaml/swiftnav/sbp/navigation.yaml @@ -2482,7 +2482,6 @@ definitions: - MSG_ITRF: id: 0x0244 short_desc: Reference Frame Transformation Parameter - public: False fields: - ssr_iod: type: u8 diff --git a/spec/yaml/swiftnav/sbp/ssr.yaml b/spec/yaml/swiftnav/sbp/ssr.yaml index 32a6c80959..acc04a3cbb 100644 --- a/spec/yaml/swiftnav/sbp/ssr.yaml +++ b/spec/yaml/swiftnav/sbp/ssr.yaml @@ -142,9 +142,11 @@ definitions: type: array size: 4 fill: s16 - units: C00 = 0.05 TECU, C01/C10 = 0.02 TECU/deg, C11 0.02 TECU/deg^2 desc: > - Coefficients of the STEC polynomial in the order of C00, C01, C10, C11 + Coefficients of the STEC polynomial in the order of C00, C01, C10, C11. + C00 = 0.05 TECU, + C01/C10 = 0.02 TECU/deg, + C11 0.02 TECU/deg^2 - TroposphericDelayCorrectionNoStd: desc: > @@ -166,18 +168,23 @@ definitions: fields: - hydro: type: s16 - units: 4 mm (add 2.3 m to get actual vertical hydro delay) - desc: Hydrostatic vertical delay + units: 4 mm + desc: > + Hydrostatic vertical delay. + Add 2.3 m to get actual value. - wet: type: s8 - units: 4 mm (add 0.252 m to get actual vertical wet delay) - desc: Wet vertical delay + units: 4 mm + desc: > + Wet vertical delay. + Add 0.252 m to get actual value. - stddev: type: u8 - units: > - modified DF389 scale; class is upper 3 bits, value is lower 5 + units: mm + desc: > + Modified DF389 scale. + Class is upper 3 bits, value is lower 5. stddev <= (3^class * (1 + value/16) - 1) mm - desc: stddev - STECResidualNoStd: desc: STEC residual for the given satellite at the grid point. @@ -204,10 +211,9 @@ definitions: desc: STEC residual - stddev: type: u8 - units: > - modified DF389 scale; class is upper 3 bits, value is lower 5 + desc: > + Modified DF389 scale. Class is upper 3 bits, value is lower 5. stddev <= (3^class * (1 + value/16) - 1) * 10 TECU - desc: stddev - MSG_SSR_ORBIT_CLOCK: id: 0x05DD @@ -405,7 +411,6 @@ definitions: - MSG_SSR_STEC_CORRECTION: id: 0x05FD short_desc: STEC correction polynomial coefficients - public: False fields: - header: type: BoundsHeader @@ -461,31 +466,35 @@ definitions: type: u8 units: m desc: > - STEC Error Bound Mean (range 0-17.5) - i<= 200, mean = 0.01i - 200230, mean=5+0.5(i-230) + Error Bound Mean. + See Note 1. - stec_bound_sig: type: u8 units: m desc: > - STEC Error Bound Standard Deviation (range 0-17.5) - i<= 200, mean = 0.01i - 200230, mean=5+0.5(i-230) + Error Bound StDev. + See Note 1. - stec_bound_mu_dot: type: u8 units: 0.00005 m/s - desc: STEC Error Bound Mean First derivative degradation parameter(range 0-0.01275) + desc: > + Error Bound Mean First derivative. + Range: 0-0.01275 m/s - stec_bound_sig_dot: type: u8 units: 0.00005 m/s - desc: STEC Error Bound Standard Deviation First derivative degradation parameter (range 0-0.01275) + desc: > + Error Bound StDev First derivative. + Range: 0-0.01275 m/s - MSG_SSR_GRIDDED_CORRECTION_BOUNDS: id: 0x05FE short_desc: Gridded troposhere and STEC correction residuals bounds - public: False + desc: > + Note 1: Range: 0-17.5 m. + i<= 200, mean = 0.01i; + 200230, mean=5+0.5(i-230). fields: - header: type: BoundsHeader @@ -511,11 +520,15 @@ definitions: - tropo_bound_mu: type: u8 units: 0.005 m - desc: Troposphere Error Bound Mean (range 0-1.275). + desc: > + Troposphere Error Bound Mean. + Range: 0-1.275 m - tropo_bound_sig: type: u8 units: 0.005 m - desc: Troposphere Error Bound Standard Deviation (range 0-1.275) + desc: > + Troposphere Error Bound StDev. + Range: 0-1.275 m - n_sats: type: u8 desc: Number of satellites. @@ -646,7 +659,6 @@ definitions: Based on ETSI TS 137 355 V16.1.0 (LTE Positioning Protocol) information element GNSS-SSR-CorrectionPoints. SBP only supports gridded arrays of correction points, not lists of points. - public: False fields: - ssr_sol_id: type: u8 @@ -1050,71 +1062,59 @@ definitions: type: u8 units: m desc: > - Mean Radial (range 0-55) - i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Mean Radial. + See Note 1. - orb_along_bound_mu: type: u8 units: m desc: > - Mean Along-Track (range 0-55) - i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Mean Along-Track. + See Note 1. - orb_cross_bound_mu: type: u8 units: m desc: > - Mean Cross-Track (range 0-55) - i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Mean Cross-Track. + See Note 1. - orb_radial_bound_sig: type: u8 units: m desc: > - Standard Deviation Radial (range 0-55) - i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Standard Deviation Radial. + See Note 1. - orb_along_bound_sig: type: u8 units: m desc: > - Standard Deviation Along-Track (range 0-55) - i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Standard Deviation Along-Track. + See Note 1. - orb_cross_bound_sig: type: u8 units: m desc: > - Standard Deviation Cross-Track (range 0-55) - i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Standard Deviation Cross-Track. + See Note 1. - clock_bound_mu: type: u8 units: m desc: > - Clock Bound Mean (range 0-55) - i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Clock Bound Mean. + See Note 1. - clock_bound_sig: type: u8 units: m desc: > - Clock Bound Standard Deviation (range 0-55) - i<=200, mean=0.0251i - 200240, mean=25+2(i-240) + Clock Bound Standard Deviation. + See Note 1. - MSG_SSR_ORBIT_CLOCK_BOUNDS: id: 0x05DE short_desc: Combined Orbit and Clock Bound - public: False + desc: > + Note 1: Range: 0-55 m. + i<=200, mean=0.0251i; + 200240, mean=25+2(i-240). fields: - header: type: BoundsHeader @@ -1151,24 +1151,31 @@ definitions: - code_bias_bound_mu: type: u8 units: 0.005 m - desc: Code Bias Mean (range 0-1.275) + desc: > + Code Bias Mean. + Range: 0-1.275 m - code_bias_bound_sig: type: u8 units: 0.005 m - desc: Code Bias Standard Deviation (range 0-1.275) + desc: > + Code Bias Standard Deviation. + Range: 0-1.275 m - phase_bias_bound_mu: type: u8 units: 0.005 m - desc: Phase Bias Mean (range 0-1.275) + desc: > + Phase Bias Mean. + Range: 0-1.275 m - phase_bias_bound_sig: type: u8 units: 0.005 m - desc: Phase Bias Standard Deviation (range 0-1.275) + desc: > + Phase Bias Standard Deviation. + Range: 0-1.275 m - MSG_SSR_CODE_PHASE_BIASES_BOUNDS: id: 0x05EC short_desc: Combined Code and Phase Biases Bounds - public: False fields: - header: type: BoundsHeader @@ -1196,55 +1203,54 @@ definitions: type: u8 units: 0.001 m/s desc: > - Orbit Bound Mean Radial First derivative degradation parameter - (range 0-0.255) + Orbit Bound Mean Radial First derivative. + Range: 0-0.255 m/s - orb_along_bound_mu_dot: type: u8 units: 0.001 m/s desc: > - Orbit Bound Mean Along-Track First derivative degradation parameter - (range 0-0.255) + Orbit Bound Mean Along-Track First derivative. + Range: 0-0.255 m/s - orb_cross_bound_mu_dot: type: u8 units: 0.001 m/s desc: > - Orbit Bound Mean Cross-Track First derivative degradation parameter - (range 0-0.255) + Orbit Bound Mean Cross-Track First derivative. + Range: 0-0.255 m/s - orb_radial_bound_sig_dot: type: u8 units: 0.001 m/s desc: > - Orbit Bound Standard Deviation Radial First derivative degradation parameter - (range 0-0.255) + Orbit Bound Standard Deviation Radial First derivative. + Range: 0-0.255 m/s - orb_along_bound_sig_dot: type: u8 units: 0.001 m/s desc: > - Orbit Bound Standard Deviation Along-Track First derivative degradation parameter - (range 0-0.255) + Orbit Bound Standard Deviation Along-Track First derivative. + Range: 0-0.255 m/s - orb_cross_bound_sig_dot: type: u8 units: 0.001 m/s desc: > - Orbit Bound Standard Deviation Cross-Track First derivative degradation parameter - (range 0-0.255) + Orbit Bound Standard Deviation Cross-Track First derivative. + Range: 0-0.255 m/s - clock_bound_mu_dot: type: u8 units: 0.001 m/s desc: > - Clock Bound Mean First derivative degradation parameter - (range 0-0.255) + Clock Bound Mean First derivative. + Range: 0-0.255 m/s - clock_bound_sig_dot: type: u8 units: 0.001 m/s desc: > - Clock Bound Standard Deviation First derivative degradation parameter - (range 0-0.255) + Clock Bound Standard Deviation First derivative. + Range: 0-0.255 m/s - MSG_SSR_ORBIT_CLOCK_BOUNDS_DEGRADATION: id: 0x05DF short_desc: Combined Orbit and Clock Bound Degradation Parameter - public: False fields: - header: type: BoundsHeader