mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 15:23:04 +00:00 
			
		
		
		
	Enable RINEX printer for more combinations of signals
This commit is contained in:
		| @@ -179,24 +179,20 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration, | |||||||
|     int glo_1G_count = configuration->property("Channels_1G.count", 0); |     int glo_1G_count = configuration->property("Channels_1G.count", 0); | ||||||
|     int glo_2G_count = configuration->property("Channels_2G.count", 0); |     int glo_2G_count = configuration->property("Channels_2G.count", 0); | ||||||
|  |  | ||||||
|     //unsigned int type_of_receiver = 0; |     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 1;  // L1 | ||||||
|  |  | ||||||
|     // *******************WARNING!!!!!!!*********** |  | ||||||
|     // GPS L5 only configurable for single frequency, single system at the moment!!!!!! |  | ||||||
|     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 1; |  | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count != 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 2; |     if ((gps_1C_count == 0) && (gps_2S_count != 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 2; | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count != 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 3; |     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count != 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 3;  // L5 | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 4; |     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 4;  // E1 | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count != 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 5; |     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count != 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 5;  // E5a | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count != 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 6; |     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count != 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 6; | ||||||
|  |  | ||||||
|     if ((gps_1C_count != 0) && (gps_2S_count != 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 7; |     if ((gps_1C_count != 0) && (gps_2S_count != 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 7; | ||||||
|     //if( (gps_1C_count != 0) && (gps_2S_count == 0)  && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0)) pvt_output_parameters.type_of_receiver = 8; |     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count != 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 8;  // L1+L5 | ||||||
|     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 9; |     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 9;  // L1+E1 | ||||||
|     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count != 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 10; |     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count != 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 10; | ||||||
|     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count != 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 11; |     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count != 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 11; | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count != 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 12; |     if ((gps_1C_count == 0) && (gps_2S_count != 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 12; | ||||||
|     //if( (gps_1C_count == 0) && (gps_2S_count == 0)  && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0)) pvt_output_parameters.type_of_receiver = 13; |     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count != 0) && (gal_1B_count == 0) && (gal_E5a_count != 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 13;  // L5+E5a | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count != 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 14; |     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count != 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 14; | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count != 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 15; |     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count != 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 15; | ||||||
|     //if( (gps_1C_count == 0) && (gps_2S_count == 0)  && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0)) pvt_output_parameters.type_of_receiver = 16; |     //if( (gps_1C_count == 0) && (gps_2S_count == 0)  && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0)) pvt_output_parameters.type_of_receiver = 16; | ||||||
| @@ -215,11 +211,14 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration, | |||||||
|     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count != 0)) pvt_output_parameters.type_of_receiver = 29; |     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count != 0)) pvt_output_parameters.type_of_receiver = 29; | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count != 0)) pvt_output_parameters.type_of_receiver = 30; |     if ((gps_1C_count == 0) && (gps_2S_count == 0) && (gps_L5_count == 0) && (gal_1B_count != 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count != 0)) pvt_output_parameters.type_of_receiver = 30; | ||||||
|     if ((gps_1C_count == 0) && (gps_2S_count != 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count != 0)) pvt_output_parameters.type_of_receiver = 31; |     if ((gps_1C_count == 0) && (gps_2S_count != 0) && (gps_L5_count == 0) && (gal_1B_count == 0) && (gal_E5a_count == 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count != 0)) pvt_output_parameters.type_of_receiver = 31; | ||||||
|  |  | ||||||
|  |     if ((gps_1C_count != 0) && (gps_2S_count == 0) && (gps_L5_count != 0) && (gal_1B_count != 0) && (gal_E5a_count != 0) && (gal_E5b_count == 0) && (glo_1G_count == 0) && (glo_2G_count == 0)) pvt_output_parameters.type_of_receiver = 32;  // L1+E1+L5+E5a | ||||||
|  |  | ||||||
|     // RTKLIB PVT solver options |     // RTKLIB PVT solver options | ||||||
|     // Settings 1 |     // Settings 1 | ||||||
|     int positioning_mode = -1; |     int positioning_mode = -1; | ||||||
|     std::string default_pos_mode("Single"); |     std::string default_pos_mode("Single"); | ||||||
|     std::string positioning_mode_str = configuration->property(role + ".positioning_mode", default_pos_mode); /* (PMODE_XXX) see src/algorithms/libs/rtklib/rtklib.h */ |     std::string positioning_mode_str = configuration->property(role + ".positioning_mode", default_pos_mode);  //  (PMODE_XXX) see src/algorithms/libs/rtklib/rtklib.h | ||||||
|     if (positioning_mode_str.compare("Single") == 0) positioning_mode = PMODE_SINGLE; |     if (positioning_mode_str.compare("Single") == 0) positioning_mode = PMODE_SINGLE; | ||||||
|     if (positioning_mode_str.compare("Static") == 0) positioning_mode = PMODE_STATIC; |     if (positioning_mode_str.compare("Static") == 0) positioning_mode = PMODE_STATIC; | ||||||
|     if (positioning_mode_str.compare("Kinematic") == 0) positioning_mode = PMODE_KINEMA; |     if (positioning_mode_str.compare("Kinematic") == 0) positioning_mode = PMODE_KINEMA; | ||||||
|   | |||||||
| @@ -1092,7 +1092,8 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                         { |                                                         { | ||||||
|                                                             if (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend()) |                                                             if (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend()) | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, d_rx_time); |                                                                     std::string signal("2S"); | ||||||
|  |                                                                     rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, d_rx_time, signal); | ||||||
|                                                                     rp->rinex_nav_header(rp->navFile, d_ls_pvt->gps_cnav_iono, d_ls_pvt->gps_cnav_utc_model); |                                                                     rp->rinex_nav_header(rp->navFile, d_ls_pvt->gps_cnav_iono, d_ls_pvt->gps_cnav_utc_model); | ||||||
|                                                                     b_rinex_header_written = true;  // do not write header anymore |                                                                     b_rinex_header_written = true;  // do not write header anymore | ||||||
|                                                                 } |                                                                 } | ||||||
| @@ -1101,7 +1102,8 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                         { |                                                         { | ||||||
|                                                             if (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend()) |                                                             if (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend()) | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, d_rx_time); |                                                                     std::string signal("L5"); | ||||||
|  |                                                                     rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, d_rx_time, signal); | ||||||
|                                                                     rp->rinex_nav_header(rp->navFile, d_ls_pvt->gps_cnav_iono, d_ls_pvt->gps_cnav_utc_model); |                                                                     rp->rinex_nav_header(rp->navFile, d_ls_pvt->gps_cnav_iono, d_ls_pvt->gps_cnav_utc_model); | ||||||
|                                                                     b_rinex_header_written = true;  // do not write header anymore |                                                                     b_rinex_header_written = true;  // do not write header anymore | ||||||
|                                                                 } |                                                                 } | ||||||
| @@ -1139,12 +1141,22 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                         { |                                                         { | ||||||
|                                                             if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) |                                                             if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, d_rx_time); |                                                                     std::string signal("1C 2S"); | ||||||
|  |                                                                     rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, d_rx_time, signal); | ||||||
|  |                                                                     rp->rinex_nav_header(rp->navFile, d_ls_pvt->gps_iono, d_ls_pvt->gps_utc_model); | ||||||
|  |                                                                     b_rinex_header_written = true;  // do not write header anymore | ||||||
|  |                                                                 } | ||||||
|  |                                                         } | ||||||
|  |                                                     if (type_of_rx == 8)  // GPS L1 + GPS L5 | ||||||
|  |                                                         { | ||||||
|  |                                                             if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) | ||||||
|  |                                                                 { | ||||||
|  |                                                                     std::string signal("1C L5"); | ||||||
|  |                                                                     rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, d_rx_time, signal); | ||||||
|                                                                     rp->rinex_nav_header(rp->navFile, d_ls_pvt->gps_iono, d_ls_pvt->gps_utc_model); |                                                                     rp->rinex_nav_header(rp->navFile, d_ls_pvt->gps_iono, d_ls_pvt->gps_utc_model); | ||||||
|                                                                     b_rinex_header_written = true;  // do not write header anymore |                                                                     b_rinex_header_written = true;  // do not write header anymore | ||||||
|                                                                 } |                                                                 } | ||||||
|                                                         } |                                                         } | ||||||
|  |  | ||||||
|                                                     if (type_of_rx == 9)  // GPS L1 C/A + Galileo E1B |                                                     if (type_of_rx == 9)  // GPS L1 C/A + Galileo E1B | ||||||
|                                                         { |                                                         { | ||||||
|                                                             if ((galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend()) and (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend())) |                                                             if ((galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend()) and (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend())) | ||||||
| @@ -1175,6 +1187,17 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                     b_rinex_header_written = true;  // do not write header anymore |                                                                     b_rinex_header_written = true;  // do not write header anymore | ||||||
|                                                                 } |                                                                 } | ||||||
|                                                         } |                                                         } | ||||||
|  |                                                     if (type_of_rx == 13)  // L5+E5a | ||||||
|  |                                                         { | ||||||
|  |                                                             if ((galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) | ||||||
|  |                                                                 { | ||||||
|  |                                                                     std::string gal_signal("5X"); | ||||||
|  |                                                                     std::string gps_signal("L5"); | ||||||
|  |                                                                     rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gps_signal, gal_signal); | ||||||
|  |                                                                     rp->rinex_nav_header(rp->navMixFile, d_ls_pvt->gps_cnav_iono, d_ls_pvt->gps_cnav_utc_model, d_ls_pvt->galileo_iono, d_ls_pvt->galileo_utc_model); | ||||||
|  |                                                                     b_rinex_header_written = true;  // do not write header anymore | ||||||
|  |                                                                 } | ||||||
|  |                                                         } | ||||||
|                                                     if (type_of_rx == 14)  //  Galileo E1B + Galileo E5a |                                                     if (type_of_rx == 14)  //  Galileo E1B + Galileo E5a | ||||||
|                                                         { |                                                         { | ||||||
|                                                             if ((galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend())) |                                                             if ((galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend())) | ||||||
| @@ -1265,7 +1288,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                         } |                                                         } | ||||||
|                                                     if (type_of_rx == 29)  // GPS L1 C/A + GLONASS L2 C/A |                                                     if (type_of_rx == 29)  // GPS L1 C/A + GLONASS L2 C/A | ||||||
|                                                         { |                                                         { | ||||||
|                                                             if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.cend()) && (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend())) |                                                             if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.cend()) and (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend())) | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     std::string glo_signal("2G"); |                                                                     std::string glo_signal("2G"); | ||||||
|                                                                     rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, glo_signal); |                                                                     rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, glo_signal); | ||||||
| @@ -1281,7 +1304,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                         } |                                                         } | ||||||
|                                                     if (type_of_rx == 30)  //  Galileo E1B + GLONASS L2 C/A |                                                     if (type_of_rx == 30)  //  Galileo E1B + GLONASS L2 C/A | ||||||
|                                                         { |                                                         { | ||||||
|                                                             if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.cend()) && (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend())) |                                                             if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.cend()) and (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend())) | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     std::string glo_signal("2G"); |                                                                     std::string glo_signal("2G"); | ||||||
|                                                                     std::string gal_signal("1B"); |                                                                     std::string gal_signal("1B"); | ||||||
| @@ -1292,7 +1315,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                         } |                                                         } | ||||||
|                                                     if (type_of_rx == 31)  // GPS L2C + GLONASS L2 C/A |                                                     if (type_of_rx == 31)  // GPS L2C + GLONASS L2 C/A | ||||||
|                                                         { |                                                         { | ||||||
|                                                             if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.cend()) && (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) |                                                             if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.cend()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     std::string glo_signal("2G"); |                                                                     std::string glo_signal("2G"); | ||||||
|                                                                     rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, glo_signal); |                                                                     rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, glo_signal); | ||||||
| @@ -1300,6 +1323,20 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                     b_rinex_header_written = true;  // do not write header anymore |                                                                     b_rinex_header_written = true;  // do not write header anymore | ||||||
|                                                                 } |                                                                 } | ||||||
|                                                         } |                                                         } | ||||||
|  |  | ||||||
|  |                                                     if (type_of_rx == 32)  // L1+E1+L5+E5a | ||||||
|  |                                                         { | ||||||
|  |                                                             if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend()) && | ||||||
|  |                                                                 (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend()) && | ||||||
|  |                                                                 (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.cend())) | ||||||
|  |                                                                 { | ||||||
|  |                                                                     std::string gal_signal("1B 5X"); | ||||||
|  |                                                                     std::string gps_signal("1C L5"); | ||||||
|  |                                                                     rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gps_signal, gal_signal); | ||||||
|  |                                                                     rp->rinex_nav_header(rp->navMixFile, d_ls_pvt->gps_iono, d_ls_pvt->gps_utc_model, d_ls_pvt->galileo_iono, d_ls_pvt->galileo_utc_model); | ||||||
|  |                                                                     b_rinex_header_written = true;  // do not write header anymore | ||||||
|  |                                                                 } | ||||||
|  |                                                         } | ||||||
|                                                 } |                                                 } | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1327,10 +1364,18 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     rp->log_rinex_nav(rp->navFile, d_ls_pvt->gps_cnav_ephemeris_map); |                                                                     rp->log_rinex_nav(rp->navFile, d_ls_pvt->gps_cnav_ephemeris_map); | ||||||
|                                                                 } |                                                                 } | ||||||
|  |                                                             if (type_of_rx == 8)  // L1+L5 | ||||||
|  |                                                                 { | ||||||
|  |                                                                     rp->log_rinex_nav(rp->navFile, d_ls_pvt->gps_ephemeris_map); | ||||||
|  |                                                                 } | ||||||
|                                                             if ((type_of_rx == 9) or (type_of_rx == 10) or (type_of_rx == 11))  // GPS L1 C/A + Galileo |                                                             if ((type_of_rx == 9) or (type_of_rx == 10) or (type_of_rx == 11))  // GPS L1 C/A + Galileo | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     rp->log_rinex_nav(rp->navMixFile, d_ls_pvt->gps_ephemeris_map, d_ls_pvt->galileo_ephemeris_map); |                                                                     rp->log_rinex_nav(rp->navMixFile, d_ls_pvt->gps_ephemeris_map, d_ls_pvt->galileo_ephemeris_map); | ||||||
|                                                                 } |                                                                 } | ||||||
|  |                                                             if (type_of_rx == 13)  //  L5+E5a | ||||||
|  |                                                                 { | ||||||
|  |                                                                     rp->log_rinex_nav(rp->navFile, d_ls_pvt->gps_cnav_ephemeris_map, d_ls_pvt->galileo_ephemeris_map); | ||||||
|  |                                                                 } | ||||||
|                                                             if ((type_of_rx == 14) or (type_of_rx == 15))  //  Galileo E1B + Galileo E5a |                                                             if ((type_of_rx == 14) or (type_of_rx == 15))  //  Galileo E1B + Galileo E5a | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     rp->log_rinex_nav(rp->navGalFile, d_ls_pvt->galileo_ephemeris_map); |                                                                     rp->log_rinex_nav(rp->navGalFile, d_ls_pvt->galileo_ephemeris_map); | ||||||
| @@ -1375,6 +1420,10 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     rp->log_rinex_nav(rp->navMixFile, d_ls_pvt->gps_cnav_ephemeris_map, d_ls_pvt->glonass_gnav_ephemeris_map); |                                                                     rp->log_rinex_nav(rp->navMixFile, d_ls_pvt->gps_cnav_ephemeris_map, d_ls_pvt->glonass_gnav_ephemeris_map); | ||||||
|                                                                 } |                                                                 } | ||||||
|  |                                                             if (type_of_rx == 32)  // L1+E1+L5+E5a | ||||||
|  |                                                                 { | ||||||
|  |                                                                     rp->log_rinex_nav(rp->navMixFile, d_ls_pvt->gps_ephemeris_map, d_ls_pvt->galileo_ephemeris_map); | ||||||
|  |                                                                 } | ||||||
|                                                         } |                                                         } | ||||||
|                                                     galileo_ephemeris_iter = d_ls_pvt->galileo_ephemeris_map.cbegin(); |                                                     galileo_ephemeris_iter = d_ls_pvt->galileo_ephemeris_map.cbegin(); | ||||||
|                                                     gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.cbegin(); |                                                     gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.cbegin(); | ||||||
| @@ -1475,6 +1524,27 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                             b_rinex_header_updated = true; |                                                                             b_rinex_header_updated = true; | ||||||
|                                                                         } |                                                                         } | ||||||
|                                                                 } |                                                                 } | ||||||
|  |                                                             if (type_of_rx == 8)  // L1+L5 | ||||||
|  |                                                                 { | ||||||
|  |                                                                     if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.end())) | ||||||
|  |                                                                         { | ||||||
|  |                                                                             rp->log_rinex_obs(rp->obsFile, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, d_rx_time, gnss_observables_map); | ||||||
|  |                                                                         } | ||||||
|  |                                                                     if (!b_rinex_header_updated and ((d_ls_pvt->gps_cnav_utc_model.d_A0 != 0) or (d_ls_pvt->gps_utc_model.d_A0 != 0))) | ||||||
|  |                                                                         { | ||||||
|  |                                                                             if (d_ls_pvt->gps_cnav_utc_model.d_A0 != 0) | ||||||
|  |                                                                                 { | ||||||
|  |                                                                                     rp->update_obs_header(rp->obsFile, d_ls_pvt->gps_cnav_utc_model); | ||||||
|  |                                                                                     rp->update_nav_header(rp->navMixFile, d_ls_pvt->gps_cnav_utc_model, d_ls_pvt->gps_cnav_iono); | ||||||
|  |                                                                                 } | ||||||
|  |                                                                             else | ||||||
|  |                                                                                 { | ||||||
|  |                                                                                     rp->update_obs_header(rp->obsFile, d_ls_pvt->gps_utc_model); | ||||||
|  |                                                                                     rp->update_nav_header(rp->navMixFile, d_ls_pvt->gps_utc_model, d_ls_pvt->gps_iono); | ||||||
|  |                                                                                 } | ||||||
|  |                                                                             b_rinex_header_updated = true; | ||||||
|  |                                                                         } | ||||||
|  |                                                                 } | ||||||
|                                                             if (type_of_rx == 9)  // GPS L1 C/A + Galileo E1B |                                                             if (type_of_rx == 9)  // GPS L1 C/A + Galileo E1B | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     if ((galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end()) and (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end())) |                                                                     if ((galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end()) and (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end())) | ||||||
| @@ -1488,6 +1558,19 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                             b_rinex_header_updated = true; |                                                                             b_rinex_header_updated = true; | ||||||
|                                                                         } |                                                                         } | ||||||
|                                                                 } |                                                                 } | ||||||
|  |                                                             if (type_of_rx == 13)  // L5+E5a | ||||||
|  |                                                                 { | ||||||
|  |                                                                     if ((gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.end()) and (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end())) | ||||||
|  |                                                                         { | ||||||
|  |                                                                             rp->log_rinex_obs(rp->obsFile, gps_cnav_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gnss_observables_map); | ||||||
|  |                                                                         } | ||||||
|  |                                                                     if (!b_rinex_header_updated && (d_ls_pvt->gps_cnav_utc_model.d_A0 != 0) && (d_ls_pvt->galileo_utc_model.A0_6 != 0)) | ||||||
|  |                                                                         { | ||||||
|  |                                                                             rp->update_obs_header(rp->obsFile, d_ls_pvt->gps_cnav_utc_model); | ||||||
|  |                                                                             rp->update_nav_header(rp->navMixFile, d_ls_pvt->gps_cnav_utc_model, d_ls_pvt->gps_cnav_iono, d_ls_pvt->galileo_iono, d_ls_pvt->galileo_utc_model); | ||||||
|  |                                                                             b_rinex_header_updated = true;  // do not write header anymore | ||||||
|  |                                                                         } | ||||||
|  |                                                                 } | ||||||
|                                                             if (type_of_rx == 14)  // Galileo E1B + Galileo E5a |                                                             if (type_of_rx == 14)  // Galileo E1B + Galileo E5a | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     if (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end()) |                                                                     if (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end()) | ||||||
| @@ -1611,7 +1694,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                         { |                                                                         { | ||||||
|                                                                             rp->log_rinex_obs(rp->obsFile, galileo_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map); |                                                                             rp->log_rinex_obs(rp->obsFile, galileo_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map); | ||||||
|                                                                         } |                                                                         } | ||||||
|                                                                     if (!b_rinex_header_updated && (d_ls_pvt->galileo_utc_model.A0_6 != 0)) |                                                                     if (!b_rinex_header_updated and (d_ls_pvt->galileo_utc_model.A0_6 != 0)) | ||||||
|                                                                         { |                                                                         { | ||||||
|                                                                             rp->update_obs_header(rp->obsFile, d_ls_pvt->galileo_utc_model); |                                                                             rp->update_obs_header(rp->obsFile, d_ls_pvt->galileo_utc_model); | ||||||
|                                                                             rp->update_nav_header(rp->navMixFile, d_ls_pvt->galileo_iono, d_ls_pvt->galileo_utc_model, d_ls_pvt->glonass_gnav_utc_model, d_ls_pvt->glonass_gnav_almanac); |                                                                             rp->update_nav_header(rp->navMixFile, d_ls_pvt->galileo_iono, d_ls_pvt->galileo_utc_model, d_ls_pvt->glonass_gnav_utc_model, d_ls_pvt->glonass_gnav_almanac); | ||||||
| @@ -1620,17 +1703,38 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                 } |                                                                 } | ||||||
|                                                             if (type_of_rx == 31)  // GPS L2C + GLONASS L2 C/A |                                                             if (type_of_rx == 31)  // GPS L2C + GLONASS L2 C/A | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.end()) && (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.end())) |                                                                     if ((glonass_gnav_ephemeris_iter != d_ls_pvt->glonass_gnav_ephemeris_map.end()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.end())) | ||||||
|                                                                         { |                                                                         { | ||||||
|                                                                             rp->log_rinex_obs(rp->obsFile, gps_cnav_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map); |                                                                             rp->log_rinex_obs(rp->obsFile, gps_cnav_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, gnss_observables_map); | ||||||
|                                                                         } |                                                                         } | ||||||
|                                                                     if (!b_rinex_header_updated && (d_ls_pvt->gps_cnav_utc_model.d_A0 != 0)) |                                                                     if (!b_rinex_header_updated and (d_ls_pvt->gps_cnav_utc_model.d_A0 != 0)) | ||||||
|                                                                         { |                                                                         { | ||||||
|                                                                             rp->update_obs_header(rp->obsFile, d_ls_pvt->gps_cnav_utc_model); |                                                                             rp->update_obs_header(rp->obsFile, d_ls_pvt->gps_cnav_utc_model); | ||||||
|                                                                             rp->update_nav_header(rp->navMixFile, d_ls_pvt->gps_cnav_iono, d_ls_pvt->gps_cnav_utc_model, d_ls_pvt->glonass_gnav_utc_model, d_ls_pvt->glonass_gnav_almanac); |                                                                             rp->update_nav_header(rp->navMixFile, d_ls_pvt->gps_cnav_iono, d_ls_pvt->gps_cnav_utc_model, d_ls_pvt->glonass_gnav_utc_model, d_ls_pvt->glonass_gnav_almanac); | ||||||
|                                                                             b_rinex_header_updated = true;  // do not write header anymore |                                                                             b_rinex_header_updated = true;  // do not write header anymore | ||||||
|                                                                         } |                                                                         } | ||||||
|                                                                 } |                                                                 } | ||||||
|  |                                                             if (type_of_rx == 32)  // L1+E1+L5+E5a | ||||||
|  |                                                                 { | ||||||
|  |                                                                     if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.end()) and (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end())) | ||||||
|  |                                                                         { | ||||||
|  |                                                                             rp->log_rinex_obs(rp->obsFile, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gnss_observables_map); | ||||||
|  |                                                                         } | ||||||
|  |                                                                     if (!b_rinex_header_updated and ((d_ls_pvt->gps_cnav_utc_model.d_A0 != 0) or (d_ls_pvt->gps_utc_model.d_A0 != 0)) and (d_ls_pvt->galileo_utc_model.A0_6 != 0)) | ||||||
|  |                                                                         { | ||||||
|  |                                                                             if (d_ls_pvt->gps_cnav_utc_model.d_A0 != 0) | ||||||
|  |                                                                                 { | ||||||
|  |                                                                                     rp->update_obs_header(rp->obsFile, d_ls_pvt->gps_cnav_utc_model); | ||||||
|  |                                                                                     rp->update_nav_header(rp->navMixFile, d_ls_pvt->gps_cnav_utc_model, d_ls_pvt->gps_cnav_iono, d_ls_pvt->galileo_iono, d_ls_pvt->galileo_utc_model); | ||||||
|  |                                                                                 } | ||||||
|  |                                                                             else | ||||||
|  |                                                                                 { | ||||||
|  |                                                                                     rp->update_obs_header(rp->obsFile, d_ls_pvt->gps_utc_model); | ||||||
|  |                                                                                     rp->update_nav_header(rp->navMixFile, d_ls_pvt->gps_iono, d_ls_pvt->gps_utc_model, d_ls_pvt->galileo_iono, d_ls_pvt->galileo_utc_model); | ||||||
|  |                                                                                 } | ||||||
|  |                                                                             b_rinex_header_updated = true;  // do not write header anymore | ||||||
|  |                                                                         } | ||||||
|  |                                                                 } | ||||||
|                                                         } |                                                         } | ||||||
|                                                 } |                                                 } | ||||||
|                                         } |                                         } | ||||||
| @@ -1693,7 +1797,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                     gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.cbegin(); |                                                                     gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.cbegin(); | ||||||
|                                                                     std::map<int, Gps_CNAV_Ephemeris>::const_iterator gps_cnav_ephemeris_iter; |                                                                     std::map<int, Gps_CNAV_Ephemeris>::const_iterator gps_cnav_ephemeris_iter; | ||||||
|                                                                     gps_cnav_ephemeris_iter = d_ls_pvt->gps_cnav_ephemeris_map.cbegin(); |                                                                     gps_cnav_ephemeris_iter = d_ls_pvt->gps_cnav_ephemeris_map.cbegin(); | ||||||
|                                                                     if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend()) && (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) |                                                                     if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) | ||||||
|                                                                         { |                                                                         { | ||||||
|                                                                             d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, {}, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0); |                                                                             d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, {}, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0); | ||||||
|                                                                         } |                                                                         } | ||||||
| @@ -2086,7 +2190,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                             std::map<int, Gps_Ephemeris>::const_iterator gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.cbegin(); |                                                             std::map<int, Gps_Ephemeris>::const_iterator gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.cbegin(); | ||||||
|                                                             std::map<int, Gps_CNAV_Ephemeris>::const_iterator gps_cnav_ephemeris_iter = d_ls_pvt->gps_cnav_ephemeris_map.cbegin(); |                                                             std::map<int, Gps_CNAV_Ephemeris>::const_iterator gps_cnav_ephemeris_iter = d_ls_pvt->gps_cnav_ephemeris_map.cbegin(); | ||||||
|  |  | ||||||
|                                                             if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend()) && (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) |                                                             if ((gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.cend()) and (gps_cnav_ephemeris_iter != d_ls_pvt->gps_cnav_ephemeris_map.cend())) | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, {}, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0); |                                                                     d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, {}, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0); | ||||||
|                                                                 } |                                                                 } | ||||||
| @@ -2139,12 +2243,12 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item | |||||||
|                                                                     i++; |                                                                     i++; | ||||||
|                                                                 } |                                                                 } | ||||||
|  |  | ||||||
|                                                             if (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end() && (d_rtcm_MT1077_rate_ms != 0)) |                                                             if (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end() and (d_rtcm_MT1077_rate_ms != 0)) | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0); |                                                                     d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0); | ||||||
|                                                                 } |                                                                 } | ||||||
|  |  | ||||||
|                                                             if (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end() && (d_rtcm_MT1097_rate_ms != 0)) |                                                             if (galileo_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end() and (d_rtcm_MT1097_rate_ms != 0)) | ||||||
|                                                                 { |                                                                 { | ||||||
|                                                                     d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, galileo_ephemeris_iter->second, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0); |                                                                     d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, galileo_ephemeris_iter->second, {}, d_rx_time, gnss_observables_map, 0, 0, 0, 0, 0); | ||||||
|                                                                 } |                                                                 } | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -113,6 +113,11 @@ public: | |||||||
|      */ |      */ | ||||||
|     void rinex_nav_header(std::fstream& out, const Gps_Iono& gps_iono, const Gps_Utc_Model& gps_utc_model, const Galileo_Iono& galileo_iono, const Galileo_Utc_Model& galileo_utc_model); |     void rinex_nav_header(std::fstream& out, const Gps_Iono& gps_iono, const Gps_Utc_Model& gps_utc_model, const Galileo_Iono& galileo_iono, const Galileo_Utc_Model& galileo_utc_model); | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      *  \brief Generates the Mixed (GPS CNAV/Galileo) Navigation Data header | ||||||
|  |      */ | ||||||
|  |     void rinex_nav_header(std::fstream& out, const Gps_CNAV_Iono& iono, const Gps_CNAV_Utc_Model& utc_model, const Galileo_Iono& galileo_iono, const Galileo_Utc_Model& galileo_utc_model); | ||||||
|  |  | ||||||
|     /*! |     /*! | ||||||
|      *  \brief Generates the GLONASS L1, L2 C/A Navigation Data header |      *  \brief Generates the GLONASS L1, L2 C/A Navigation Data header | ||||||
|      */ |      */ | ||||||
| @@ -141,12 +146,12 @@ public: | |||||||
|     /*! |     /*! | ||||||
|      *  \brief Generates the GPS L2 Observation data header |      *  \brief Generates the GPS L2 Observation data header | ||||||
|      */ |      */ | ||||||
|     void rinex_obs_header(std::fstream& out, const Gps_CNAV_Ephemeris& eph, const double d_TOW_first_observation); |     void rinex_obs_header(std::fstream& out, const Gps_CNAV_Ephemeris& eph, const double d_TOW_first_observation, const std::string gps_bands = "2S"); | ||||||
|  |  | ||||||
|     /*! |     /*! | ||||||
|      *  \brief Generates the dual frequency GPS L1 & L2 Observation data header |      *  \brief Generates the dual frequency GPS L1 & L2/L5 Observation data header | ||||||
|      */ |      */ | ||||||
|     void rinex_obs_header(std::fstream& out, const Gps_Ephemeris& eph, const Gps_CNAV_Ephemeris& eph_cnav, const double d_TOW_first_observation); |     void rinex_obs_header(std::fstream& out, const Gps_Ephemeris& eph, const Gps_CNAV_Ephemeris& eph_cnav, const double d_TOW_first_observation, const std::string gps_bands = "1C 2S"); | ||||||
|  |  | ||||||
|     /*! |     /*! | ||||||
|      *  \brief Generates the Galileo Observation data header. Example: bands("1B"), bands("1B 5X"), bands("5X"), ... Default: "1B". |      *  \brief Generates the Galileo Observation data header. Example: bands("1B"), bands("1B 5X"), bands("5X"), ... Default: "1B". | ||||||
| @@ -158,6 +163,16 @@ public: | |||||||
|      */ |      */ | ||||||
|     void rinex_obs_header(std::fstream& out, const Gps_Ephemeris& gps_eph, const Galileo_Ephemeris& galileo_eph, const double d_TOW_first_observation, const std::string galileo_bands = "1B"); |     void rinex_obs_header(std::fstream& out, const Gps_Ephemeris& gps_eph, const Galileo_Ephemeris& galileo_eph, const double d_TOW_first_observation, const std::string galileo_bands = "1B"); | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      *  \brief Generates the Mixed (GPS/Galileo) Observation data header. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". | ||||||
|  |      */ | ||||||
|  |     void rinex_obs_header(std::fstream& out, const Gps_Ephemeris& gps_eph, const Gps_CNAV_Ephemeris& eph_cnav, const Galileo_Ephemeris& galileo_eph, const double d_TOW_first_observation, const std::string gps_bands = "1C 2S", const std::string galileo_bands = "1B"); | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      *  \brief Generates the Mixed (GPS/Galileo) Observation data header. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". | ||||||
|  |      */ | ||||||
|  |     void rinex_obs_header(std::fstream& out, const Gps_CNAV_Ephemeris& eph_cnav, const Galileo_Ephemeris& galileo_eph, const double d_TOW_first_observation, const std::string gps_bands = "2S", const std::string galileo_bands = "1B"); | ||||||
|  |  | ||||||
|     /*! |     /*! | ||||||
|      *  \brief Generates the GLONASS GNAV Observation data header. Example: bands("1C"), bands("1C 2C"), bands("2C"), ... Default: "1C". |      *  \brief Generates the GLONASS GNAV Observation data header. Example: bands("1C"), bands("1C 2C"), bands("2C"), ... Default: "1C". | ||||||
|      */ |      */ | ||||||
| @@ -239,6 +254,11 @@ public: | |||||||
|      */ |      */ | ||||||
|     void log_rinex_nav(std::fstream& out, const std::map<int32_t, Gps_Ephemeris>& gps_eph_map, const std::map<int32_t, Galileo_Ephemeris>& galileo_eph_map); |     void log_rinex_nav(std::fstream& out, const std::map<int32_t, Gps_Ephemeris>& gps_eph_map, const std::map<int32_t, Galileo_Ephemeris>& galileo_eph_map); | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |          *  \brief Writes data from the Mixed (GPS/Galileo) navigation message into the RINEX file | ||||||
|  |          */ | ||||||
|  |     void log_rinex_nav(std::fstream& out, const std::map<int32_t, Gps_CNAV_Ephemeris>& gps_cnav_eph_map, const std::map<int32_t, Galileo_Ephemeris>& galileo_eph_map); | ||||||
|  |  | ||||||
|     /*! |     /*! | ||||||
|      *  \brief Writes data from the GLONASS GNAV navigation message into the RINEX file |      *  \brief Writes data from the GLONASS GNAV navigation message into the RINEX file | ||||||
|      */ |      */ | ||||||
| @@ -284,6 +304,16 @@ public: | |||||||
|      */ |      */ | ||||||
|     void log_rinex_obs(std::fstream& out, const Gps_Ephemeris& gps_eph, const Galileo_Ephemeris& galileo_eph, const double gps_obs_time, const std::map<int32_t, Gnss_Synchro>& observables); |     void log_rinex_obs(std::fstream& out, const Gps_Ephemeris& gps_eph, const Galileo_Ephemeris& galileo_eph, const double gps_obs_time, const std::map<int32_t, Gnss_Synchro>& observables); | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      *  \brief Writes Mixed GPS / Galileo observables into the RINEX file | ||||||
|  |      */ | ||||||
|  |     void log_rinex_obs(std::fstream& out, const Gps_CNAV_Ephemeris& eph, const Galileo_Ephemeris& galileo_eph, double gps_obs_time, const std::map<int32_t, Gnss_Synchro>& observables); | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |          *  \brief Writes Mixed GPS / Galileo observables into the RINEX file | ||||||
|  |          */ | ||||||
|  |     void log_rinex_obs(std::fstream& out, const Gps_Ephemeris& gps_eph, const Gps_CNAV_Ephemeris& gps_cnav_eph, const Galileo_Ephemeris& galileo_eph, double gps_obs_time, const std::map<int32_t, Gnss_Synchro>& observables); | ||||||
|  |  | ||||||
|     /*! |     /*! | ||||||
|      *  \brief Writes GLONASS GNAV observables into the RINEX file. Example: glonass_bands("1C"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". |      *  \brief Writes GLONASS GNAV observables into the RINEX file. Example: glonass_bands("1C"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". | ||||||
|      */ |      */ | ||||||
| @@ -320,6 +350,8 @@ public: | |||||||
|  |  | ||||||
|     void update_nav_header(std::fstream& out, const Gps_Iono& gps_iono, const Gps_Utc_Model& gps_utc_model, const Galileo_Iono& galileo_iono, const Galileo_Utc_Model& galileo_utc_model); |     void update_nav_header(std::fstream& out, const Gps_Iono& gps_iono, const Gps_Utc_Model& gps_utc_model, const Galileo_Iono& galileo_iono, const Galileo_Utc_Model& galileo_utc_model); | ||||||
|  |  | ||||||
|  |     void update_nav_header(std::fstream& out, const Gps_CNAV_Utc_Model& utc_model, const Gps_CNAV_Iono& iono, const Galileo_Iono& galileo_iono, const Galileo_Utc_Model& galileo_utc_model); | ||||||
|  |  | ||||||
|     void update_nav_header(std::fstream& out, const Galileo_Iono& galileo_iono, const Galileo_Utc_Model& utc_model); |     void update_nav_header(std::fstream& out, const Galileo_Iono& galileo_iono, const Galileo_Utc_Model& utc_model); | ||||||
|  |  | ||||||
|     void update_nav_header(std::fstream& out, const Glonass_Gnav_Utc_Model& glonass_gnav_utc_model, const Glonass_Gnav_Almanac& glonass_gnav_almanac); |     void update_nav_header(std::fstream& out, const Glonass_Gnav_Utc_Model& glonass_gnav_utc_model, const Glonass_Gnav_Almanac& glonass_gnav_almanac); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez