From e6fb46fa0e656502ef9f48145ae5477cb804312f Mon Sep 17 00:00:00 2001 From: joanvallve <jvallve@iri.upc.edu> Date: Thu, 26 Mar 2020 12:31:55 +0100 Subject: [PATCH] bug in initialization of arrays and debugs couts removed --- src/gnss_utils.cpp | 2 +- src/navigation.cpp | 29 ++++++++++++++++++++++++++++- src/ublox_raw.cpp | 15 ++++++++------- 3 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/gnss_utils.cpp b/src/gnss_utils.cpp index 743ef28..9912535 100644 --- a/src/gnss_utils.cpp +++ b/src/gnss_utils.cpp @@ -24,7 +24,7 @@ namespace GNSSUtils if (output.pos_stat == 0) { - std::cout << "Bad computing: " << msg << "\n"; + std::cout << "computePos: error in computing positioning, message: " << msg << "\n"; } output.time = sol.time.time; diff --git a/src/navigation.cpp b/src/navigation.cpp index 3cfecdc..a3e3dac 100644 --- a/src/navigation.cpp +++ b/src/navigation.cpp @@ -4,12 +4,32 @@ using namespace GNSSUtils; Navigation::Navigation() { - // initialization + // array initialization + nav_.n = nav_.nmax = nav_.ng = nav_.ngmax = nav_.ns = nav_.nsmax = nav_.ne = nav_.nemax = nav_.nc = nav_.ncmax = nav_.na = nav_.namax = nav_.nt = nav_.ntmax = nav_.nf = nav_.nfmax = 0; + nav_.eph = NULL; + nav_.geph = NULL; + nav_.seph = NULL; + nav_.peph = NULL; + nav_.pclk = NULL; + nav_.alm = NULL; + nav_.tec = NULL; + nav_.fcb = NULL; clearNavigation(); } Navigation::Navigation(const Navigation& nav) { + // array initialization + nav_.n = nav_.nmax = nav_.ng = nav_.ngmax = nav_.ns = nav_.nsmax = nav_.ne = nav_.nemax = nav_.nc = nav_.ncmax = nav_.na = nav_.namax = nav_.nt = nav_.ntmax = nav_.nf = nav_.nfmax = 0; + nav_.eph = NULL; + nav_.geph = NULL; + nav_.seph = NULL; + nav_.peph = NULL; + nav_.pclk = NULL; + nav_.alm = NULL; + nav_.tec = NULL; + nav_.fcb = NULL; + clearNavigation(); setNavigation(nav.getNavigation()); } @@ -225,12 +245,19 @@ void Navigation::freeNavigationArrays() { // RTKLIB "freenav(&nav_,255)" doesn't check if is NULL before freeing freeEphemeris(); + //std::cout << "freeing glonass ephemeris...\n"; freeGlonassEphemeris(); + //std::cout << "freeing sbas ephemeris...\n"; freeSbasEphemeris(); + //std::cout << "freeing precise ephemeris...\n"; freePreciseEphemeris(); + //std::cout << "freeing precise clock...\n"; freePreciseClock(); + //std::cout << "freeing almanac...\n"; freeAlmanac(); + //std::cout << "freeing tec...\n"; freeTecData(); + //std::cout << "freeing fcb...\n"; freeFcbData(); } diff --git a/src/ublox_raw.cpp b/src/ublox_raw.cpp index 8ce73d0..8fdc8cb 100644 --- a/src/ublox_raw.cpp +++ b/src/ublox_raw.cpp @@ -27,34 +27,35 @@ RawDataType UBloxRaw::addDataStream(const std::vector<u_int8_t>& data_stream) switch (raw_data_type_) { case NO: // + //std::cout << "0 received!\n"; break; case OBS: // Observations - std::cout << "Observations received!\n"; + //std::cout << "Observations received!\n"; updateObservations(); - std::cout << "Observations updated!\n"; + //std::cout << "Observations updated!\n"; break; case NAV_EPH: // Ephemeris std::cout << "Ephemeris received!\n"; nav_.copyEphemeris(raw_data_.nav); - std::cout << "Ephemeris copied!\n"; + //std::cout << "Ephemeris copied!\n"; break; case NAV_SBAS: // SBAS std::cout << "SBAS received!\n"; nav_.addSbasMessage(raw_data_.sbsmsg); - std::cout << "SBAS added!\n"; + //std::cout << "SBAS added!\n"; break; case NAV_ALM: // Almanac and ion/utc parameters std::cout << "Almanac and ion/utc parameters received!\n"; nav_.freeAlmanac(); - std::cout << "Almanac freed!\n"; + //std::cout << "Almanac freed!\n"; nav_.copyAlmanac(raw_data_.nav); - std::cout << "Almanac copied!\n"; + //std::cout << "Almanac copied!\n"; nav_.copyIonUtc(raw_data_.nav); - std::cout << "ION UTC copied!\n"; + //std::cout << "ION UTC copied!\n"; break; // Not handled messages -- GitLab