diff --git a/include/gnss_utils/receiver_raw_base.h b/include/gnss_utils/receiver_raw_base.h index 61db460de00199ffae45f696a3a7a5ad29141e73..644eade787170e2ae0cda5e126ff767b58195718 100644 --- a/include/gnss_utils/receiver_raw_base.h +++ b/include/gnss_utils/receiver_raw_base.h @@ -6,7 +6,6 @@ namespace GnssUtils { - enum RawDataType : int { NO = 0, @@ -29,8 +28,11 @@ public: virtual RawDataType addDataStream(const std::vector<uint8_t>& data_stream) = 0; - const Observations& getObservations(); - const Navigation& getNavigation(); + const Observations& getObservations() const; + const Navigation& getNavigation() const; + + Observations getObservations(); + Navigation getNavigation(); RawDataType getRawDataType() const; @@ -44,12 +46,22 @@ protected: Navigation nav_; }; -inline const Observations& ReceiverRawAbstract::getObservations() +inline const Observations& ReceiverRawAbstract::getObservations() const +{ + return obs_; +} + +inline Observations ReceiverRawAbstract::getObservations() { return obs_; } -inline const Navigation& ReceiverRawAbstract::getNavigation() +inline const Navigation& ReceiverRawAbstract::getNavigation() const +{ + return nav_; +} + +inline Navigation ReceiverRawAbstract::getNavigation() { return nav_; } diff --git a/src/utils/rcv_position.cpp b/src/utils/rcv_position.cpp index 92cd0f1952256c640a0eeb4b2510ffc1bcc01f5d..8a2b450c1b9e8ca4d40cc0e19677f7821a2f5aa9 100644 --- a/src/utils/rcv_position.cpp +++ b/src/utils/rcv_position.cpp @@ -12,7 +12,7 @@ using namespace GnssUtils; namespace GnssUtils { ComputePosOutput computePos(const GnssUtils::Observations& _observations, - GnssUtils::Navigation& _navigation, + const GnssUtils::Navigation& _navigation, const prcopt_t& _prcopt) { // Define error msg @@ -22,10 +22,16 @@ ComputePosOutput computePos(const GnssUtils::Observations& _observations, sol_t sol; sol = { { 0 } }; - std::vector<double> sat_elevations(2*_observations.size()); + std::vector<double> sat_elevations(2 * _observations.size()); - output.pos_stat = pntpos( - _observations.data(), _observations.size(), &(_navigation.getNavigation()), &_prcopt, &sol, sat_elevations.data(), NULL, msg); + output.pos_stat = pntpos(_observations.data(), + _observations.size(), + &(_navigation.getNavigation()), + &_prcopt, + &sol, + sat_elevations.data(), + NULL, + msg); if (output.pos_stat == 0) std::cout << "computePos: error in computing positioning, message: " << msg << "\n"; @@ -39,7 +45,9 @@ ComputePosOutput computePos(const GnssUtils::Observations& _observations, // std::cout << "Covariance:\n" << output.pos_covar << "\n"; if (sol.dtr != NULL) - output.rcv_bias = (Eigen::Matrix<double,6,1>() << sol.dtr[0], sol.dtr[1], sol.dtr[2], sol.dtr[3], sol.dtr[4], sol.dtr[5]).finished(); + output.rcv_bias = + (Eigen::Matrix<double, 6, 1>() << sol.dtr[0], sol.dtr[1], sol.dtr[2], sol.dtr[3], sol.dtr[4], sol.dtr[5]) + .finished(); output.type = sol.type; output.stat = sol.stat; output.ns = sol.ns; @@ -48,7 +56,8 @@ ComputePosOutput computePos(const GnssUtils::Observations& _observations, output.lat_lon = ecefToLatLonAlt(output.pos); for (auto i = 0; i < _observations.size(); i++) - output.sat_azel.emplace(_observations.getObservationByIdx(i).sat,Eigen::Vector2d(sat_elevations.at(2*i),sat_elevations.at(2*i+1))); + output.sat_azel.emplace(_observations.getObservationByIdx(i).sat, + Eigen::Vector2d(sat_elevations.at(2 * i), sat_elevations.at(2 * i + 1))); return output; }