diff --git a/src/core/system_parameters/galileo_fnav_message.h b/src/core/system_parameters/galileo_fnav_message.h index 8544bf0b0..01a9e841f 100644 --- a/src/core/system_parameters/galileo_fnav_message.h +++ b/src/core/system_parameters/galileo_fnav_message.h @@ -162,15 +162,15 @@ private: double FNAV_ai0_1{}; double FNAV_ai1_1{}; double FNAV_ai2_1{}; + double FNAV_BGD_1{}; + int32_t FNAV_E5ahs_1{}; + int32_t FNAV_WN_1{}; + int32_t FNAV_TOW_1{}; bool FNAV_region1_1{}; bool FNAV_region2_1{}; bool FNAV_region3_1{}; bool FNAV_region4_1{}; bool FNAV_region5_1{}; - double FNAV_BGD_1{}; - int32_t FNAV_E5ahs_1{}; - int32_t FNAV_WN_1{}; - int32_t FNAV_TOW_1{}; bool FNAV_E5advs_1{}; // WORD 2 Ephemeris (1/3) and GST diff --git a/src/core/system_parameters/galileo_has_data.h b/src/core/system_parameters/galileo_has_data.h index 4d524f15b..e4a638ac0 100644 --- a/src/core/system_parameters/galileo_has_data.h +++ b/src/core/system_parameters/galileo_has_data.h @@ -56,12 +56,7 @@ public: std::vector get_signals_in_mask(uint8_t nsys) const; uint8_t get_gnss_id(int nsat) const; - mt1_header header; - uint8_t has_status; - uint8_t message_id; - // Mask - uint8_t Nsys; std::vector gnss_id_mask; std::vector satellite_mask; std::vector signal_mask; @@ -70,21 +65,17 @@ public: std::vector nav_message; // Orbit corrections - uint8_t validity_interval_index_orbit_corrections; std::vector gnss_iod; std::vector delta_radial; std::vector delta_along_track; std::vector delta_cross_track; // Clock full-set corrections - uint8_t validity_interval_index_clock_fullset_corrections; std::vector delta_clock_c0_multiplier; std::vector iod_change_flag; std::vector delta_clock_c0; // Clock subset corrections - uint8_t validity_interval_index_clock_subset_corrections; - uint8_t Nsysprime; std::vector gnss_id_clock_subset; std::vector delta_clock_c0_multiplier_clock_subset; std::vector satellite_submask; @@ -92,17 +83,27 @@ public: std::vector> delta_clock_c0_clock_subset; // Code bias - uint8_t validity_interval_index_code_bias_corrections; std::vector> code_bias; // Phase bias - uint8_t validity_interval_index_phase_bias_corrections; std::vector> phase_bias; std::vector> phase_discontinuity_indicator; // URA - uint8_t validity_interval_index_ura_corrections; std::vector ura; + + mt1_header header; + uint8_t has_status; + uint8_t message_id; + + uint8_t Nsys; // in Mask + uint8_t validity_interval_index_orbit_corrections; // in Orbit corrections + uint8_t validity_interval_index_clock_fullset_corrections; // in Clock full-set corrections + uint8_t validity_interval_index_clock_subset_corrections; // in Clock subset corrections + uint8_t Nsysprime; // in Clock subset corrections + uint8_t validity_interval_index_code_bias_corrections; // in Code bias + uint8_t validity_interval_index_phase_bias_corrections; // in Phase bias + uint8_t validity_interval_index_ura_corrections; // in URA }; diff --git a/src/core/system_parameters/galileo_inav_message.h b/src/core/system_parameters/galileo_inav_message.h index baddaf0b2..003670fe9 100644 --- a/src/core/system_parameters/galileo_inav_message.h +++ b/src/core/system_parameters/galileo_inav_message.h @@ -238,6 +238,10 @@ private: std::string page_Even{}; + std::vector rs_buffer; // Reed-Solomon buffer + std::unique_ptr rs; // The Reed-Solomon decoder + std::vector inav_rs_pages; // Pages 1,2,3,4,17,18,19,20. Holds 1 if the page has arrived, 0 otherwise. + int32_t Page_type_time_stamp{}; int32_t IOD_ephemeris{}; @@ -257,13 +261,13 @@ private: // Word type 3: Ephemeris (3/4) and SISA int32_t IOD_nav_3{}; // + int32_t SISA_3{}; double OMEGA_dot_3{}; // Rate of right ascension [semi-circles/sec] double delta_n_3{}; // Mean motion difference from computed value [semi-circles/sec] double C_uc_3{}; // Amplitude of the cosine harmonic correction term to the argument of latitude [radians] double C_us_3{}; // Amplitude of the sine harmonic correction term to the argument of latitude [radians] double C_rc_3{}; // Amplitude of the cosine harmonic correction term to the orbit radius [meters] double C_rs_3{}; // Amplitude of the sine harmonic correction term to the orbit radius [meters] - int32_t SISA_3{}; // Word type 4: Ephemeris (4/4) and Clock correction parameters*/ int32_t IOD_nav_4{}; // @@ -283,6 +287,10 @@ private: double ai0_5{}; // Effective Ionisation Level 1st order parameter [sfu] double ai1_5{}; // Effective Ionisation Level 2st order parameter [sfu/degree] double ai2_5{}; // Effective Ionisation Level 3st order parameter [sfu/degree] + double BGD_E1E5a_5{}; // E1-E5a Broadcast Group Delay [s] + double BGD_E1E5b_5{}; // E1-E5b Broadcast Group Delay [s] + int32_t E5b_HS_5{}; // E5b Signal Health Status + int32_t E1B_HS_5{}; // E1B Signal Health Status // Ionospheric disturbance flag bool Region1_flag_5{}; // Ionospheric Disturbance Flag for region 1 @@ -290,11 +298,6 @@ private: bool Region3_flag_5{}; // Ionospheric Disturbance Flag for region 3 bool Region4_flag_5{}; // Ionospheric Disturbance Flag for region 4 bool Region5_flag_5{}; // Ionospheric Disturbance Flag for region 5 - double BGD_E1E5a_5{}; // E1-E5a Broadcast Group Delay [s] - double BGD_E1E5b_5{}; // E1-E5b Broadcast Group Delay [s] - - int32_t E5b_HS_5{}; // E5b Signal Health Status - int32_t E1B_HS_5{}; // E1B Signal Health Status bool E5b_DVS_5{}; // E5b Data Validity Status bool E1B_DVS_5{}; // E1B Data Validity Status @@ -329,11 +332,11 @@ private: // Word type 8: Almanac for SVID1 (2/2) and SVID2 (1/2) int32_t IOD_a_8{}; - double af0_8{}; - double af1_8{}; int32_t E5b_HS_8{}; int32_t E1B_HS_8{}; int32_t SVID2_8{}; + double af0_8{}; + double af1_8{}; double DELTA_A_8{}; double e_8{}; double omega_8{}; @@ -391,10 +394,6 @@ private: int32_t current_IODnav{}; - std::vector rs_buffer; // Reed-Solomon buffer - std::unique_ptr rs; // The Reed-Solomon decoder - std::vector inav_rs_pages; // Pages 1,2,3,4,17,18,19,20. Holds 1 if the page has arrived, 0 otherwise. - uint8_t IODnav_LSB17{}; uint8_t IODnav_LSB18{}; uint8_t IODnav_LSB19{};