mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-11-04 09:13:05 +00:00 
			
		
		
		
	Merge branch 'fix-rinex-nav' into next
Do not repeat annotations in RINEX navigation files Parameter rinexnav_rate_ms has been disabled
This commit is contained in:
		@@ -106,7 +106,6 @@ Rtklib_Pvt::Rtklib_Pvt(ConfigurationInterface* configuration,
 | 
				
			|||||||
            pvt_output_parameters.rinex_version = 2;
 | 
					            pvt_output_parameters.rinex_version = 2;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    pvt_output_parameters.rinexobs_rate_ms = bc::lcm(configuration->property(role + ".rinexobs_rate_ms", 1000), pvt_output_parameters.output_rate_ms);
 | 
					    pvt_output_parameters.rinexobs_rate_ms = bc::lcm(configuration->property(role + ".rinexobs_rate_ms", 1000), pvt_output_parameters.output_rate_ms);
 | 
				
			||||||
    pvt_output_parameters.rinexnav_rate_ms = bc::lcm(configuration->property(role + ".rinexnav_rate_ms", 6000), pvt_output_parameters.output_rate_ms);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // RTCM Printer settings
 | 
					    // RTCM Printer settings
 | 
				
			||||||
    pvt_output_parameters.flag_rtcm_tty_port = configuration->property(role + ".flag_rtcm_tty_port", false);
 | 
					    pvt_output_parameters.flag_rtcm_tty_port = configuration->property(role + ".flag_rtcm_tty_port", false);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -299,7 +299,6 @@ rtklib_pvt_gs::rtklib_pvt_gs(uint32_t nchannels,
 | 
				
			|||||||
            rp = nullptr;
 | 
					            rp = nullptr;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    d_rinexobs_rate_ms = conf_.rinexobs_rate_ms;
 | 
					    d_rinexobs_rate_ms = conf_.rinexobs_rate_ms;
 | 
				
			||||||
    d_rinexnav_rate_ms = conf_.rinexnav_rate_ms;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // XML printer
 | 
					    // XML printer
 | 
				
			||||||
    d_xml_storage = conf_.xml_output_enabled;
 | 
					    d_xml_storage = conf_.xml_output_enabled;
 | 
				
			||||||
@@ -973,6 +972,69 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg)
 | 
				
			|||||||
                               << "inserted with Toe=" << gps_eph->d_Toe << " and GPS Week="
 | 
					                               << "inserted with Toe=" << gps_eph->d_Toe << " and GPS Week="
 | 
				
			||||||
                               << gps_eph->i_GPS_week;
 | 
					                               << gps_eph->i_GPS_week;
 | 
				
			||||||
                    // update/insert new ephemeris record to the global ephemeris map
 | 
					                    // update/insert new ephemeris record to the global ephemeris map
 | 
				
			||||||
 | 
					                    if (b_rinex_header_written)  // The header is already written, we can now log the navigation message data
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            bool new_annotation = false;
 | 
				
			||||||
 | 
					                            if (d_pvt_solver->gps_ephemeris_map.find(gps_eph->i_satellite_PRN) == d_pvt_solver->gps_ephemeris_map.cend())
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    new_annotation = true;
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    if (d_pvt_solver->gps_ephemeris_map[gps_eph->i_satellite_PRN].d_Toc != gps_eph->d_Toc)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            new_annotation = true;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            if (new_annotation == true)
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    // New record!
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Gps_Ephemeris> new_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Galileo_Ephemeris> new_gal_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Glonass_Gnav_Ephemeris> new_glo_eph;
 | 
				
			||||||
 | 
					                                    new_eph[gps_eph->i_satellite_PRN] = *gps_eph;
 | 
				
			||||||
 | 
					                                    switch (type_of_rx)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                        case 1:  // GPS L1 C/A only
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navFile, new_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 8:  // L1+L5
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navFile, new_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 11:  // GPS L1 C/A + Galileo E5b
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_eph, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 26:  // GPS L1 C/A + GLONASS L1 C/A
 | 
				
			||||||
 | 
					                                            if (d_rinex_version == 3)
 | 
				
			||||||
 | 
					                                                {
 | 
				
			||||||
 | 
					                                                    rp->log_rinex_nav(rp->navMixFile, new_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                                }
 | 
				
			||||||
 | 
					                                            if (d_rinex_version == 2)
 | 
				
			||||||
 | 
					                                                {
 | 
				
			||||||
 | 
					                                                    rp->log_rinex_nav(rp->navFile, new_glo_eph);
 | 
				
			||||||
 | 
					                                                }
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 29:  //  GPS L1 C/A + GLONASS L2 C/A
 | 
				
			||||||
 | 
					                                            if (d_rinex_version == 3)
 | 
				
			||||||
 | 
					                                                {
 | 
				
			||||||
 | 
					                                                    rp->log_rinex_nav(rp->navMixFile, new_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                                }
 | 
				
			||||||
 | 
					                                            if (d_rinex_version == 2)
 | 
				
			||||||
 | 
					                                                {
 | 
				
			||||||
 | 
					                                                    rp->log_rinex_nav(rp->navFile, new_eph);
 | 
				
			||||||
 | 
					                                                }
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 32:  // L1+E1+L5+E5a
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_eph, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 33:  // L1+E1+E5a
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_eph, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        default:
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    d_pvt_solver->gps_ephemeris_map[gps_eph->i_satellite_PRN] = *gps_eph;
 | 
					                    d_pvt_solver->gps_ephemeris_map[gps_eph->i_satellite_PRN] = *gps_eph;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Gps_Iono>))
 | 
					            else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Gps_Iono>))
 | 
				
			||||||
