diff --git a/src/gnss_utils.cpp b/src/gnss_utils.cpp index 743ef28df3a20e6bc6b556dd57f4685804a48eba..9912535c39f9597ceea9acf0d7dc5c02629e7f73 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 3cfecdc23e7317eb69658c0432c3e30f3d127334..a3e3dac38d96b00f539d712b76e5f9f8465dba14 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 8ce73d04fe114c3f446cc61e6d969ce4d106a9cb..8fdc8cbfa8f09ff7b71f65a5c245c8edeb1cf297 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