mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-14 12:10:34 +00:00
Code formatting, adapt overflow fix to new variable name
This commit is contained in:
parent
a204278490
commit
e686c38353
@ -131,7 +131,6 @@ rtklib_pvt_gs::rtklib_pvt_gs(uint32_t nchannels,
|
||||
// Send PVT status to gnss_flowgraph
|
||||
this->message_port_register_out(pmt::mp("status"));
|
||||
|
||||
|
||||
mapStringValues_["1C"] = evGPS_1C;
|
||||
mapStringValues_["2S"] = evGPS_2S;
|
||||
mapStringValues_["L5"] = evGPS_L5;
|
||||
@ -146,7 +145,7 @@ rtklib_pvt_gs::rtklib_pvt_gs(uint32_t nchannels,
|
||||
max_obs_block_rx_clock_offset_ms = conf_.max_obs_block_rx_clock_offset_ms;
|
||||
d_output_rate_ms = conf_.output_rate_ms;
|
||||
d_display_rate_ms = conf_.display_rate_ms;
|
||||
d_report_rate_ms = 1000; //report every second PVT to gnss_synchro
|
||||
d_report_rate_ms = 1000; // report every second PVT to gnss_synchro
|
||||
d_dump = conf_.dump;
|
||||
d_dump_mat = conf_.dump_mat and d_dump;
|
||||
d_dump_filename = conf_.dump_filename;
|
||||
@ -458,13 +457,13 @@ rtklib_pvt_gs::rtklib_pvt_gs(uint32_t nchannels,
|
||||
d_local_time_str = std::string(" ") + time_zone_abrv + " (UTC " + utc_diff_str.substr(0, 3) + ":" + utc_diff_str.substr(3, 2) + ")";
|
||||
}
|
||||
|
||||
//user PVT solver
|
||||
// user PVT solver
|
||||
d_user_pvt_solver = std::make_shared<Rtklib_Solver>(static_cast<int32_t>(nchannels), dump_ls_pvt_filename, d_dump, d_dump_mat, rtk);
|
||||
d_user_pvt_solver->set_averaging_depth(1);
|
||||
|
||||
//internal PVT solver, mainly used to estimate the receiver clock
|
||||
// internal PVT solver, mainly used to estimate the receiver clock
|
||||
rtk_t internal_rtk = rtk;
|
||||
internal_rtk.opt.mode = PMODE_SINGLE; //use single positioning mode in internal PVT solver
|
||||
internal_rtk.opt.mode = PMODE_SINGLE; // use single positioning mode in internal PVT solver
|
||||
d_internal_pvt_solver = std::make_shared<Rtklib_Solver>(static_cast<int32_t>(nchannels), dump_ls_pvt_filename, false, false, internal_rtk);
|
||||
d_internal_pvt_solver->set_averaging_depth(1);
|
||||
|
||||
@ -1616,7 +1615,7 @@ bool rtklib_pvt_gs::load_gnss_synchro_map_xml(const std::string& file_name)
|
||||
boost::archive::xml_iarchive xml(ifs);
|
||||
gnss_observables_map.clear();
|
||||
xml >> boost::serialization::make_nvp("GNSS-SDR_gnss_synchro_map", gnss_observables_map);
|
||||
//std::cout << "Loaded gnss_synchro map data with " << gnss_synchro_map.size() << " pseudoranges" << std::endl;
|
||||
// std::cout << "Loaded gnss_synchro map data with " << gnss_synchro_map.size() << " pseudoranges" << std::endl;
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
{
|
||||
@ -1668,12 +1667,12 @@ bool rtklib_pvt_gs::get_latest_PVT(double* longitude_deg,
|
||||
void rtklib_pvt_gs::apply_rx_clock_offset(std::map<int, Gnss_Synchro>& observables_map,
|
||||
double rx_clock_offset_s)
|
||||
{
|
||||
//apply corrections according to Rinex 3.04, Table 1: Observation Corrections for Receiver Clock Offset
|
||||
// apply corrections according to Rinex 3.04, Table 1: Observation Corrections for Receiver Clock Offset
|
||||
std::map<int, Gnss_Synchro>::iterator observables_iter;
|
||||
|
||||
for (observables_iter = observables_map.begin(); observables_iter != observables_map.end(); observables_iter++)
|
||||
{
|
||||
//all observables in the map are valid
|
||||
// all observables in the map are valid
|
||||
observables_iter->second.RX_time -= rx_clock_offset_s;
|
||||
observables_iter->second.Pseudorange_m -= rx_clock_offset_s * SPEED_OF_LIGHT;
|
||||
|
||||
@ -1718,12 +1717,13 @@ void rtklib_pvt_gs::apply_rx_clock_offset(std::map<int, Gnss_Synchro>& observabl
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
std::map<int, Gnss_Synchro> rtklib_pvt_gs::interpolate_observables(std::map<int, Gnss_Synchro>& observables_map_t0,
|
||||
std::map<int, Gnss_Synchro>& observables_map_t1,
|
||||
double rx_time_s)
|
||||
{
|
||||
std::map<int, Gnss_Synchro> interp_observables_map;
|
||||
//Linear interpolation: y(t) = y(t0) + (y(t1) - y(t0)) * (t - t0) / (t1 - t0)
|
||||
// Linear interpolation: y(t) = y(t0) + (y(t1) - y(t0)) * (t - t0) / (t1 - t0)
|
||||
|
||||
// check TOW rollover
|
||||
double time_factor;
|
||||
@ -1742,18 +1742,17 @@ std::map<int, Gnss_Synchro> rtklib_pvt_gs::interpolate_observables(std::map<int,
|
||||
observables_map_t0.cbegin()->second.RX_time);
|
||||
}
|
||||
|
||||
|
||||
std::map<int, Gnss_Synchro>::const_iterator observables_iter;
|
||||
for (observables_iter = observables_map_t0.cbegin(); observables_iter != observables_map_t0.cend(); observables_iter++)
|
||||
{
|
||||
//1. Check if the observable exist in t0 and t1
|
||||
//the map key is the channel ID (see work())
|
||||
// 1. Check if the observable exist in t0 and t1
|
||||
// the map key is the channel ID (see work())
|
||||
try
|
||||
{
|
||||
if (observables_map_t1.at(observables_iter->first).PRN == observables_iter->second.PRN)
|
||||
{
|
||||
interp_observables_map.insert(std::pair<int, Gnss_Synchro>(observables_iter->first, observables_iter->second));
|
||||
interp_observables_map.at(observables_iter->first).RX_time = rx_time_s; //interpolation point
|
||||
interp_observables_map.at(observables_iter->first).RX_time = rx_time_s; // interpolation point
|
||||
interp_observables_map.at(observables_iter->first).Pseudorange_m += (observables_map_t1.at(observables_iter->first).Pseudorange_m - observables_iter->second.Pseudorange_m) * time_factor;
|
||||
interp_observables_map.at(observables_iter->first).Carrier_phase_rads += (observables_map_t1.at(observables_iter->first).Carrier_phase_rads - observables_iter->second.Carrier_phase_rads) * time_factor;
|
||||
interp_observables_map.at(observables_iter->first).Carrier_Doppler_hz += (observables_map_t1.at(observables_iter->first).Carrier_Doppler_hz - observables_iter->second.Carrier_Doppler_hz) * time_factor;
|
||||
@ -1761,12 +1760,13 @@ std::map<int, Gnss_Synchro> rtklib_pvt_gs::interpolate_observables(std::map<int,
|
||||
}
|
||||
catch (const std::out_of_range& oor)
|
||||
{
|
||||
//observable does not exist in t1
|
||||
// observable does not exist in t1
|
||||
}
|
||||
}
|
||||
return interp_observables_map;
|
||||
}
|
||||
|
||||
|
||||
int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_items,
|
||||
gr_vector_void_star& output_items __attribute__((unused)))
|
||||
{
|
||||
@ -1795,7 +1795,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
|
||||
bool store_valid_observable = false;
|
||||
|
||||
if (tmp_eph_iter_gps != d_pvt_solver->gps_ephemeris_map.cend())
|
||||
if (tmp_eph_iter_gps != d_internal_pvt_solver->gps_ephemeris_map.cend())
|
||||
{
|
||||
uint32_t prn_aux = tmp_eph_iter_gps->second.i_satellite_PRN;
|
||||
if ((prn_aux == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal) == "1C"))
|
||||
@ -1803,7 +1803,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
store_valid_observable = true;
|
||||
}
|
||||
}
|
||||
if (tmp_eph_iter_gal != d_pvt_solver->galileo_ephemeris_map.cend())
|
||||
if (tmp_eph_iter_gal != d_internal_pvt_solver->galileo_ephemeris_map.cend())
|
||||
{
|
||||
uint32_t prn_aux = tmp_eph_iter_gal->second.i_satellite_PRN;
|
||||
if ((prn_aux == in[i][epoch].PRN) and ((std::string(in[i][epoch].Signal) == "1B") or (std::string(in[i][epoch].Signal) == "5X")))
|
||||
@ -1811,7 +1811,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
store_valid_observable = true;
|
||||
}
|
||||
}
|
||||
if (tmp_eph_iter_cnav != d_pvt_solver->gps_cnav_ephemeris_map.cend())
|
||||
if (tmp_eph_iter_cnav != d_internal_pvt_solver->gps_cnav_ephemeris_map.cend())
|
||||
{
|
||||
uint32_t prn_aux = tmp_eph_iter_cnav->second.i_satellite_PRN;
|
||||
if ((prn_aux == in[i][epoch].PRN) and ((std::string(in[i][epoch].Signal) == "2S") or (std::string(in[i][epoch].Signal) == "L5")))
|
||||
@ -1819,7 +1819,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
store_valid_observable = true;
|
||||
}
|
||||
}
|
||||
if (tmp_eph_iter_glo_gnav != d_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
if (tmp_eph_iter_glo_gnav != d_internal_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
{
|
||||
uint32_t prn_aux = tmp_eph_iter_glo_gnav->second.i_satellite_PRN;
|
||||
if ((prn_aux == in[i][epoch].PRN) and ((std::string(in[i][epoch].Signal) == "1G") or (std::string(in[i][epoch].Signal) == "2G")))
|
||||
@ -1827,7 +1827,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
store_valid_observable = true;
|
||||
}
|
||||
}
|
||||
if (tmp_eph_iter_bds_dnav != d_pvt_solver->beidou_dnav_ephemeris_map.cend())
|
||||
if (tmp_eph_iter_bds_dnav != d_internal_pvt_solver->beidou_dnav_ephemeris_map.cend())
|
||||
{
|
||||
uint32_t prn_aux = tmp_eph_iter_bds_dnav->second.i_satellite_PRN;
|
||||
if ((prn_aux == in[i][epoch].PRN) and ((std::string(in[i][epoch].Signal) == "B1") or (std::string(in[i][epoch].Signal) == "B3")))
|
||||
@ -1892,8 +1892,8 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
// ############ 2 COMPUTE THE PVT ################################
|
||||
if (gnss_observables_map.empty() == false)
|
||||
{
|
||||
//LOG(INFO) << "diff raw obs time: " << gnss_observables_map.cbegin()->second.RX_time * 1000.0 - old_time_debug;
|
||||
//old_time_debug = gnss_observables_map.cbegin()->second.RX_time * 1000.0;
|
||||
// LOG(INFO) << "diff raw obs time: " << gnss_observables_map.cbegin()->second.RX_time * 1000.0 - old_time_debug;
|
||||
// old_time_debug = gnss_observables_map.cbegin()->second.RX_time * 1000.0;
|
||||
uint32_t current_RX_time_ms = 0;
|
||||
// #### solve PVT and store the corrected observable set
|
||||
if (d_internal_pvt_solver->get_PVT(gnss_observables_map, false))
|
||||
@ -1915,7 +1915,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
apply_rx_clock_offset(gnss_observables_map, Rx_clock_offset_s);
|
||||
gnss_observables_map_t1 = gnss_observables_map;
|
||||
|
||||
//### select the rx_time and interpolate observables at that time
|
||||
// ### select the rx_time and interpolate observables at that time
|
||||
if (!gnss_observables_map_t0.empty())
|
||||
{
|
||||
uint32_t t0_int_ms = static_cast<uint32_t>(gnss_observables_map_t0.cbegin()->second.RX_time * 1000.0);
|
||||
@ -1925,25 +1925,25 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
if (current_RX_time_ms % d_output_rate_ms == 0)
|
||||
{
|
||||
d_rx_time = static_cast<double>(current_RX_time_ms) / 1000.0;
|
||||
// std::cout << " obs time t0: " << gnss_observables_map_t0.cbegin()->second.RX_time
|
||||
// << " t1: " << gnss_observables_map_t1.cbegin()->second.RX_time
|
||||
// << " interp time: " << d_rx_time << std::endl;
|
||||
// std::cout << " obs time t0: " << gnss_observables_map_t0.cbegin()->second.RX_time
|
||||
// << " t1: " << gnss_observables_map_t1.cbegin()->second.RX_time
|
||||
// << " interp time: " << d_rx_time << std::endl;
|
||||
gnss_observables_map = interpolate_observables(gnss_observables_map_t0,
|
||||
gnss_observables_map_t1,
|
||||
d_rx_time);
|
||||
flag_compute_pvt_output = true;
|
||||
//d_rx_time = current_RX_time;
|
||||
// d_rx_time = current_RX_time;
|
||||
// std::cout.precision(17);
|
||||
// std::cout << "current_RX_time: " << current_RX_time << " map time: " << gnss_observables_map.begin()->second.RX_time << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//debug code
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "Internal PVT solver error";
|
||||
// }
|
||||
// debug code
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "Internal PVT solver error";
|
||||
// }
|
||||
|
||||
// compute on the fly PVT solution
|
||||
if (flag_compute_pvt_output == true)
|
||||
@ -1951,7 +1951,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
if (d_user_pvt_solver->get_PVT(gnss_observables_map, false))
|
||||
{
|
||||
double Rx_clock_offset_s = d_user_pvt_solver->get_time_offset_s();
|
||||
if (fabs(Rx_clock_offset_s) > 0.000001) //1us !!
|
||||
if (fabs(Rx_clock_offset_s) > 0.000001) // 1us !!
|
||||
{
|
||||
LOG(INFO) << "Warning: Rx clock offset at interpolated RX time: " << Rx_clock_offset_s * 1000.0 << "[ms]"
|
||||
<< " at RX time: " << static_cast<uint32_t>(d_rx_time * 1000.0) << " [ms]";
|
||||
@ -1960,11 +1960,11 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
{
|
||||
DLOG(INFO) << "Rx clock offset at interpolated RX time: " << Rx_clock_offset_s * 1000.0 << "[s]"
|
||||
<< " at RX time: " << static_cast<uint32_t>(d_rx_time * 1000.0) << " [ms]";
|
||||
//Optional debug code: export observables snapshot for rtklib unit testing
|
||||
//std::cout << "step 1: save gnss_synchro map" << std::endl;
|
||||
//save_gnss_synchro_map_xml("./gnss_synchro_map.xml");
|
||||
//getchar(); //stop the execution
|
||||
//end debug
|
||||
// Optional debug code: export observables snapshot for rtklib unit testing
|
||||
// std::cout << "step 1: save gnss_synchro map" << std::endl;
|
||||
// save_gnss_synchro_map_xml("./gnss_synchro_map.xml");
|
||||
// getchar(); // stop the execution
|
||||
// end debug
|
||||
if (d_display_rate_ms != 0)
|
||||
{
|
||||
if (current_RX_time_ms % d_display_rate_ms == 0)
|
||||
@ -2416,8 +2416,8 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
if ((gps_ephemeris_iter != d_user_pvt_solver->gps_ephemeris_map.cend()) and (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend()))
|
||||
{
|
||||
std::string bds_signal("B1");
|
||||
//rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, beidou_dnav_ephemeris_iter->second, d_rx_time, bds_signal);
|
||||
//rp->rinex_nav_header(rp->navMixFile, d_user_pvt_solver->gps_iono, d_user_pvt_solver->gps_utc_model, gps_ephemeris_iter->second, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
// rp->rinex_obs_header(rp->obsFile, gps_ephemeris_iter->second, beidou_dnav_ephemeris_iter->second, d_rx_time, bds_signal);
|
||||
// rp->rinex_nav_header(rp->navMixFile, d_user_pvt_solver->gps_iono, d_user_pvt_solver->gps_utc_model, gps_ephemeris_iter->second, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
b_rinex_header_written = true; // do not write header anymore
|
||||
}
|
||||
|
||||
@ -2427,8 +2427,8 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
{
|
||||
std::string bds_signal("B1");
|
||||
std::string gal_signal("1B");
|
||||
//rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, beidou_dnav_ephemeris_iter->second, d_rx_time, gal_signal, bds_signal);
|
||||
//rp->rinex_nav_header(rp->navMixFile, d_user_pvt_solver->galileo_iono, d_user_pvt_solver->galileo_utc_model, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
// rp->rinex_obs_header(rp->obsFile, galileo_ephemeris_iter->second, beidou_dnav_ephemeris_iter->second, d_rx_time, gal_signal, bds_signal);
|
||||
// rp->rinex_nav_header(rp->navMixFile, d_user_pvt_solver->galileo_iono, d_user_pvt_solver->galileo_utc_model, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
b_rinex_header_written = true; // do not write header anymore
|
||||
}
|
||||
|
||||
@ -2436,9 +2436,9 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
case 503: // BeiDou B1I + GLONASS L1 C/A
|
||||
if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend())
|
||||
{
|
||||
//rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
|
||||
//rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
//rp->log_rinex_nav(rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map);
|
||||
// rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
|
||||
// rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
// rp->log_rinex_nav(rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map);
|
||||
b_rinex_header_written = true; // do not write header anymore
|
||||
}
|
||||
|
||||
@ -2446,9 +2446,9 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
case 504: // BeiDou B1I + GPS L1 C/A + Galileo E1B
|
||||
if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend())
|
||||
{
|
||||
//rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
|
||||
//rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
//rp->log_rinex_nav(rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map);
|
||||
// rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
|
||||
// rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
// rp->log_rinex_nav(rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map);
|
||||
b_rinex_header_written = true; // do not write header anymore
|
||||
}
|
||||
|
||||
@ -2456,9 +2456,9 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
case 505: // BeiDou B1I + GPS L1 C/A + GLONASS L1 C/A + Galileo E1B
|
||||
if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend())
|
||||
{
|
||||
//rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
|
||||
//rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
//rp->log_rinex_nav(rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map);
|
||||
// rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
|
||||
// rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
// rp->log_rinex_nav(rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map);
|
||||
b_rinex_header_written = true; // do not write header anymore
|
||||
}
|
||||
|
||||
@ -2466,9 +2466,9 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
case 506: // BeiDou B1I + Beidou B3I
|
||||
if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend())
|
||||
{
|
||||
//rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
|
||||
//rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
//rp->log_rinex_nav(rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map);
|
||||
// rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B1");
|
||||
// rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
// rp->log_rinex_nav(rp->navFile, d_user_pvt_solver->beidou_dnav_ephemeris_map);
|
||||
b_rinex_header_written = true; // do not write header anymore
|
||||
}
|
||||
|
||||
@ -2486,7 +2486,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend())
|
||||
{
|
||||
rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B3");
|
||||
//rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
// rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
b_rinex_header_written = true; // do not write header anymore
|
||||
}
|
||||
|
||||
@ -2495,7 +2495,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend())
|
||||
{
|
||||
rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B3");
|
||||
//rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
// rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
b_rinex_header_written = true; // do not write header anymore
|
||||
}
|
||||
|
||||
@ -2504,7 +2504,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
if (beidou_dnav_ephemeris_iter != d_user_pvt_solver->beidou_dnav_ephemeris_map.cend())
|
||||
{
|
||||
rp->rinex_obs_header(rp->obsFile, beidou_dnav_ephemeris_iter->second, d_rx_time, "B3");
|
||||
//rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
// rp->rinex_nav_header(rp->navFile, d_user_pvt_solver->beidou_dnav_iono, d_user_pvt_solver->beidou_dnav_utc_model);
|
||||
b_rinex_header_written = true; // do not write header anymore
|
||||
}
|
||||
|
||||
@ -3957,7 +3957,7 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
{
|
||||
std::shared_ptr<Monitor_Pvt> monitor_pvt = std::make_shared<Monitor_Pvt>(d_user_pvt_solver->get_monitor_pvt());
|
||||
|
||||
//publish new position to the gnss_flowgraph channel status monitor
|
||||
// publish new position to the gnss_flowgraph channel status monitor
|
||||
if (current_RX_time_ms % d_report_rate_ms == 0)
|
||||
{
|
||||
this->message_port_pub(pmt::mp("status"), pmt::make_any(monitor_pvt));
|
||||
|
@ -139,7 +139,6 @@ private:
|
||||
|
||||
void msg_handler_telemetry(const pmt::pmt_t& msg);
|
||||
|
||||
|
||||
enum StringValue
|
||||
{
|
||||
evGPS_1C,
|
||||
@ -154,6 +153,7 @@ private:
|
||||
evBDS_B2,
|
||||
evBDS_B3
|
||||
};
|
||||
|
||||
std::map<std::string, StringValue> mapStringValues_;
|
||||
|
||||
void apply_rx_clock_offset(std::map<int, Gnss_Synchro>& observables_map,
|
||||
|
@ -3,8 +3,8 @@
|
||||
* \brief PVT solver based on rtklib library functions adapted to the GNSS-SDR
|
||||
* data flow and structures
|
||||
* \authors <ul>
|
||||
* <li> 2017, Javier Arribas
|
||||
* <li> 2017, Carles Fernandez
|
||||
* <li> 2017-2019, Javier Arribas
|
||||
* <li> 2017-2019, Carles Fernandez
|
||||
* <li> 2007-2013, T. Takasu
|
||||
* </ul>
|
||||
*
|
||||
|
@ -436,8 +436,6 @@ bool hybrid_observables_gs::interp_trk_obs(Gnss_Synchro &interpolated_obs, const
|
||||
// << d_gnss_synchro_history->at(ch, t2_idx).RX_time - d_gnss_synchro_history->at(ch, t1_idx).RX_time
|
||||
// << " trx - t1: "
|
||||
// << T_rx_s - d_gnss_synchro_history->at(ch, t1_idx).RX_time;
|
||||
|
||||
//
|
||||
// std::cout << "Rx samplestamp: " << T_rx_s << " Channel " << ch << " interp buff idx " << nearest_element
|
||||
// << " ,diff: " << old_abs_diff << " samples (" << static_cast<double>(old_abs_diff) / static_cast<double>(d_gnss_synchro_history->at(ch, nearest_element).fs) << " s)\n";
|
||||
return true;
|
||||
@ -504,7 +502,7 @@ void hybrid_observables_gs::compute_pranges(std::vector<Gnss_Synchro> &data)
|
||||
// std::cout.precision(17);
|
||||
// std::cout << " T_rx_TOW_ms: " << static_cast<double>(T_rx_TOW_ms) << std::endl;
|
||||
std::vector<Gnss_Synchro>::iterator it;
|
||||
double current_T_rx_TOW_ms = static_cast<double>(T_rx_TOW_ms);
|
||||
auto current_T_rx_TOW_ms = static_cast<double>(T_rx_TOW_ms);
|
||||
double current_T_rx_TOW_s = current_T_rx_TOW_ms / 1000.0;
|
||||
for (it = data.begin(); it != data.end(); it++)
|
||||
{
|
||||
@ -662,8 +660,8 @@ int hybrid_observables_gs::general_work(int noutput_items __attribute__((unused)
|
||||
|
||||
if (n_valid > 0)
|
||||
{
|
||||
// LOG(INFO) << "OBS: diff time: " << out[0][0].RX_time * 1000.0 - old_time_debug;
|
||||
// old_time_debug = out[0][0].RX_time * 1000.0;
|
||||
// LOG(INFO) << "OBS: diff time: " << out[0][0].RX_time * 1000.0 - old_time_debug;
|
||||
// old_time_debug = out[0][0].RX_time * 1000.0;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
|
@ -91,7 +91,6 @@ private:
|
||||
uint32_t T_status_report_timer_ms;
|
||||
uint32_t d_nchannels_in;
|
||||
uint32_t d_nchannels_out;
|
||||
//double T_rx_offset_ms;
|
||||
std::string d_dump_filename;
|
||||
std::ofstream d_dump_file;
|
||||
boost::circular_buffer<uint64_t> d_Rx_clock_buffer; // time history
|
||||
|
Loading…
Reference in New Issue
Block a user