@@ -997,6 +1059,52 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg)
 | 
				
			|||||||
                    std::shared_ptr<Gps_CNAV_Ephemeris> gps_cnav_ephemeris;
 | 
					                    std::shared_ptr<Gps_CNAV_Ephemeris> gps_cnav_ephemeris;
 | 
				
			||||||
                    gps_cnav_ephemeris = boost::any_cast<std::shared_ptr<Gps_CNAV_Ephemeris>>(pmt::any_ref(msg));
 | 
					                    gps_cnav_ephemeris = boost::any_cast<std::shared_ptr<Gps_CNAV_Ephemeris>>(pmt::any_ref(msg));
 | 
				
			||||||
                    // update/insert new ephemeris record to the global ephemeris map
 | 
					                    // update/insert new ephemeris record to the global ephemeris map
 | 
				
			||||||
 | 
					                    if (b_rinex_header_written)  // The header is already written, we can now log the navigation message data
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            bool new_annotation = false;
 | 
				
			||||||
 | 
					                            if (d_pvt_solver->gps_cnav_ephemeris_map.find(gps_cnav_ephemeris->i_satellite_PRN) == d_pvt_solver->gps_cnav_ephemeris_map.cend())
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    new_annotation = true;
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    if (d_pvt_solver->gps_cnav_ephemeris_map[gps_cnav_ephemeris->i_satellite_PRN].d_Toc != gps_cnav_ephemeris->d_Toc)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            new_annotation = true;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            if (new_annotation == true)
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    // New record!
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Galileo_Ephemeris> new_gal_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Gps_CNAV_Ephemeris> new_cnav_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Glonass_Gnav_Ephemeris> new_glo_eph;
 | 
				
			||||||
 | 
					                                    new_cnav_eph[gps_cnav_ephemeris->i_satellite_PRN] = *gps_cnav_ephemeris;
 | 
				
			||||||
 | 
					                                    switch (type_of_rx)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                        case 2:  // GPS L2C only
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navFile, new_cnav_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 3:  // GPS L5 only
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navFile, new_cnav_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 7:  // GPS L1 C/A + GPS L2C
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navFile, new_cnav_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 13:  //  L5+E5a
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navFile, new_cnav_eph, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 28:  //  GPS L2C + GLONASS L1 C/A
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_cnav_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 31:  //  GPS L2C + GLONASS L2 C/A
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_cnav_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        default:
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    d_pvt_solver->gps_cnav_ephemeris_map[gps_cnav_ephemeris->i_satellite_PRN] = *gps_cnav_ephemeris;
 | 
					                    d_pvt_solver->gps_cnav_ephemeris_map[gps_cnav_ephemeris->i_satellite_PRN] = *gps_cnav_ephemeris;
 | 
				
			||||||
                    DLOG(INFO) << "New GPS CNAV ephemeris record has arrived ";
 | 
					                    DLOG(INFO) << "New GPS CNAV ephemeris record has arrived ";
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@@ -1037,6 +1145,57 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg)
 | 
				
			|||||||
                               << ", GALILEO Week Number =" << galileo_eph->WN_5
 | 
					                               << ", GALILEO Week Number =" << galileo_eph->WN_5
 | 
				
			||||||
                               << " and Ephemeris IOD = " << galileo_eph->IOD_ephemeris;
 | 
					                               << " and Ephemeris IOD = " << galileo_eph->IOD_ephemeris;
 | 
				
			||||||
                    // update/insert new ephemeris record to the global ephemeris map
 | 
					                    // update/insert new ephemeris record to the global ephemeris map
 | 
				
			||||||
 | 
					                    if (b_rinex_header_written)  // The header is already written, we can now log the navigation message data
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            bool new_annotation = false;
 | 
				
			||||||
 | 
					                            if (d_pvt_solver->galileo_ephemeris_map.find(galileo_eph->i_satellite_PRN) == d_pvt_solver->galileo_ephemeris_map.cend())
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    new_annotation = true;
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    if (d_pvt_solver->galileo_ephemeris_map[galileo_eph->i_satellite_PRN].t0e_1 != galileo_eph->t0e_1)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            new_annotation = true;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            if (new_annotation == true)
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    // New record!
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Galileo_Ephemeris> new_gal_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Gps_CNAV_Ephemeris> new_cnav_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Gps_Ephemeris> new_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Glonass_Gnav_Ephemeris> new_glo_eph;
 | 
				
			||||||
 | 
					                                    new_gal_eph[galileo_eph->i_satellite_PRN] = *galileo_eph;
 | 
				
			||||||
 | 
					                                    switch (type_of_rx)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                        case 6:  // Galileo E5b only
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navGalFile, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 11:  //  GPS L1 C/A + Galileo E5b
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_eph, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 13:  //  L5+E5a
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navFile, new_cnav_eph, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 15:  //  Galileo E1B + Galileo E5b
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navGalFile, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 27:  //  Galileo E1B + GLONASS L1 C/A
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_gal_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 30:  //  Galileo E1B + GLONASS L2 C/A
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_gal_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 32:  // L1+E1+L5+E5a
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_eph, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 33:  // L1+E1+E5a
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_eph, new_gal_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    d_pvt_solver->galileo_ephemeris_map[galileo_eph->i_satellite_PRN] = *galileo_eph;
 | 
					                    d_pvt_solver->galileo_ephemeris_map[galileo_eph->i_satellite_PRN] = *galileo_eph;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Galileo_Iono>))
 | 
					            else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Galileo_Iono>))
 | 
				
			||||||
