diff --git a/include/gnss_utils/gnss_utils.h b/include/gnss_utils/gnss_utils.h index 197232cf32167a0cd5fd1fd0fdb8252bb94d20b3..626030968e0fa13278085403435d955227a8a2f3 100644 --- a/include/gnss_utils/gnss_utils.h +++ b/include/gnss_utils/gnss_utils.h @@ -18,8 +18,6 @@ extern "C" #include "rtklib.h" } -#define GNSSUTILS_MSG "--GNSSUtils--" - namespace GNSSUtils { struct ComputePosOutput{ @@ -45,12 +43,6 @@ namespace GNSSUtils const prcopt_t & _prcopt); Eigen::Vector3d ecefToLatLon(const Eigen::Vector3d & _ecef); - - void print(std::string & _msg); - void printArray(std::string _name, int * _array, int size); - void printArray(std::string _name, unsigned char * _array, int size); - void printArray(std::string _name, double * _array, int size); - void printArray(std::string _name, float * _array, int size); } #endif diff --git a/include/gnss_utils/observations.h b/include/gnss_utils/observations.h index b1e6ab26d22dcbfa7a35578dc39f142c6c44f9a9..e84820c2ab4dc86ef80ee79d06acc59da5047812 100644 --- a/include/gnss_utils/observations.h +++ b/include/gnss_utils/observations.h @@ -5,6 +5,8 @@ #include <iostream> #include <memory> +#include "gnss_utils/utils.h" + extern "C" { #include "rtklib.h" diff --git a/include/gnss_utils/utils.h b/include/gnss_utils/utils.h new file mode 100644 index 0000000000000000000000000000000000000000..4d19e40ab78baa88c2d15a78184f7dafa23e357a --- /dev/null +++ b/include/gnss_utils/utils.h @@ -0,0 +1,23 @@ +#ifndef UTILS_H +#define UTILS_H + +#include <vector> +#include <iostream> +#include <memory> +#include <string> + +#define ARRAY_SIZE(arr) sizeof(arr)/sizeof(arr[0]) +#define GNSSUTILS_MSG "--GNSSUtils--" + +namespace GNSSUtils +{ + + + void print(std::string & _msg); + void printArray(std::string _name, int * _array, int size); + void printArray(std::string _name, unsigned char * _array, int size); + void printArray(std::string _name, double * _array, int size); + void printArray(std::string _name, float * _array, int size); +} + +#endif \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index de5d77d2e4c021a1562ced7d450337a4ff22a814..bf6f31f6e439b57c78c3d7a9ed52da3c7462a125 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -6,7 +6,8 @@ SET(RTKLIB_SRC_DIR ${RTKLIB_DIR}/src) SET(SOURCES gnss_utils.cpp observations.cpp - navigation.cpp) + navigation.cpp + utils.cpp) SET(RTKLIB_SRC ${RTKLIB_SRC_DIR}/pntpos.c @@ -26,6 +27,7 @@ SET(RTKLIB_SRC # application header files SET(HEADERS ../include/gnss_utils/gnss_utils.h + ../include/gnss_utils/utils.h ../include/gnss_utils/observations.h ../include/gnss_utils/navigation.h ${RTKLIB_SRC_DIR}/rtklib.h) diff --git a/src/gnss_utils.cpp b/src/gnss_utils.cpp index a976c3b2ec1f55e87e63bcc14c0397b6f2485c7a..dcc3f24cc5aa51cb925e9211b4b610f9fe4b1502 100644 --- a/src/gnss_utils.cpp +++ b/src/gnss_utils.cpp @@ -61,63 +61,4 @@ namespace GNSSUtils return Eigen::Vector3d(pos); } - void print(std::string & _msg) - { - std::string msg = GNSSUTILS_MSG + _msg; - - std::cout << msg << "\n"; - - } - - void printArray(std::string _name, int * _array, int size) - { - std::cout << _name << ": ["; - for (int ii=0; ii<size; ++ii) - { - std::cout << _array[ii]; - if (ii==size-1) - std::cout << "] \n"; - else - std::cout << ","; - } - } - - void printArray(std::string _name, unsigned char * _array, int size) - { - std::cout << _name << ": ["; - for (int ii=0; ii<size; ++ii) - { - std::cout << (unsigned)_array[ii]; - if (ii==size-1) - std::cout << "] \n"; - else - std::cout << ","; - } - } - - void printArray(std::string _name, double * _array, int size) - { - std::cout << _name << ": ["; - for (int ii=0; ii<size; ++ii) - { - std::cout << _array[ii]; - if (ii==size-1) - std::cout << "] \n"; - else - std::cout << ","; - } - } - - void printArray(std::string _name, float * _array, int size) - { - std::cout << _name << ": ["; - for (int ii=0; ii<size; ++ii) - { - std::cout << _array[ii]; - if (ii==size-1) - std::cout << "] \n"; - else - std::cout << ","; - } - } } diff --git a/src/observations.cpp b/src/observations.cpp index 9892903180717c65a832ca35dda5cdc428a6fd20..4ef5448237b6e98ba5fc17f92e9f3da2cc3a6a6a 100644 --- a/src/observations.cpp +++ b/src/observations.cpp @@ -40,12 +40,12 @@ void Observations::print(obsd_t & _obs) std::string msg = "Observation of satellite #" + std::to_string(_obs.sat); GNSSUtils::print(msg); std::cout << "Time [s]: " << _obs.time.time << "\n"; - printArray("SNR: ", _obs.SNR, sizeof(_obs.SNR) / sizeof(_obs.SNR[0])); - printArray("LLI: ", _obs.LLI, sizeof(_obs.LLI) / sizeof(_obs.LLI[0])); - printArray("code: ", _obs.code, sizeof(_obs.code) / sizeof(_obs.code[0])); - printArray("L: ", _obs.L, sizeof(_obs.L) / sizeof(_obs.L)); - printArray("P: ", _obs.P, sizeof(_obs.P) / sizeof(_obs.P)); - printArray("D: ", _obs.D, sizeof(_obs.D) / sizeof(_obs.D)); + printArray("SNR: ", _obs.SNR, ARRAY_SIZE(_obs.SNR)); + printArray("LLI: ", _obs.LLI, ARRAY_SIZE(_obs.LLI)); + printArray("code: ", _obs.code, ARRAY_SIZE(_obs.code)); + printArray("L: ", _obs.L, ARRAY_SIZE(_obs.L)); + printArray("P: ", _obs.P, ARRAY_SIZE(_obs.P)); + printArray("D: ", _obs.D, ARRAY_SIZE(_obs.D)); } void Observations::print(int _obs_idx) diff --git a/src/utils.cpp b/src/utils.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3e41a0e2461e417c8e3ce267963f681d9ca6614e --- /dev/null +++ b/src/utils.cpp @@ -0,0 +1,66 @@ +#include "gnss_utils/utils.h" + + +namespace GNSSUtils +{ +void print(std::string & _msg) + { + std::string msg = GNSSUTILS_MSG + _msg; + + std::cout << msg << "\n"; + + } + + void printArray(std::string _name, int * _array, int size) + { + std::cout << _name << ": ["; + for (int ii=0; ii<size; ++ii) + { + std::cout << _array[ii]; + if (ii==size-1) + std::cout << "] \n"; + else + std::cout << ","; + } + } + + void printArray(std::string _name, unsigned char * _array, int size) + { + std::cout << _name << ": ["; + for (int ii=0; ii<size; ++ii) + { + std::cout << (unsigned)_array[ii]; + if (ii==size-1) + std::cout << "] \n"; + else + std::cout << ","; + } + } + + void printArray(std::string _name, double * _array, int size) + { + std::cout << _name << ": ["; + for (int ii=0; ii<size; ++ii) + { + std::cout << _array[ii]; + if (ii==size-1) + std::cout << "] \n"; + else + std::cout << ","; + } + } + + void printArray(std::string _name, float * _array, int size) + { + std::cout << _name << ": ["; + for (int ii=0; ii<size; ++ii) + { + std::cout << _array[ii]; + if (ii==size-1) + std::cout << "] \n"; + else + std::cout << ","; + } + } + +} \ No newline at end of file