mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-13 19:50:34 +00:00
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
This commit is contained in:
commit
30dd2e5048
@ -872,11 +872,13 @@ Rtklib_Pvt::Rtklib_Pvt(const ConfigurationInterface* configuration,
|
||||
// Set maximum clock offset allowed if pvt_output_parameters.enable_rx_clock_correction = false
|
||||
pvt_output_parameters.max_obs_block_rx_clock_offset_ms = configuration->property(role + ".max_clock_offset_ms", pvt_output_parameters.max_obs_block_rx_clock_offset_ms);
|
||||
|
||||
|
||||
// Source timetag
|
||||
pvt_output_parameters.log_source_timetag = configuration->property(role + ".log_timetag", pvt_output_parameters.log_source_timetag);
|
||||
pvt_output_parameters.log_source_timetag_file = configuration->property(role + ".log_source_timetag_file", pvt_output_parameters.log_source_timetag_file);
|
||||
|
||||
// Use E6 for PVT
|
||||
pvt_output_parameters.use_e6_for_pvt = configuration->property(role + ".use_e6_for_pvt", pvt_output_parameters.use_e6_for_pvt);
|
||||
|
||||
// make PVT object
|
||||
pvt_ = rtklib_make_pvt_gs(in_streams_, pvt_output_parameters, rtk);
|
||||
DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")";
|
||||
|
@ -175,7 +175,8 @@ rtklib_pvt_gs::rtklib_pvt_gs(uint32_t nchannels,
|
||||
d_show_local_time_zone(conf_.show_local_time_zone),
|
||||
d_enable_rx_clock_correction(conf_.enable_rx_clock_correction),
|
||||
d_an_printer_enabled(conf_.an_output_enabled),
|
||||
d_log_timetag(conf_.log_source_timetag)
|
||||
d_log_timetag(conf_.log_source_timetag),
|
||||
d_use_e6_for_pvt(conf_.use_e6_for_pvt)
|
||||
{
|
||||
// Send feedback message to observables block with the receiver clock offset
|
||||
this->message_port_register_out(pmt::mp("pvt_to_observables"));
|
||||
@ -530,21 +531,21 @@ rtklib_pvt_gs::rtklib_pvt_gs(uint32_t nchannels,
|
||||
{
|
||||
// setup two PVT solvers: internal solver for rx clock and user solver
|
||||
// user PVT solver
|
||||
d_user_pvt_solver = std::make_shared<Rtklib_Solver>(rtk, dump_ls_pvt_filename, d_type_of_rx, d_dump, d_dump_mat);
|
||||
d_user_pvt_solver = std::make_shared<Rtklib_Solver>(rtk, dump_ls_pvt_filename, d_type_of_rx, d_dump, d_dump_mat, d_use_e6_for_pvt);
|
||||
d_user_pvt_solver->set_averaging_depth(1);
|
||||
d_user_pvt_solver->set_pre_2009_file(conf_.pre_2009_file);
|
||||
|
||||
// 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
|
||||
d_internal_pvt_solver = std::make_shared<Rtklib_Solver>(internal_rtk, dump_ls_pvt_filename, d_type_of_rx, false, false);
|
||||
d_internal_pvt_solver = std::make_shared<Rtklib_Solver>(internal_rtk, dump_ls_pvt_filename, d_type_of_rx, false, false, d_use_e6_for_pvt);
|
||||
d_internal_pvt_solver->set_averaging_depth(1);
|
||||
d_internal_pvt_solver->set_pre_2009_file(conf_.pre_2009_file);
|
||||
}
|
||||
else
|
||||
{
|
||||
// only one solver, customized by the user options
|
||||
d_internal_pvt_solver = std::make_shared<Rtklib_Solver>(rtk, dump_ls_pvt_filename, d_type_of_rx, d_dump, d_dump_mat);
|
||||
d_internal_pvt_solver = std::make_shared<Rtklib_Solver>(rtk, dump_ls_pvt_filename, d_type_of_rx, d_dump, d_dump_mat, d_use_e6_for_pvt);
|
||||
d_internal_pvt_solver->set_averaging_depth(1);
|
||||
d_internal_pvt_solver->set_pre_2009_file(conf_.pre_2009_file);
|
||||
d_user_pvt_solver = d_internal_pvt_solver;
|
||||
|
@ -288,6 +288,7 @@ private:
|
||||
bool d_enable_has_messages;
|
||||
bool d_an_printer_enabled;
|
||||
bool d_log_timetag;
|
||||
bool d_use_e6_for_pvt;
|
||||
};
|
||||
|
||||
|
||||
|
@ -59,6 +59,7 @@ Pvt_Conf::Pvt_Conf()
|
||||
kml_output_path = std::string(".");
|
||||
xml_output_path = std::string(".");
|
||||
rtcm_output_file_path = std::string(".");
|
||||
log_source_timetag_file = "PVT_timetag.dat";
|
||||
|
||||
enable_rx_clock_correction = true;
|
||||
monitor_enabled = false;
|
||||
@ -70,5 +71,4 @@ Pvt_Conf::Pvt_Conf()
|
||||
show_local_time_zone = false;
|
||||
|
||||
log_source_timetag = false;
|
||||
log_source_timetag_file = "PVT_timetag.dat";
|
||||
}
|
||||
|
@ -48,6 +48,7 @@ public:
|
||||
std::string rtcm_output_file_path = std::string(".");
|
||||
std::string udp_addresses;
|
||||
std::string udp_eph_addresses;
|
||||
std::string log_source_timetag_file;
|
||||
|
||||
uint32_t type_of_receiver = 0;
|
||||
uint32_t observable_interval_ms = 20;
|
||||
@ -90,7 +91,7 @@ public:
|
||||
bool dump = false;
|
||||
bool dump_mat = true;
|
||||
bool log_source_timetag;
|
||||
std::string log_source_timetag_file;
|
||||
bool use_e6_for_pvt = true;
|
||||
};
|
||||
|
||||
|
||||
|
@ -47,11 +47,13 @@ Rtklib_Solver::Rtklib_Solver(const rtk_t &rtk,
|
||||
const std::string &dump_filename,
|
||||
uint32_t type_of_rx,
|
||||
bool flag_dump_to_file,
|
||||
bool flag_dump_to_mat) : d_dump_filename(dump_filename),
|
||||
d_rtk(rtk),
|
||||
d_type_of_rx(type_of_rx),
|
||||
d_flag_dump_enabled(flag_dump_to_file),
|
||||
d_flag_dump_mat_enabled(flag_dump_to_mat)
|
||||
bool flag_dump_to_mat,
|
||||
bool use_e6_for_pvt) : d_dump_filename(dump_filename),
|
||||
d_rtk(rtk),
|
||||
d_type_of_rx(type_of_rx),
|
||||
d_flag_dump_enabled(flag_dump_to_file),
|
||||
d_flag_dump_mat_enabled(flag_dump_to_mat),
|
||||
d_use_e6_for_pvt(use_e6_for_pvt)
|
||||
{
|
||||
this->set_averaging_flag(false);
|
||||
|
||||
@ -586,7 +588,7 @@ bool Rtklib_Solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
DLOG(INFO) << "No ephemeris data for SV " << gnss_observables_iter->second.PRN;
|
||||
}
|
||||
}
|
||||
if (sig_ == "E6")
|
||||
if (sig_ == "E6" && d_use_e6_for_pvt)
|
||||
{
|
||||
galileo_ephemeris_iter = galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (galileo_ephemeris_iter != galileo_ephemeris_map.cend())
|
||||
|
@ -80,7 +80,8 @@ public:
|
||||
const std::string& dump_filename,
|
||||
uint32_t type_of_rx,
|
||||
bool flag_dump_to_file,
|
||||
bool flag_dump_to_mat);
|
||||
bool flag_dump_to_mat,
|
||||
bool use_e6_for_pvt = true);
|
||||
~Rtklib_Solver();
|
||||
|
||||
bool get_PVT(const std::map<int, Gnss_Synchro>& gnss_observables_map, bool flag_averaging);
|
||||
@ -133,6 +134,7 @@ private:
|
||||
uint32_t d_type_of_rx;
|
||||
bool d_flag_dump_enabled;
|
||||
bool d_flag_dump_mat_enabled;
|
||||
bool d_use_e6_for_pvt;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user