@@ -1101,6 +1260,70 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg)
 | 
				
			|||||||
                               << " and Ephemeris IOD in UTC = " << glonass_gnav_eph->compute_GLONASS_time(glonass_gnav_eph->d_t_b)
 | 
					                               << " and Ephemeris IOD in UTC = " << glonass_gnav_eph->compute_GLONASS_time(glonass_gnav_eph->d_t_b)
 | 
				
			||||||
                               << " from SV = " << glonass_gnav_eph->i_satellite_slot_number;
 | 
					                               << " from SV = " << glonass_gnav_eph->i_satellite_slot_number;
 | 
				
			||||||
                    // update/insert new ephemeris record to the global ephemeris map
 | 
					                    // update/insert new ephemeris record to the global ephemeris map
 | 
				
			||||||
 | 
					                    if (b_rinex_header_written)  // The header is already written, we can now log the navigation message data
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            bool new_annotation = false;
 | 
				
			||||||
 | 
					                            if (d_pvt_solver->glonass_gnav_ephemeris_map.find(glonass_gnav_eph->i_satellite_PRN) == d_pvt_solver->glonass_gnav_ephemeris_map.cend())
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    new_annotation = true;
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    if (d_pvt_solver->glonass_gnav_ephemeris_map[glonass_gnav_eph->i_satellite_PRN].d_t_b != glonass_gnav_eph->d_t_b)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            new_annotation = true;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            if (new_annotation == true)
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    // New record!
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Galileo_Ephemeris> new_gal_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Gps_CNAV_Ephemeris> new_cnav_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Gps_Ephemeris> new_eph;
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Glonass_Gnav_Ephemeris> new_glo_eph;
 | 
				
			||||||
 | 
					                                    new_glo_eph[glonass_gnav_eph->i_satellite_PRN] = *glonass_gnav_eph;
 | 
				
			||||||
 | 
					                                    switch (type_of_rx)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                        case 25:  // GLONASS L1 C/A + GLONASS L2 C/A
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navGloFile, new_glo_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 26:  //  GPS L1 C/A + GLONASS L1 C/A
 | 
				
			||||||
 | 
					                                            if (d_rinex_version == 3)
 | 
				
			||||||
 | 
					                                                {
 | 
				
			||||||
 | 
					                                                    rp->log_rinex_nav(rp->navMixFile, new_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                                }
 | 
				
			||||||
 | 
					                                            if (d_rinex_version == 2)
 | 
				
			||||||
 | 
					                                                {
 | 
				
			||||||
 | 
					                                                    rp->log_rinex_nav(rp->navGloFile, new_glo_eph);
 | 
				
			||||||
 | 
					                                                }
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 27:  //  Galileo E1B + GLONASS L1 C/A
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_gal_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 28:  //  GPS L2C + GLONASS L1 C/A
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_cnav_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 29:  //  GPS L1 C/A + GLONASS L2 C/A
 | 
				
			||||||
 | 
					                                            if (d_rinex_version == 3)
 | 
				
			||||||
 | 
					                                                {
 | 
				
			||||||
 | 
					                                                    rp->log_rinex_nav(rp->navMixFile, new_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                                }
 | 
				
			||||||
 | 
					                                            if (d_rinex_version == 2)
 | 
				
			||||||
 | 
					                                                {
 | 
				
			||||||
 | 
					                                                    rp->log_rinex_nav(rp->navGloFile, new_glo_eph);
 | 
				
			||||||
 | 
					                                                }
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 30:  //  Galileo E1B + GLONASS L2 C/A
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_gal_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        case 31:  //  GPS L2C + GLONASS L2 C/A
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navMixFile, new_cnav_eph, new_glo_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        default:
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    d_pvt_solver->glonass_gnav_ephemeris_map[glonass_gnav_eph->i_satellite_PRN] = *glonass_gnav_eph;
 | 
					                    d_pvt_solver->glonass_gnav_ephemeris_map[glonass_gnav_eph->i_satellite_PRN] = *glonass_gnav_eph;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Glonass_Gnav_Utc_Model>))
 | 
					            else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Glonass_Gnav_Utc_Model>))
 | 
				
			||||||
