mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-14 20:20:35 +00:00
Fix possible container overflow detected in ASAN mode
This commit is contained in:
parent
46f3be9cff
commit
d7198845c0
@ -40,7 +40,7 @@ Rtcm::Rtcm(uint16_t port)
|
|||||||
RTCM_port = port;
|
RTCM_port = port;
|
||||||
preamble = std::bitset<8>("11010011");
|
preamble = std::bitset<8>("11010011");
|
||||||
reserved_field = std::bitset<6>("000000");
|
reserved_field = std::bitset<6>("000000");
|
||||||
rtcm_message_queue = std::make_shared<Concurrent_Queue<std::string> >();
|
rtcm_message_queue = std::make_shared<Concurrent_Queue<std::string>>();
|
||||||
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), RTCM_port);
|
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), RTCM_port);
|
||||||
servers.emplace_back(io_context, endpoint);
|
servers.emplace_back(io_context, endpoint);
|
||||||
server_is_running = false;
|
server_is_running = false;
|
||||||
@ -175,8 +175,7 @@ std::string Rtcm::bin_to_binary_data(const std::string& s) const
|
|||||||
{
|
{
|
||||||
std::string s_aux;
|
std::string s_aux;
|
||||||
const auto remainder = static_cast<int32_t>(std::fmod(s.length(), 8));
|
const auto remainder = static_cast<int32_t>(std::fmod(s.length(), 8));
|
||||||
std::vector<uint8_t> c;
|
std::vector<uint8_t> c(s.length());
|
||||||
c.reserve(s.length());
|
|
||||||
|
|
||||||
uint32_t k = 0;
|
uint32_t k = 0;
|
||||||
if (remainder != 0)
|
if (remainder != 0)
|
||||||
@ -628,8 +627,8 @@ std::string Rtcm::print_MT1003(const Gps_Ephemeris& ephL1, const Gps_CNAV_Epheme
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get common observables
|
// Get common observables
|
||||||
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro> > common_observables;
|
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro>> common_observables;
|
||||||
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro> >::const_iterator common_observables_iter;
|
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro>>::const_iterator common_observables_iter;
|
||||||
std::map<int32_t, Gnss_Synchro> observablesL1_with_L2;
|
std::map<int32_t, Gnss_Synchro> observablesL1_with_L2;
|
||||||
|
|
||||||
for (observables_iter = observablesL1.cbegin();
|
for (observables_iter = observablesL1.cbegin();
|
||||||
@ -737,8 +736,8 @@ std::string Rtcm::print_MT1004(const Gps_Ephemeris& ephL1, const Gps_CNAV_Epheme
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get common observables
|
// Get common observables
|
||||||
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro> > common_observables;
|
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro>> common_observables;
|
||||||
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro> >::const_iterator common_observables_iter;
|
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro>>::const_iterator common_observables_iter;
|
||||||
std::map<int32_t, Gnss_Synchro> observablesL1_with_L2;
|
std::map<int32_t, Gnss_Synchro> observablesL1_with_L2;
|
||||||
|
|
||||||
for (observables_iter = observablesL1.cbegin();
|
for (observables_iter = observablesL1.cbegin();
|
||||||
@ -1310,8 +1309,8 @@ std::string Rtcm::print_MT1011(const Glonass_Gnav_Ephemeris& ephL1, const Glonas
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get common observables
|
// Get common observables
|
||||||
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro> > common_observables;
|
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro>> common_observables;
|
||||||
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro> >::const_iterator common_observables_iter;
|
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro>>::const_iterator common_observables_iter;
|
||||||
std::map<int32_t, Gnss_Synchro> observablesL1_with_L2;
|
std::map<int32_t, Gnss_Synchro> observablesL1_with_L2;
|
||||||
|
|
||||||
for (observables_iter = observablesL1.begin();
|
for (observables_iter = observablesL1.begin();
|
||||||
@ -1421,8 +1420,8 @@ std::string Rtcm::print_MT1012(const Glonass_Gnav_Ephemeris& ephL1, const Glonas
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get common observables
|
// Get common observables
|
||||||
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro> > common_observables;
|
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro>> common_observables;
|
||||||
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro> >::const_iterator common_observables_iter;
|
std::vector<std::pair<Gnss_Synchro, Gnss_Synchro>>::const_iterator common_observables_iter;
|
||||||
std::map<int32_t, Gnss_Synchro> observablesL1_with_L2;
|
std::map<int32_t, Gnss_Synchro> observablesL1_with_L2;
|
||||||
|
|
||||||
for (observables_iter = observablesL1.begin();
|
for (observables_iter = observablesL1.begin();
|
||||||
@ -2382,10 +2381,11 @@ std::string Rtcm::get_MSM_1_content_sat_data(const std::map<int32_t, Gnss_Synchr
|
|||||||
const uint32_t num_satellites = DF394.count();
|
const uint32_t num_satellites = DF394.count();
|
||||||
const uint32_t numobs = observables.size();
|
const uint32_t numobs = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
|
|
||||||
observables_vector.reserve(numobs);
|
observables_vector.reserve(numobs);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator gnss_synchro_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator gnss_synchro_iter;
|
||||||
std::vector<uint32_t> pos;
|
auto pos = std::vector<uint32_t>();
|
||||||
pos.reserve(numobs);
|
pos.reserve(numobs);
|
||||||
std::vector<uint32_t>::iterator it;
|
std::vector<uint32_t>::iterator it;
|
||||||
|
|
||||||
@ -2401,7 +2401,7 @@ std::string Rtcm::get_MSM_1_content_sat_data(const std::map<int32_t, Gnss_Synchr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(observables_vector);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(observables_vector);
|
||||||
|
|
||||||
for (uint32_t nsat = 0; nsat < num_satellites; nsat++)
|
for (uint32_t nsat = 0; nsat < num_satellites; nsat++)
|
||||||
{
|
{
|
||||||
@ -2418,7 +2418,7 @@ std::string Rtcm::get_MSM_1_content_signal_data(const std::map<int32_t, Gnss_Syn
|
|||||||
std::string signal_data;
|
std::string signal_data;
|
||||||
const uint32_t Ncells = observables.size();
|
const uint32_t Ncells = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
observables_vector.reserve(Ncells);
|
observables_vector.reserve(Ncells);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
||||||
|
|
||||||
@ -2429,9 +2429,9 @@ std::string Rtcm::get_MSM_1_content_signal_data(const std::map<int32_t, Gnss_Syn
|
|||||||
observables_vector.emplace_back(*map_iter);
|
observables_vector.emplace_back(*map_iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
||||||
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
||||||
|
|
||||||
for (uint32_t cell = 0; cell < Ncells; cell++)
|
for (uint32_t cell = 0; cell < Ncells; cell++)
|
||||||
{
|
{
|
||||||
@ -2527,7 +2527,7 @@ std::string Rtcm::get_MSM_2_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
|
|
||||||
const uint32_t Ncells = observables.size();
|
const uint32_t Ncells = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
observables_vector.reserve(Ncells);
|
observables_vector.reserve(Ncells);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
||||||
|
|
||||||
@ -2538,9 +2538,9 @@ std::string Rtcm::get_MSM_2_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
observables_vector.emplace_back(*map_iter);
|
observables_vector.emplace_back(*map_iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
||||||
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
||||||
|
|
||||||
for (uint32_t cell = 0; cell < Ncells; cell++)
|
for (uint32_t cell = 0; cell < Ncells; cell++)
|
||||||
{
|
{
|
||||||
@ -2642,7 +2642,7 @@ std::string Rtcm::get_MSM_3_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
|
|
||||||
const uint32_t Ncells = observables.size();
|
const uint32_t Ncells = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
observables_vector.reserve(Ncells);
|
observables_vector.reserve(Ncells);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
||||||
|
|
||||||
@ -2653,9 +2653,9 @@ std::string Rtcm::get_MSM_3_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
observables_vector.emplace_back(*map_iter);
|
observables_vector.emplace_back(*map_iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
||||||
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
||||||
|
|
||||||
for (uint32_t cell = 0; cell < Ncells; cell++)
|
for (uint32_t cell = 0; cell < Ncells; cell++)
|
||||||
{
|
{
|
||||||
@ -2754,10 +2754,10 @@ std::string Rtcm::get_MSM_4_content_sat_data(const std::map<int32_t, Gnss_Synchr
|
|||||||
const uint32_t num_satellites = DF394.count();
|
const uint32_t num_satellites = DF394.count();
|
||||||
const uint32_t numobs = observables.size();
|
const uint32_t numobs = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
observables_vector.reserve(numobs);
|
observables_vector.reserve(numobs);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator gnss_synchro_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator gnss_synchro_iter;
|
||||||
std::vector<uint32_t> pos;
|
auto pos = std::vector<uint32_t>();
|
||||||
pos.reserve(numobs);
|
pos.reserve(numobs);
|
||||||
std::vector<uint32_t>::iterator it;
|
std::vector<uint32_t>::iterator it;
|
||||||
|
|
||||||
@ -2773,7 +2773,7 @@ std::string Rtcm::get_MSM_4_content_sat_data(const std::map<int32_t, Gnss_Synchr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(observables_vector);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(observables_vector);
|
||||||
|
|
||||||
for (uint32_t nsat = 0; nsat < num_satellites; nsat++)
|
for (uint32_t nsat = 0; nsat < num_satellites; nsat++)
|
||||||
{
|
{
|
||||||
@ -2803,7 +2803,7 @@ std::string Rtcm::get_MSM_4_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
|
|
||||||
const uint32_t Ncells = observables.size();
|
const uint32_t Ncells = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
observables_vector.reserve(Ncells);
|
observables_vector.reserve(Ncells);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
||||||
|
|
||||||
@ -2814,9 +2814,9 @@ std::string Rtcm::get_MSM_4_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
observables_vector.emplace_back(*map_iter);
|
observables_vector.emplace_back(*map_iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
||||||
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
||||||
|
|
||||||
for (uint32_t cell = 0; cell < Ncells; cell++)
|
for (uint32_t cell = 0; cell < Ncells; cell++)
|
||||||
{
|
{
|
||||||
@ -2919,10 +2919,10 @@ std::string Rtcm::get_MSM_5_content_sat_data(const std::map<int32_t, Gnss_Synchr
|
|||||||
const uint32_t num_satellites = DF394.count();
|
const uint32_t num_satellites = DF394.count();
|
||||||
const uint32_t numobs = observables.size();
|
const uint32_t numobs = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
observables_vector.reserve(numobs);
|
observables_vector.reserve(numobs);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator gnss_synchro_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator gnss_synchro_iter;
|
||||||
std::vector<uint32_t> pos;
|
auto pos = std::vector<uint32_t>();
|
||||||
pos.reserve(numobs);
|
pos.reserve(numobs);
|
||||||
std::vector<uint32_t>::iterator it;
|
std::vector<uint32_t>::iterator it;
|
||||||
|
|
||||||
@ -2938,7 +2938,7 @@ std::string Rtcm::get_MSM_5_content_sat_data(const std::map<int32_t, Gnss_Synchr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(observables_vector);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(observables_vector);
|
||||||
|
|
||||||
for (uint32_t nsat = 0; nsat < num_satellites; nsat++)
|
for (uint32_t nsat = 0; nsat < num_satellites; nsat++)
|
||||||
{
|
{
|
||||||
@ -2973,7 +2973,7 @@ std::string Rtcm::get_MSM_5_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
|
|
||||||
const uint32_t Ncells = observables.size();
|
const uint32_t Ncells = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
observables_vector.reserve(Ncells);
|
observables_vector.reserve(Ncells);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
||||||
|
|
||||||
@ -2984,9 +2984,9 @@ std::string Rtcm::get_MSM_5_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
observables_vector.emplace_back(*map_iter);
|
observables_vector.emplace_back(*map_iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
||||||
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
||||||
|
|
||||||
for (uint32_t cell = 0; cell < Ncells; cell++)
|
for (uint32_t cell = 0; cell < Ncells; cell++)
|
||||||
{
|
{
|
||||||
@ -3095,7 +3095,7 @@ std::string Rtcm::get_MSM_6_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
|
|
||||||
const uint32_t Ncells = observables.size();
|
const uint32_t Ncells = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
observables_vector.reserve(Ncells);
|
observables_vector.reserve(Ncells);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
||||||
|
|
||||||
@ -3106,9 +3106,9 @@ std::string Rtcm::get_MSM_6_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
observables_vector.emplace_back(*map_iter);
|
observables_vector.emplace_back(*map_iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
||||||
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
||||||
|
|
||||||
for (uint32_t cell = 0; cell < Ncells; cell++)
|
for (uint32_t cell = 0; cell < Ncells; cell++)
|
||||||
{
|
{
|
||||||
@ -3216,7 +3216,7 @@ std::string Rtcm::get_MSM_7_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
|
|
||||||
const uint32_t Ncells = observables.size();
|
const uint32_t Ncells = observables.size();
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > observables_vector;
|
auto observables_vector = std::vector<std::pair<int32_t, Gnss_Synchro>>();
|
||||||
observables_vector.reserve(Ncells);
|
observables_vector.reserve(Ncells);
|
||||||
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
std::map<int32_t, Gnss_Synchro>::const_iterator map_iter;
|
||||||
|
|
||||||
@ -3227,9 +3227,9 @@ std::string Rtcm::get_MSM_7_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
observables_vector.emplace_back(*map_iter);
|
observables_vector.emplace_back(*map_iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_signal = Rtcm::sort_by_signal(observables_vector);
|
||||||
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
std::reverse(ordered_by_signal.begin(), ordered_by_signal.end());
|
||||||
const std::vector<std::pair<int32_t, Gnss_Synchro> > ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
const std::vector<std::pair<int32_t, Gnss_Synchro>> ordered_by_PRN_pos = Rtcm::sort_by_PRN_mask(ordered_by_signal);
|
||||||
|
|
||||||
for (uint32_t cell = 0; cell < Ncells; cell++)
|
for (uint32_t cell = 0; cell < Ncells; cell++)
|
||||||
{
|
{
|
||||||
@ -3256,10 +3256,10 @@ std::string Rtcm::get_MSM_7_content_signal_data(const Gps_Ephemeris& ephNAV,
|
|||||||
// Some utilities
|
// Some utilities
|
||||||
// *****************************************************************************************************
|
// *****************************************************************************************************
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > Rtcm::sort_by_PRN_mask(const std::vector<std::pair<int32_t, Gnss_Synchro> >& synchro_map) const
|
std::vector<std::pair<int32_t, Gnss_Synchro>> Rtcm::sort_by_PRN_mask(const std::vector<std::pair<int32_t, Gnss_Synchro>>& synchro_map) const
|
||||||
{
|
{
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> >::const_iterator synchro_map_iter;
|
std::vector<std::pair<int32_t, Gnss_Synchro>>::const_iterator synchro_map_iter;
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > my_vec;
|
std::vector<std::pair<int32_t, Gnss_Synchro>> my_vec;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
bool operator()(const std::pair<int32_t, Gnss_Synchro>& a, const std::pair<int32_t, Gnss_Synchro>& b)
|
bool operator()(const std::pair<int32_t, Gnss_Synchro>& a, const std::pair<int32_t, Gnss_Synchro>& b)
|
||||||
@ -3285,10 +3285,10 @@ std::vector<std::pair<int32_t, Gnss_Synchro> > Rtcm::sort_by_PRN_mask(const std:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > Rtcm::sort_by_signal(const std::vector<std::pair<int32_t, Gnss_Synchro> >& synchro_map) const
|
std::vector<std::pair<int32_t, Gnss_Synchro>> Rtcm::sort_by_signal(const std::vector<std::pair<int32_t, Gnss_Synchro>>& synchro_map) const
|
||||||
{
|
{
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> >::const_iterator synchro_map_iter;
|
std::vector<std::pair<int32_t, Gnss_Synchro>>::const_iterator synchro_map_iter;
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > my_vec;
|
std::vector<std::pair<int32_t, Gnss_Synchro>> my_vec;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
@ -5152,7 +5152,7 @@ std::string Rtcm::set_DF396(const std::map<int32_t, Gnss_Synchro>& observables)
|
|||||||
std::string s("");
|
std::string s("");
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
std::vector<std::vector<bool> > matrix(num_signals, std::vector<bool>());
|
std::vector<std::vector<bool>> matrix(num_signals, std::vector<bool>());
|
||||||
|
|
||||||
std::string sig;
|
std::string sig;
|
||||||
std::vector<uint32_t> list_of_sats;
|
std::vector<uint32_t> list_of_sats;
|
||||||
|
@ -481,8 +481,8 @@ private:
|
|||||||
//
|
//
|
||||||
static std::map<std::string, int> galileo_signal_map;
|
static std::map<std::string, int> galileo_signal_map;
|
||||||
static std::map<std::string, int> gps_signal_map;
|
static std::map<std::string, int> gps_signal_map;
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > sort_by_signal(const std::vector<std::pair<int32_t, Gnss_Synchro> >& synchro_map) const;
|
std::vector<std::pair<int32_t, Gnss_Synchro>> sort_by_signal(const std::vector<std::pair<int32_t, Gnss_Synchro>>& synchro_map) const;
|
||||||
std::vector<std::pair<int32_t, Gnss_Synchro> > sort_by_PRN_mask(const std::vector<std::pair<int32_t, Gnss_Synchro> >& synchro_map) const;
|
std::vector<std::pair<int32_t, Gnss_Synchro>> sort_by_PRN_mask(const std::vector<std::pair<int32_t, Gnss_Synchro>>& synchro_map) const;
|
||||||
boost::posix_time::ptime compute_GPS_time(const Gps_Ephemeris& eph, double obs_time) const;
|
boost::posix_time::ptime compute_GPS_time(const Gps_Ephemeris& eph, double obs_time) const;
|
||||||
boost::posix_time::ptime compute_GPS_time(const Gps_CNAV_Ephemeris& eph, double obs_time) const;
|
boost::posix_time::ptime compute_GPS_time(const Gps_CNAV_Ephemeris& eph, double obs_time) const;
|
||||||
boost::posix_time::ptime compute_Galileo_time(const Galileo_Ephemeris& eph, double obs_time) const;
|
boost::posix_time::ptime compute_Galileo_time(const Galileo_Ephemeris& eph, double obs_time) const;
|
||||||
@ -630,7 +630,7 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::set<std::shared_ptr<RtcmListener> > participants_;
|
std::set<std::shared_ptr<RtcmListener>> participants_;
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
max_recent_msgs = 1
|
max_recent_msgs = 1
|
||||||
@ -840,7 +840,7 @@ private:
|
|||||||
class Queue_Reader
|
class Queue_Reader
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Queue_Reader(b_io_context& io_context, std::shared_ptr<Concurrent_Queue<std::string> >& queue, int32_t port) : queue_(queue)
|
Queue_Reader(b_io_context& io_context, std::shared_ptr<Concurrent_Queue<std::string>>& queue, int32_t port) : queue_(queue)
|
||||||
{
|
{
|
||||||
boost::asio::ip::tcp::resolver resolver(io_context);
|
boost::asio::ip::tcp::resolver resolver(io_context);
|
||||||
std::string host("localhost");
|
std::string host("localhost");
|
||||||
@ -871,7 +871,7 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<Tcp_Internal_Client> c;
|
std::shared_ptr<Tcp_Internal_Client> c;
|
||||||
std::shared_ptr<Concurrent_Queue<std::string> >& queue_;
|
std::shared_ptr<Concurrent_Queue<std::string>>& queue_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -946,7 +946,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
b_io_context io_context;
|
b_io_context io_context;
|
||||||
std::shared_ptr<Concurrent_Queue<std::string> > rtcm_message_queue;
|
std::shared_ptr<Concurrent_Queue<std::string>> rtcm_message_queue;
|
||||||
std::thread t;
|
std::thread t;
|
||||||
std::thread tq;
|
std::thread tq;
|
||||||
std::list<Rtcm::Tcp_Server> servers;
|
std::list<Rtcm::Tcp_Server> servers;
|
||||||
|
Loading…
Reference in New Issue
Block a user