From 11fad89fb2b654cfcb842c45f5330a8b87d0b24e Mon Sep 17 00:00:00 2001 From: PepMS <jmarti@iri.upc.edu> Date: Thu, 4 Jul 2019 09:19:42 +0200 Subject: [PATCH] removed static from getPos and cosmetics --- include/gnss_utils/gnss_utils.h | 4 +- src/CMakeLists.txt | 38 +++++++++---------- src/gnss_utils.cpp | 67 +++++++++++++++++---------------- 3 files changed, 57 insertions(+), 52 deletions(-) diff --git a/include/gnss_utils/gnss_utils.h b/include/gnss_utils/gnss_utils.h index c6ae53f..9d68ae9 100644 --- a/include/gnss_utils/gnss_utils.h +++ b/include/gnss_utils/gnss_utils.h @@ -14,6 +14,8 @@ extern "C" namespace GNSSUtils { - static int getPos(Observations obs, Navigation nav, sol_t sol); + int getPos(const std::shared_ptr<Observations> & _observations, + const std::shared_ptr<Navigation> & _navigation, + sol_t & _sol); } #endif diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8d054eb..407da06 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,30 +1,30 @@ # rtklib path -set(rtklib_dir ../deps/RTKLIB) -set(rtklib_src_dir ${rtklib_dir}/src) +SET(RTKLIB_DIR ../deps/RTKLIB) +SET(RTKLIB_SRC_DIR ${RTKLIB_DIR}/src) # driver source files -SET(sources +SET(SOURCES gnss_utils.cpp observations.cpp navigation.cpp) -SET(rtklib_src - ${rtklib_src_dir}/pntpos.c - ${rtklib_src_dir}/rtkcmn.c - ${rtklib_src_dir}/sbas.c - ${rtklib_src_dir}/ephemeris.c - ${rtklib_src_dir}/preceph.c - ${rtklib_src_dir}/qzslex.c - ${rtklib_src_dir}/rtcm.c - ${rtklib_src_dir}/rtcm2.c - ${rtklib_src_dir}/rtcm3.c - ${rtklib_src_dir}/rtcm3e.c - ${rtklib_src_dir}/ionex.c - ${rtklib_src_dir}/rinex.c) +SET(RTKLIB_SRC + ${RTKLIB_SRC_DIR}/pntpos.c + ${RTKLIB_SRC_DIR}/rtkcmn.c + ${RTKLIB_SRC_DIR}/sbas.c + ${RTKLIB_SRC_DIR}/ephemeris.c + ${RTKLIB_SRC_DIR}/preceph.c + ${RTKLIB_SRC_DIR}/qzslex.c + ${RTKLIB_SRC_DIR}/rtcm.c + ${RTKLIB_SRC_DIR}/rtcm2.c + ${RTKLIB_SRC_DIR}/rtcm3.c + ${RTKLIB_SRC_DIR}/rtcm3e.c + ${RTKLIB_SRC_DIR}/ionex.c + ${RTKLIB_SRC_DIR}/rinex.c) # application header files -SET(headers +SET(HEADERS ../include/gnss_utils/gnss_utils.h ../include/gnss_utils/observations.h ../include/gnss_utils/navigation.h) @@ -45,7 +45,7 @@ link_directories(/usr/lib/x86_64-linux-gnu/) INCLUDE_DIRECTORIES(../include/ ${EIGEN3_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${RTK_LIB_PATH}) # create the shared library -ADD_LIBRARY(gnss_utils SHARED ${sources} ${rtklib_src}) +ADD_LIBRARY(gnss_utils SHARED ${SOURCES} ${RTKLIB_SRC}) TARGET_LINK_LIBRARIES(gnss_utils ${Boost_LIBRARIES}) # Installing @@ -53,7 +53,7 @@ INSTALL(TARGETS gnss_utils RUNTIME DESTINATION bin LIBRARY DESTINATION /usr/local/lib ARCHIVE DESTINATION lib) -INSTALL(FILES ${headers} DESTINATION include/gnss_utils) +INSTALL(FILES ${HEADERS} DESTINATION include/gnss_utils) # INSTALL(FILES ../gnss_utils.cmake DESTINATION ${CMAKE_ROOT}/Modules/) INSTALL(FILES ../Findgnss_utils.cmake DESTINATION ${CMAKE_ROOT}/Modules/) ADD_SUBDIRECTORY(examples) diff --git a/src/gnss_utils.cpp b/src/gnss_utils.cpp index a833cc3..8cdfd57 100644 --- a/src/gnss_utils.cpp +++ b/src/gnss_utils.cpp @@ -1,36 +1,39 @@ #include "gnss_utils/gnss_utils.h" -using namespace GNSSUtils; - -static int getPos(Observations & observations, Navigation & navigation, sol_t sol) +namespace GNSSUtils { - // Define observations - std::vector<obsd_t> obs = observations.getObservations(); - - // Define navigation - nav_t nav = navigation.getNavigation(); - - // Define processing options - prcopt_t prcopt = prcopt_default; - prcopt.mode = PMODE_SINGLE; - prcopt.soltype = 0; - prcopt.nf = 1; - prcopt.navsys = SYS_GPS; - //prcopt.elmin = 1.05; // 60 degrees = 1.05 rad - prcopt.sateph = EPHOPT_BRDC; - prcopt.ionoopt = IONOOPT_OFF; - prcopt.tropopt = TROPOPT_OFF; - prcopt.dynamics = 0; - prcopt.tidecorr = 0; - prcopt.sbascorr = SBSOPT_FCORR; - - // Define solution - sol_t solb={{0}}; - - // Define error msg - char msg[128]=""; - - int stat = pntpos(&(obs[0]), obs.size(), &nav, &prcopt, &solb, NULL, NULL, msg); - - return stat; + int getPos(const std::shared_ptr<GNSSUtils::Observations> & _observations, + const std::shared_ptr<GNSSUtils::Navigation> & _navigation, + sol_t & _sol) + { + // Define observations + std::vector<obsd_t> obs = _observations->getObservations(); + + // Define navigation + nav_t nav = _navigation->getNavigation(); + + // Define processing options + prcopt_t prcopt = prcopt_default; + prcopt.mode = PMODE_SINGLE; + prcopt.soltype = 0; + prcopt.nf = 1; + prcopt.navsys = SYS_GPS; + //prcopt.elmin = 1.05; // 60 degrees = 1.05 rad + prcopt.sateph = EPHOPT_BRDC; + prcopt.ionoopt = IONOOPT_OFF; + prcopt.tropopt = TROPOPT_OFF; + prcopt.dynamics = 0; + prcopt.tidecorr = 0; + prcopt.sbascorr = SBSOPT_FCORR; + + // Define solution + sol_t solb={{0}}; + + // Define error msg + char msg[128]=""; + + int stat = pntpos(&(obs[0]), obs.size(), &nav, &prcopt, &solb, NULL, NULL, msg); + + return stat; + } } -- GitLab