@@ -1133,6 +1356,35 @@ void rtklib_pvt_gs::msg_handler_telemetry(const pmt::pmt_t& msg)
 | 
				
			|||||||
                               << "inserted with Toe=" << bds_dnav_eph->d_Toe << " and BDS Week="
 | 
					                               << "inserted with Toe=" << bds_dnav_eph->d_Toe << " and BDS Week="
 | 
				
			||||||
                               << bds_dnav_eph->i_BEIDOU_week;
 | 
					                               << bds_dnav_eph->i_BEIDOU_week;
 | 
				
			||||||
                    // update/insert new ephemeris record to the global ephemeris map
 | 
					                    // update/insert new ephemeris record to the global ephemeris map
 | 
				
			||||||
 | 
					                    if (b_rinex_header_written)  // The header is already written, we can now log the navigation message data
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            bool new_annotation = false;
 | 
				
			||||||
 | 
					                            if (d_pvt_solver->beidou_dnav_ephemeris_map.find(bds_dnav_eph->i_satellite_PRN) == d_pvt_solver->beidou_dnav_ephemeris_map.cend())
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    new_annotation = true;
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    if (d_pvt_solver->beidou_dnav_ephemeris_map[bds_dnav_eph->i_satellite_PRN].d_Toc != bds_dnav_eph->d_Toc)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            new_annotation = true;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            if (new_annotation == true)
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    // New record!
 | 
				
			||||||
 | 
					                                    std::map<int32_t, Beidou_Dnav_Ephemeris> new_bds_eph;
 | 
				
			||||||
 | 
					                                    new_bds_eph[bds_dnav_eph->i_satellite_PRN] = *bds_dnav_eph;
 | 
				
			||||||
 | 
					                                    switch (type_of_rx)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                        case 50:  // BDS B1I only
 | 
				
			||||||
 | 
					                                            rp->log_rinex_nav(rp->navFile, new_bds_eph);
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        default:
 | 
				
			||||||
 | 
					                                            break;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    d_pvt_solver->beidou_dnav_ephemeris_map[bds_dnav_eph->i_satellite_PRN] = *bds_dnav_eph;
 | 
					                    d_pvt_solver->beidou_dnav_ephemeris_map[bds_dnav_eph->i_satellite_PRN] = *bds_dnav_eph;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Beidou_Dnav_Iono>))
 | 
					            else if (pmt::any_ref(msg).type() == typeid(std::shared_ptr<Beidou_Dnav_Iono>))
 | 
				
			||||||
