diff --git a/src/algorithms/PVT/gnuradio_blocks/rtklib_pvt_gs.cc b/src/algorithms/PVT/gnuradio_blocks/rtklib_pvt_gs.cc index 1c46f3d92..add1f38ed 100644 --- a/src/algorithms/PVT/gnuradio_blocks/rtklib_pvt_gs.cc +++ b/src/algorithms/PVT/gnuradio_blocks/rtklib_pvt_gs.cc @@ -524,21 +524,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(rtk, dump_ls_pvt_filename, d_dump, d_dump_mat); + d_user_pvt_solver = std::make_shared(rtk, dump_ls_pvt_filename, d_type_of_rx, d_dump, d_dump_mat); 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(internal_rtk, dump_ls_pvt_filename, false, false); + d_internal_pvt_solver = std::make_shared(internal_rtk, dump_ls_pvt_filename, d_type_of_rx, false, false); 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(rtk, dump_ls_pvt_filename, d_dump, d_dump_mat); + d_internal_pvt_solver = std::make_shared(rtk, dump_ls_pvt_filename, d_type_of_rx, d_dump, d_dump_mat); 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; @@ -2146,7 +2146,6 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item } while (fabs(delta_rxtime_to_tag_ms) >= 100 and !d_TimeChannelTagTimestamps.empty()); - // 2. If both timestamps (relative to the receiver's start) are closer than 100 ms (the granularituy of the PVT) if (fabs(delta_rxtime_to_tag_ms) <= 100) // [ms] { @@ -2222,11 +2221,6 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item } } } - // debug code - // else - // { - // DLOG(INFO) << "Internal PVT solver error"; - // } // compute on the fly PVT solution if (flag_compute_pvt_output == true) @@ -2234,7 +2228,6 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item flag_pvt_valid = d_user_pvt_solver->get_PVT(d_gnss_observables_map, false); } - if (flag_pvt_valid == true) { // experimental VTL tests diff --git a/src/algorithms/PVT/libs/rinex_printer.cc b/src/algorithms/PVT/libs/rinex_printer.cc index 8aaa838e2..9038e8254 100644 --- a/src/algorithms/PVT/libs/rinex_printer.cc +++ b/src/algorithms/PVT/libs/rinex_printer.cc @@ -11762,33 +11762,6 @@ void Rinex_Printer::log_rinex_obs(std::fstream& out, const Galileo_Ephemeris& ep gs.PRN = prn_; total_map.insert(std::pair(prn_, gs)); } - if (found_E5a != std::string::npos) - { - Gnss_Synchro gs = Gnss_Synchro(); - gs.System = 'E'; - gs.Signal[0] = '5'; - gs.Signal[1] = 'X'; - gs.Signal[2] = '\0'; - gs.PRN = prn_; - total_map.insert(std::pair(prn_, gs)); - } - } - else - { - // if 5X is listed but empty - if (found_E5a != std::string::npos) - { - if ((total_map.count(prn_)) == 1) - { - Gnss_Synchro gs = Gnss_Synchro(); - gs.System = 'E'; - gs.Signal[0] = '5'; - gs.Signal[1] = 'X'; - gs.Signal[2] = '\0'; - gs.PRN = prn_; - total_map.insert(std::pair(prn_, gs)); - } - } } total_map.insert(std::pair(prn_, observables_iter->second)); } diff --git a/src/algorithms/PVT/libs/rtklib_solver.cc b/src/algorithms/PVT/libs/rtklib_solver.cc index cc0f96ac4..142879e8c 100644 --- a/src/algorithms/PVT/libs/rtklib_solver.cc +++ b/src/algorithms/PVT/libs/rtklib_solver.cc @@ -45,14 +45,99 @@ 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_rtk(rtk), - d_dump_filename(dump_filename), + 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) { this->set_averaging_flag(false); + // see freq index at src/algorithms/libs/rtklib/rtklib_rtkcmn.cc + // function: satwavelen + d_rtklib_freq_index[0] = 0; + d_rtklib_freq_index[1] = 1; + d_rtklib_freq_index[2] = 2; + + d_rtklib_band_index["1G"] = 0; + d_rtklib_band_index["1C"] = 0; + d_rtklib_band_index["1B"] = 0; + d_rtklib_band_index["B1"] = 0; + d_rtklib_band_index["B3"] = 2; + d_rtklib_band_index["2G"] = 1; + d_rtklib_band_index["2S"] = 1; + d_rtklib_band_index["7X"] = 2; + d_rtklib_band_index["5X"] = 2; + d_rtklib_band_index["L5"] = 2; + d_rtklib_band_index["E6"] = 0; + + if (d_type_of_rx == 6) // E5b only + { + d_rtklib_freq_index[2] = 4; + } + if (d_type_of_rx == 11) // GPS L1 C/A + Galileo E5b + { + d_rtklib_freq_index[2] = 4; + } + if (d_type_of_rx == 15) // Galileo E1B + Galileo E5b + { + d_rtklib_freq_index[2] = 4; + } + if (d_type_of_rx == 18) // GPS L2C + Galileo E5b + { + d_rtklib_freq_index[2] = 4; + } + if (d_type_of_rx == 19) // Galileo E5a + Galileo E5b + { + d_rtklib_band_index["5X"] = 0; + d_rtklib_freq_index[0] = 2; + d_rtklib_freq_index[2] = 4; + } + if (d_type_of_rx == 20) // GPS L5 + Galileo E5b + { + d_rtklib_band_index["L5"] = 0; + d_rtklib_freq_index[0] = 2; + d_rtklib_freq_index[2] = 4; + } + if (d_type_of_rx == 100) // E6B only + { + d_rtklib_freq_index[0] = 3; + } + if (d_type_of_rx == 101) // E1 + E6B + { + d_rtklib_band_index["E6"] = 1; + d_rtklib_freq_index[1] = 3; + } + if (d_type_of_rx == 102) // E5a + E6B + { + d_rtklib_band_index["E6"] = 1; + d_rtklib_freq_index[1] = 3; + } + if (d_type_of_rx == 103) // E5b + E6B + { + d_rtklib_band_index["E6"] = 1; + d_rtklib_freq_index[1] = 3; + d_rtklib_freq_index[2] = 4; + } + if (d_type_of_rx == 104) // Galileo E1B + Galileo E5a + Galileo E6B + { + d_rtklib_band_index["E6"] = 1; + d_rtklib_freq_index[1] = 3; + } + if (d_type_of_rx == 105) // Galileo E1B + Galileo E5b + Galileo E6B + { + d_rtklib_freq_index[2] = 4; + d_rtklib_band_index["E6"] = 1; + d_rtklib_freq_index[1] = 3; + } + if (d_type_of_rx == 106) // GPS L1 C/A + Galileo E1B + Galileo E6B + { + d_rtklib_band_index["E6"] = 1; + d_rtklib_freq_index[1] = 3; + } + // ############# ENABLE DATA FILE LOG ################# if (d_flag_dump_enabled == true) { @@ -406,8 +491,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ bool gps_dual_band = false; bool band1 = false; bool band2 = false; - bool gal_e5_is_e5b = false; - bool gal_e6 = false; + for (gnss_observables_iter = gnss_observables_map.cbegin(); gnss_observables_iter != gnss_observables_map.cend(); ++gnss_observables_iter) @@ -460,7 +544,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, galileo_ephemeris_iter->second.WN, - 0); + d_rtklib_band_index[sig_]); valid_obs++; } else // the ephemeris are not available for this SV @@ -484,7 +568,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[i + glo_valid_obs] = insert_obs_to_rtklib(d_obs_data[i + glo_valid_obs], gnss_observables_iter->second, galileo_ephemeris_iter->second.WN, - 2); // Band 3 (L5/E5) + d_rtklib_band_index[sig_]); found_E1_obs = true; break; } @@ -502,7 +586,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, galileo_ephemeris_iter->second.WN, - 2); // Band 3 (L5/E5) + d_rtklib_band_index[sig_]); valid_obs++; } } @@ -510,14 +594,9 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ { DLOG(INFO) << "No ephemeris data for SV " << gnss_observables_iter->second.PRN; } - if (sig_ == "7X") - { - gal_e5_is_e5b = true; - } } if (sig_ == "E6") { - gal_e6 = true; galileo_ephemeris_iter = galileo_ephemeris_map.find(gnss_observables_iter->second.PRN); if (galileo_ephemeris_iter != galileo_ephemeris_map.cend()) { @@ -529,7 +608,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[i + glo_valid_obs] = insert_obs_to_rtklib(d_obs_data[i + glo_valid_obs], gnss_observables_iter->second, galileo_ephemeris_iter->second.WN, - 2); // Band E6 + d_rtklib_band_index[sig_]); found_E1_obs = true; break; } @@ -547,8 +626,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, galileo_ephemeris_iter->second.WN, - 2); // Band E6 - // std::cout << "Week " << galileo_ephemeris_iter->second.WN << '\n'; + d_rtklib_band_index[sig_]); valid_obs++; } } @@ -576,7 +654,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, gps_ephemeris_iter->second.WN, - 0, + d_rtklib_band_index[sig_], this->is_pre_2009()); valid_obs++; } @@ -606,7 +684,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[i + glo_valid_obs] = insert_obs_to_rtklib(d_obs_data[i + glo_valid_obs], gnss_observables_iter->second, eph_data[i].week, - 1); // Band 2 (L2) + d_rtklib_band_index[sig_]); break; } } @@ -625,7 +703,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, gps_cnav_ephemeris_iter->second.WN, - 1); // Band 2 (L2) + d_rtklib_band_index[sig_]); valid_obs++; } } @@ -654,7 +732,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[i + glo_valid_obs] = insert_obs_to_rtklib(d_obs_data[i], gnss_observables_iter->second, gps_cnav_ephemeris_iter->second.WN, - 2); // Band 3 (L5) + d_rtklib_band_index[sig_]); break; } } @@ -672,7 +750,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, gps_cnav_ephemeris_iter->second.WN, - 2); // Band 3 (L5) + d_rtklib_band_index[sig_]); valid_obs++; } } @@ -700,7 +778,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, glonass_gnav_ephemeris_iter->second.d_WN, - 0); // Band 0 (L1) + d_rtklib_band_index[sig_]); glo_valid_obs++; } else // the ephemeris are not available for this SV @@ -723,7 +801,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[i + valid_obs] = insert_obs_to_rtklib(d_obs_data[i + valid_obs], gnss_observables_iter->second, glonass_gnav_ephemeris_iter->second.d_WN, - 1); // Band 1 (L2) + d_rtklib_band_index[sig_]); found_L1_obs = true; break; } @@ -738,7 +816,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, glonass_gnav_ephemeris_iter->second.d_WN, - 1); // Band 1 (L2) + d_rtklib_band_index[sig_]); glo_valid_obs++; } } @@ -766,7 +844,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, beidou_ephemeris_iter->second.WN + BEIDOU_DNAV_BDT2GPST_WEEK_NUM_OFFSET, - 0); + d_rtklib_band_index[sig_]); valid_obs++; } else // the ephemeris are not available for this SV @@ -788,7 +866,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[i + glo_valid_obs] = insert_obs_to_rtklib(d_obs_data[i + glo_valid_obs], gnss_observables_iter->second, beidou_ephemeris_iter->second.WN + BEIDOU_DNAV_BDT2GPST_WEEK_NUM_OFFSET, - 2); // Band 3 (L2/G2/B3) + d_rtklib_band_index[sig_]); found_B1I_obs = true; break; } @@ -806,7 +884,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ d_obs_data[valid_obs + glo_valid_obs] = insert_obs_to_rtklib(newobs, gnss_observables_iter->second, beidou_ephemeris_iter->second.WN + BEIDOU_DNAV_BDT2GPST_WEEK_NUM_OFFSET, - 2); // Band 2 (L2/G2) + d_rtklib_band_index[sig_]); valid_obs++; } } @@ -922,20 +1000,7 @@ bool Rtklib_Solver::get_PVT(const std::map &gnss_observables_ { for (int j = 0; j < NFREQ; j++) { - if (j == 2 && gal_e6) - { - // frq = 3 corresponds to E6 in that function - nav_data.lam[i][j] = satwavelen(i + 1, 3, &nav_data); - } - if (j == 2 && gal_e5_is_e5b) - { - // frq = 4 corresponds to E5B in that function - nav_data.lam[i][j] = satwavelen(i + 1, 4, &nav_data); - } - else - { - nav_data.lam[i][j] = satwavelen(i + 1, j, &nav_data); - } + nav_data.lam[i][j] = satwavelen(i + 1, d_rtklib_freq_index[j], &nav_data); } } diff --git a/src/algorithms/PVT/libs/rtklib_solver.h b/src/algorithms/PVT/libs/rtklib_solver.h index 003c8bc8e..697e46687 100644 --- a/src/algorithms/PVT/libs/rtklib_solver.h +++ b/src/algorithms/PVT/libs/rtklib_solver.h @@ -58,6 +58,7 @@ #include "pvt_solution.h" #include "rtklib.h" #include +#include #include #include #include @@ -75,7 +76,11 @@ class Rtklib_Solver : public Pvt_Solution { public: - Rtklib_Solver(const rtk_t& rtk, const std::string& dump_filename, bool flag_dump_to_file, bool flag_dump_to_mat); + 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); ~Rtklib_Solver(); bool get_PVT(const std::map& gnss_observables_map, bool flag_averaging); @@ -118,10 +123,13 @@ private: std::array d_obs_data{}; std::array d_dop{}; - rtk_t d_rtk{}; - Monitor_Pvt d_monitor_pvt{}; + std::map d_rtklib_freq_index; + std::map d_rtklib_band_index; std::string d_dump_filename; std::ofstream d_dump_file; + rtk_t d_rtk{}; + Monitor_Pvt d_monitor_pvt{}; + uint32_t d_type_of_rx; bool d_flag_dump_enabled; bool d_flag_dump_mat_enabled; }; diff --git a/src/tests/unit-tests/signal-processing-blocks/pvt/nmea_printer_test.cc b/src/tests/unit-tests/signal-processing-blocks/pvt/nmea_printer_test.cc index e640a3d2c..b4dfc483f 100644 --- a/src/tests/unit-tests/signal-processing-blocks/pvt/nmea_printer_test.cc +++ b/src/tests/unit-tests/signal-processing-blocks/pvt/nmea_printer_test.cc @@ -143,7 +143,7 @@ void NmeaPrinterTest::conf() TEST_F(NmeaPrinterTest, PrintLine) { std::string filename("nmea_test.nmea"); - std::shared_ptr pvt_solution = std::make_shared(rtk, "filename", false, false); + std::shared_ptr pvt_solution = std::make_shared(rtk, "filename", 1, false, false); boost::posix_time::ptime pt(boost::gregorian::date(1994, boost::date_time::Nov, 19), boost::posix_time::hours(22) + boost::posix_time::minutes(54) + boost::posix_time::seconds(46)); diff --git a/src/tests/unit-tests/signal-processing-blocks/pvt/rinex_printer_test.cc b/src/tests/unit-tests/signal-processing-blocks/pvt/rinex_printer_test.cc index 27b6dcaa6..2eb6e1987 100644 --- a/src/tests/unit-tests/signal-processing-blocks/pvt/rinex_printer_test.cc +++ b/src/tests/unit-tests/signal-processing-blocks/pvt/rinex_printer_test.cc @@ -141,7 +141,7 @@ void RinexPrinterTest::conf() TEST_F(RinexPrinterTest, GalileoObsHeader) { - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 4, false, false); auto eph = Galileo_Ephemeris(); eph.PRN = 1; pvt_solution->galileo_ephemeris_map[1] = eph; @@ -227,7 +227,7 @@ TEST_F(RinexPrinterTest, GalileoObsHeader) TEST_F(RinexPrinterTest, GlonassObsHeader) { - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 28, false, false); auto eph = Glonass_Gnav_Ephemeris(); eph.PRN = 1; pvt_solution->glonass_gnav_ephemeris_map[1] = eph; @@ -287,7 +287,7 @@ TEST_F(RinexPrinterTest, MixedObsHeader) auto eph_gps = Gps_Ephemeris(); eph_gal.PRN = 1; eph_gps.PRN = 1; - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 106, false, false); pvt_solution->galileo_ephemeris_map[1] = eph_gal; pvt_solution->gps_ephemeris_map[1] = eph_gps; @@ -357,7 +357,7 @@ TEST_F(RinexPrinterTest, MixedObsHeaderGpsGlo) auto eph_gps = Gps_Ephemeris(); eph_glo.PRN = 1; eph_gps.PRN = 1; - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 26, false, false); pvt_solution->glonass_gnav_ephemeris_map[1] = eph_glo; pvt_solution->gps_ephemeris_map[1] = eph_gps; @@ -424,7 +424,7 @@ TEST_F(RinexPrinterTest, GalileoObsLog) bool no_more_finds = false; auto eph = Galileo_Ephemeris(); eph.PRN = 1; - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 4, false, false); pvt_solution->galileo_ephemeris_map[1] = eph; std::map gnss_observables_map; @@ -504,7 +504,7 @@ TEST_F(RinexPrinterTest, GlonassObsLog) bool no_more_finds = false; auto eph = Glonass_Gnav_Ephemeris(); eph.PRN = 22; - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 23, false, false); pvt_solution->glonass_gnav_ephemeris_map[1] = eph; std::map gnss_observables_map; @@ -586,7 +586,7 @@ TEST_F(RinexPrinterTest, GpsObsLogDualBand) auto eph_cnav = Gps_CNAV_Ephemeris(); eph.PRN = 1; eph_cnav.PRN = 1; - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 7, false, false); pvt_solution->gps_ephemeris_map[1] = eph; pvt_solution->gps_cnav_ephemeris_map[1] = eph_cnav; std::map gnss_observables_map; @@ -674,7 +674,7 @@ TEST_F(RinexPrinterTest, GpsObsLogDualBand) TEST_F(RinexPrinterTest, GalileoObsLogDualBand) { - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 14, false, false); auto eph = Galileo_Ephemeris(); eph.PRN = 1; pvt_solution->galileo_ephemeris_map[1] = eph; @@ -774,7 +774,7 @@ TEST_F(RinexPrinterTest, MixedObsLog) auto eph_gal = Galileo_Ephemeris(); eph_gps.PRN = 1; eph_gal.PRN = 1; - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 9, false, false); pvt_solution->gps_ephemeris_map[1] = eph_gps; pvt_solution->galileo_ephemeris_map[1] = eph_gal; std::map gnss_observables_map; @@ -898,7 +898,7 @@ TEST_F(RinexPrinterTest, MixedObsLogGpsGlo) auto eph_glo = Glonass_Gnav_Ephemeris(); eph_gps.PRN = 1; eph_glo.PRN = 1; - auto pvt_solution = std::make_shared(rtk, "filename", false, false); + auto pvt_solution = std::make_shared(rtk, "filename", 26, false, false); pvt_solution->gps_ephemeris_map[1] = eph_gps; pvt_solution->glonass_gnav_ephemeris_map[1] = eph_glo; std::map gnss_observables_map; diff --git a/src/tests/unit-tests/signal-processing-blocks/pvt/rtklib_solver_test.cc b/src/tests/unit-tests/signal-processing-blocks/pvt/rtklib_solver_test.cc index b1bfdcad8..9804fbde1 100644 --- a/src/tests/unit-tests/signal-processing-blocks/pvt/rtklib_solver_test.cc +++ b/src/tests/unit-tests/signal-processing-blocks/pvt/rtklib_solver_test.cc @@ -383,7 +383,7 @@ TEST(RTKLibSolverTest, test1) bool save_to_mat = false; rtk_t rtk = configure_rtklib_options(); - auto d_ls_pvt = std::make_unique(rtk, nchannels, dump_filename, flag_dump_to_file, save_to_mat); + auto d_ls_pvt = std::make_unique(rtk, nchannels, dump_filename, 1, flag_dump_to_file, save_to_mat); d_ls_pvt->set_averaging_depth(1); // load ephemeris