@@ -1336,7 +1588,6 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
            bool flag_write_RTCM_1045_output = false;
 | 
					            bool flag_write_RTCM_1045_output = false;
 | 
				
			||||||
            bool flag_write_RTCM_MSM_output = false;
 | 
					            bool flag_write_RTCM_MSM_output = false;
 | 
				
			||||||
            bool flag_write_RINEX_obs_output = false;
 | 
					            bool flag_write_RINEX_obs_output = false;
 | 
				
			||||||
            bool flag_write_RINEX_nav_output = false;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            gnss_observables_map.clear();
 | 
					            gnss_observables_map.clear();
 | 
				
			||||||
            const auto** in = reinterpret_cast<const Gnss_Synchro**>(&input_items[0]);  // Get the input buffer pointer
 | 
					            const auto** in = reinterpret_cast<const Gnss_Synchro**>(&input_items[0]);  // Get the input buffer pointer
 | 
				
			||||||
@@ -1506,13 +1757,6 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                            flag_write_RINEX_obs_output = true;
 | 
					                                                            flag_write_RINEX_obs_output = true;
 | 
				
			||||||
                                                        }
 | 
					                                                        }
 | 
				
			||||||
                                                }
 | 
					                                                }
 | 
				
			||||||
                                            if (d_rinexnav_rate_ms != 0)
 | 
					 | 
				
			||||||
                                                {
 | 
					 | 
				
			||||||
                                                    if (current_RX_time_ms % static_cast<uint32_t>(d_rinexnav_rate_ms) == 0)
 | 
					 | 
				
			||||||
                                                        {
 | 
					 | 
				
			||||||
                                                            flag_write_RINEX_nav_output = true;
 | 
					 | 
				
			||||||
                                                        }
 | 
					 | 
				
			||||||
                                                }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                            if (first_fix == true)
 | 
					                                            if (first_fix == true)
 | 
				
			||||||
                                                {
 | 
					                                                {
 | 
				
			||||||
@@ -1611,6 +1855,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                        {
 | 
					                                                                        {
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, d_rx_time);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, d_rx_time);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1620,6 +1865,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string signal("2S");
 | 
					                                                                            std::string signal("2S");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, d_rx_time, signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, d_rx_time, signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_cnav_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1629,6 +1875,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string signal("L5");
 | 
					                                                                            std::string signal("L5");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, d_rx_time, signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, gps_cnav_ephemeris_iter->second, d_rx_time, signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_cnav_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1655,6 +1902,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string signal("7X");
 | 
					                                                                            std::string signal("7X");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, d_rx_time, signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, d_rx_time, signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navGalFile, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navGalFile, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navGalFile, d_pvt_solver->galileo_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1664,6 +1912,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string signal("1C 2S");
 | 
					                                                                            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_obs_header(rp->obsFile, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, d_rx_time, signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_cnav_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1673,6 +1922,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string signal("1C L5");
 | 
					                                                                            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_obs_header(rp->obsFile, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, d_rx_time, signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1700,6 +1950,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string gal_signal("7X");
 | 
					                                                                            std::string gal_signal("7X");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gal_signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gal_signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->galileo_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1710,6 +1961,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string gps_signal("L5");
 | 
					                                                                            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_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_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_cnav_ephemeris_map, d_pvt_solver->galileo_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1728,6 +1980,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string gal_signal("1B 7X");
 | 
					                                                                            std::string gal_signal("1B 7X");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, d_rx_time, gal_signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, d_rx_time, gal_signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navGalFile, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navGalFile, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navGalFile, d_pvt_solver->galileo_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1755,6 +2008,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string signal("1G 2G");
 | 
					                                                                            std::string signal("1G 2G");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, glonass_gnav_ephemeris_iter->second, d_rx_time, signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, glonass_gnav_ephemeris_iter->second, d_rx_time, signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navGloFile, d_pvt_solver->glonass_gnav_utc_model, glonass_gnav_ephemeris_iter->second);
 | 
					                                                                            rp->rinex_nav_header(rp->navGloFile, d_pvt_solver->glonass_gnav_utc_model, glonass_gnav_ephemeris_iter->second);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navGloFile, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1766,11 +2020,14 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            if (d_rinex_version == 3)
 | 
					                                                                            if (d_rinex_version == 3)
 | 
				
			||||||
                                                                                {
 | 
					                                                                                {
 | 
				
			||||||
                                                                                    rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
					                                                                                    rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
				
			||||||
 | 
					                                                                                    rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
				
			||||||
                                                                                }
 | 
					                                                                                }
 | 
				
			||||||
                                                                            if (d_rinex_version == 2)
 | 
					                                                                            if (d_rinex_version == 2)
 | 
				
			||||||
                                                                                {
 | 
					                                                                                {
 | 
				
			||||||
                                                                                    rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
					                                                                                    rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
				
			||||||
                                                                                    rp->rinex_nav_header(rp->navGloFile, d_pvt_solver->glonass_gnav_utc_model, glonass_gnav_ephemeris_iter->second);
 | 
					                                                                                    rp->rinex_nav_header(rp->navGloFile, d_pvt_solver->glonass_gnav_utc_model, glonass_gnav_ephemeris_iter->second);
 | 
				
			||||||
 | 
					                                                                                    rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_ephemeris_map);
 | 
				
			||||||
 | 
					                                                                                    rp->log_rinex_nav(rp->navGloFile, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
				
			||||||
                                                                                }
 | 
					                                                                                }
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
@@ -1782,6 +2039,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string gal_signal("1B");
 | 
					                                                                            std::string gal_signal("1B");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, glo_signal, gal_signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, glo_signal, gal_signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
					                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->galileo_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1791,6 +2049,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string glo_signal("1G");
 | 
					                                                                            std::string glo_signal("1G");
 | 
				
			||||||
                                                                            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);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
					                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_cnav_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1802,11 +2061,14 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            if (d_rinex_version == 3)
 | 
					                                                                            if (d_rinex_version == 3)
 | 
				
			||||||
                                                                                {
 | 
					                                                                                {
 | 
				
			||||||
                                                                                    rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
					                                                                                    rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
				
			||||||
 | 
					                                                                                    rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
				
			||||||
                                                                                }
 | 
					                                                                                }
 | 
				
			||||||
                                                                            if (d_rinex_version == 2)
 | 
					                                                                            if (d_rinex_version == 2)
 | 
				
			||||||
                                                                                {
 | 
					                                                                                {
 | 
				
			||||||
                                                                                    rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
					                                                                                    rp->rinex_nav_header(rp->navFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model);
 | 
				
			||||||
                                                                                    rp->rinex_nav_header(rp->navGloFile, d_pvt_solver->glonass_gnav_utc_model, glonass_gnav_ephemeris_iter->second);
 | 
					                                                                                    rp->rinex_nav_header(rp->navGloFile, d_pvt_solver->glonass_gnav_utc_model, glonass_gnav_ephemeris_iter->second);
 | 
				
			||||||
 | 
					                                                                                    rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_ephemeris_map);
 | 
				
			||||||
 | 
					                                                                                    rp->log_rinex_nav(rp->navGloFile, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
				
			||||||
                                                                                }
 | 
					                                                                                }
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
@@ -1818,6 +2080,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string gal_signal("1B");
 | 
					                                                                            std::string gal_signal("1B");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, glo_signal, gal_signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, glonass_gnav_ephemeris_iter->second, d_rx_time, glo_signal, gal_signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
					                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->galileo_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1827,6 +2090,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            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);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
					                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_cnav_iono, d_pvt_solver->gps_cnav_utc_model, d_pvt_solver->glonass_gnav_utc_model, d_pvt_solver->glonass_gnav_almanac);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_cnav_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1839,6 +2103,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string gps_signal("1C L5");
 | 
					                                                                            std::string gps_signal("1C L5");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gps_signal, gal_signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, gps_cnav_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gps_signal, gal_signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->galileo_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1849,6 +2114,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                            std::string gal_signal("1B 5X");
 | 
					                                                                            std::string gal_signal("1B 5X");
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gal_signal);
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, galileo_ephemeris_iter->second, d_rx_time, gal_signal);
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navMixFile, d_pvt_solver->gps_iono, d_pvt_solver->gps_utc_model, d_pvt_solver->galileo_iono, d_pvt_solver->galileo_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->galileo_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
                                                                    break;
 | 
					                                                                    break;
 | 
				
			||||||
@@ -1857,6 +2123,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                                        {
 | 
					                                                                        {
 | 
				
			||||||
                                                                            rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
 | 
					                                                                            rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
 | 
				
			||||||
                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->beidou_dnav_iono, d_pvt_solver->beidou_dnav_utc_model);
 | 
					                                                                            rp->rinex_nav_header(rp->navFile, d_pvt_solver->beidou_dnav_iono, d_pvt_solver->beidou_dnav_utc_model);
 | 
				
			||||||
 | 
					                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->beidou_dnav_ephemeris_map);
 | 
				
			||||||
                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
					                                                                            b_rinex_header_written = true;  // do not write header anymore
 | 
				
			||||||
                                                                        }
 | 
					                                                                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1876,94 +2143,6 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
 | 
				
			|||||||
                                                        }
 | 
					                                                        }
 | 
				
			||||||
                                                    if (b_rinex_header_written)  // The header is already written, we can now log the navigation message data
 | 
					                                                    if (b_rinex_header_written)  // The header is already written, we can now log the navigation message data
 | 
				
			||||||
                                                        {
 | 
					                                                        {
 | 
				
			||||||
                                                            if (flag_write_RINEX_nav_output)
 | 
					 | 
				
			||||||
                                                                {
 | 
					 | 
				
			||||||
                                                                    switch (type_of_rx)
 | 
					 | 
				
			||||||
                                                                        {
 | 
					 | 
				
			||||||
                                                                        case 1:  // GPS L1 C/A only
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 2:  // GPS L2C only
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_cnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 3:  // GPS L5 only
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_cnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 4:
 | 
					 | 
				
			||||||
                                                                        case 5:
 | 
					 | 
				
			||||||
                                                                        case 6:
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navGalFile, d_pvt_solver->galileo_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 7:  // GPS L1 C/A + GPS L2C
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_cnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 8:  // L1+L5
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 9:
 | 
					 | 
				
			||||||
                                                                        case 10:
 | 
					 | 
				
			||||||
                                                                        case 11:
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->galileo_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 13:  //  L5+E5a
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_cnav_ephemeris_map, d_pvt_solver->galileo_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 14:
 | 
					 | 
				
			||||||
                                                                        case 15:
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navGalFile, d_pvt_solver->galileo_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 23:
 | 
					 | 
				
			||||||
                                                                        case 24:
 | 
					 | 
				
			||||||
                                                                        case 25:
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navGloFile, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 26:  //  GPS L1 C/A + GLONASS L1 C/A
 | 
					 | 
				
			||||||
                                                                            if (d_rinex_version == 3)
 | 
					 | 
				
			||||||
                                                                                {
 | 
					 | 
				
			||||||
                                                                                    rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                                }
 | 
					 | 
				
			||||||
                                                                            if (d_rinex_version == 2)
 | 
					 | 
				
			||||||
                                                                                {
 | 
					 | 
				
			||||||
                                                                                    rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                                    rp->log_rinex_nav(rp->navGloFile, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                                }
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 27:  //  Galileo E1B + GLONASS L1 C/A
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->galileo_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 28:  //  GPS L2C + GLONASS L1 C/A
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_cnav_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 29:  //  GPS L1 C/A + GLONASS L2 C/A
 | 
					 | 
				
			||||||
                                                                            if (d_rinex_version == 3)
 | 
					 | 
				
			||||||
                                                                                {
 | 
					 | 
				
			||||||
                                                                                    rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                                }
 | 
					 | 
				
			||||||
                                                                            if (d_rinex_version == 2)
 | 
					 | 
				
			||||||
                                                                                {
 | 
					 | 
				
			||||||
                                                                                    rp->log_rinex_nav(rp->navFile, d_pvt_solver->gps_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                                    rp->log_rinex_nav(rp->navGloFile, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                                }
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 30:  //  Galileo E1B + GLONASS L2 C/A
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->galileo_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 31:  //  GPS L2C + GLONASS L2 C/A
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_cnav_ephemeris_map, d_pvt_solver->glonass_gnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 32:  // L1+E1+L5+E5a
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->galileo_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 33:  // L1+E1+E5a
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navMixFile, d_pvt_solver->gps_ephemeris_map, d_pvt_solver->galileo_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        case 50:  // BDS B1I only
 | 
					 | 
				
			||||||
                                                                            rp->log_rinex_nav(rp->navFile, d_pvt_solver->beidou_dnav_ephemeris_map);
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        default:
 | 
					 | 
				
			||||||
                                                                            break;
 | 
					 | 
				
			||||||
                                                                        }
 | 
					 | 
				
			||||||
                                                                }
 | 
					 | 
				
			||||||
                                                            galileo_ephemeris_iter = d_pvt_solver->galileo_ephemeris_map.cbegin();
 | 
					                                                            galileo_ephemeris_iter = d_pvt_solver->galileo_ephemeris_map.cbegin();
 | 
				
			||||||
                                                            gps_ephemeris_iter = d_pvt_solver->gps_ephemeris_map.cbegin();
 | 
					                                                            gps_ephemeris_iter = d_pvt_solver->gps_ephemeris_map.cbegin();
 | 
				
			||||||
                                                            gps_cnav_ephemeris_iter = d_pvt_solver->gps_cnav_ephemeris_map.cbegin();
 | 
					                                                            gps_cnav_ephemeris_iter = d_pvt_solver->gps_cnav_ephemeris_map.cbegin();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,7 +38,6 @@ Pvt_Conf::Pvt_Conf()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    rinex_version = 0;
 | 
					    rinex_version = 0;
 | 
				
			||||||
    rinexobs_rate_ms = 0;
 | 
					    rinexobs_rate_ms = 0;
 | 
				
			||||||
    rinexnav_rate_ms = 0;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dump = false;
 | 
					    dump = false;
 | 
				
			||||||
    dump_mat = true;
 | 
					    dump_mat = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,7 +44,6 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    int32_t rinex_version;
 | 
					    int32_t rinex_version;
 | 
				
			||||||
    int32_t rinexobs_rate_ms;
 | 
					    int32_t rinexobs_rate_ms;
 | 
				
			||||||
    int32_t rinexnav_rate_ms;
 | 
					 | 
				
			||||||
    std::map<int, int> rtcm_msg_rate_ms;
 | 
					    std::map<int, int> rtcm_msg_rate_ms;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool dump;
 | 
					    bool dump;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user