mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-11-03 16:53:04 +00:00
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into vtl_experimental
This commit is contained in:
@@ -114,7 +114,7 @@ target_link_libraries(algorithms_libs
|
||||
Gnuradio::blocks
|
||||
PRIVATE
|
||||
core_system_parameters
|
||||
Volk::volk ${ORC_LIBRARIES}
|
||||
Volk::volk
|
||||
Volkgnsssdr::volkgnsssdr
|
||||
Gflags::gflags
|
||||
Glog::glog
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
########################################################################
|
||||
# Project setup
|
||||
########################################################################
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
cmake_minimum_required(VERSION 2.8.12...3.19)
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
endif()
|
||||
|
||||
@@ -56,6 +56,8 @@ find_path(ORC_LIBRARY_DIR
|
||||
HINTS ${PC_ORC_LIBDIR}
|
||||
PATHS ${ORC_ROOT_USER_PROVIDED}/lib
|
||||
${ORC_ROOT_USER_PROVIDED}/lib64
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
@@ -80,6 +82,54 @@ find_library(ORC_LIB orc-0.4
|
||||
HINTS ${PC_ORC_LIBRARY_DIRS}
|
||||
PATHS ${ORC_ROOT_USER_PROVIDED}/lib
|
||||
${ORC_ROOT_USER_PROVIDED}/lib64
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
)
|
||||
|
||||
find_library(ORC_LIBRARY_STATIC ${CMAKE_STATIC_LIBRARY_PREFIX}orc-0.4${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
HINTS ${PC_ORC_LIBRARY_DIRS}
|
||||
PATHS ${ORC_ROOT}/lib
|
||||
${ORC_ROOT}/lib64
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
${ORC_ROOT_USER_PROVIDED}/lib
|
||||
${ORC_ROOT_USER_PROVIDED}/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/local/lib
|
||||
)
|
||||
|
||||
if(PC_ORC_VERSION)
|
||||
@@ -91,8 +141,12 @@ list(APPEND ORC_LIBRARY ${ORC_LIB})
|
||||
set(ORC_INCLUDE_DIRS ${ORC_INCLUDE_DIR})
|
||||
set(ORC_LIBRARIES ${ORC_LIBRARY})
|
||||
set(ORC_LIBRARY_DIRS ${ORC_LIBRARY_DIR})
|
||||
set(ORC_LIBRARIES_STATIC ${ORC_LIBRARY_STATIC})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ORC "orc files" ORC_LIBRARY ORC_INCLUDE_DIR ORCC_EXECUTABLE)
|
||||
|
||||
mark_as_advanced(ORC_INCLUDE_DIR ORC_LIBRARY ORCC_EXECUTABLE)
|
||||
if(ENABLE_STATIC_LIBS)
|
||||
find_package_handle_standard_args(ORC "orc files" ORC_LIBRARY ORC_INCLUDE_DIR ORCC_EXECUTABLE ORC_LIBRARY_STATIC)
|
||||
else()
|
||||
find_package_handle_standard_args(ORC "orc files" ORC_LIBRARY ORC_INCLUDE_DIR ORCC_EXECUTABLE)
|
||||
endif()
|
||||
mark_as_advanced(ORC_INCLUDE_DIR ORC_LIBRARY ORCC_EXECUTABLE ORC_LIBRARY_STATIC)
|
||||
|
||||
@@ -576,6 +576,9 @@ if(USE_CPU_FEATURES)
|
||||
)
|
||||
endif()
|
||||
# Configure target properties
|
||||
if(ORC_FOUND)
|
||||
target_link_libraries(volk_gnsssdr PRIVATE ${ORC_LIBRARIES})
|
||||
endif()
|
||||
if(NOT MSVC)
|
||||
target_link_libraries(volk_gnsssdr PUBLIC m)
|
||||
endif()
|
||||
@@ -597,12 +600,16 @@ if(ENABLE_STATIC_LIBS)
|
||||
else()
|
||||
add_library(volk_gnsssdr_static STATIC $<TARGET_OBJECTS:volk_gnsssdr_obj>)
|
||||
endif()
|
||||
target_link_libraries(volk_gnsssdr_static PUBLIC ${volk_gnsssdr_libraries})
|
||||
if(USE_CPU_FEATURES)
|
||||
target_link_libraries(volk_gnsssdr_static
|
||||
PRIVATE cpu_features
|
||||
)
|
||||
endif()
|
||||
target_link_libraries(volk_gnsssdr_static PUBLIC ${volk_gnsssdr_libraries} pthread)
|
||||
if(ORC_FOUND)
|
||||
target_link_libraries(volk_gnsssdr_static PUBLIC ${ORC_LIBRARIES_STATIC})
|
||||
endif()
|
||||
target_link_libraries(volk_gnsssdr_static PRIVATE pthread)
|
||||
if(NOT MSVC)
|
||||
target_link_libraries(volk_gnsssdr_static PUBLIC m)
|
||||
endif()
|
||||
@@ -630,12 +637,19 @@ if(ENABLE_TESTING)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/.unittest)
|
||||
|
||||
include(VolkAddTest)
|
||||
volk_gen_test(volk_gnsssdr_test_all
|
||||
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/testqa.cc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/qa_utils.cc
|
||||
TARGET_DEPS volk_gnsssdr
|
||||
)
|
||||
|
||||
if(ENABLE_STATIC_LIBS)
|
||||
volk_gen_test(volk_gnsssdr_test_all
|
||||
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/testqa.cc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/qa_utils.cc
|
||||
TARGET_DEPS volk_gnsssdr_static
|
||||
)
|
||||
else()
|
||||
volk_gen_test(volk_gnsssdr_test_all
|
||||
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/testqa.cc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/qa_utils.cc
|
||||
TARGET_DEPS volk_gnsssdr
|
||||
)
|
||||
endif()
|
||||
foreach(kernel ${h_files})
|
||||
get_filename_component(kernel ${kernel} NAME)
|
||||
string(REPLACE ".h" "" kernel ${kernel})
|
||||
|
||||
@@ -322,11 +322,6 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
||||
############################################################################
|
||||
# Local installation of GPSTk https://github.com/SGL-UT/GPSTk
|
||||
############################################################################
|
||||
find_package(GPSTK)
|
||||
set_package_properties(GPSTK PROPERTIES
|
||||
PURPOSE "Used in some Extra Tests."
|
||||
TYPE REQUIRED
|
||||
)
|
||||
if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK)
|
||||
set_package_properties(GPSTK PROPERTIES
|
||||
PURPOSE "GPSTk v${GNSSSDR_GPSTK_LOCAL_VERSION} will be automatically downloaded and built when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'."
|
||||
@@ -348,7 +343,7 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
||||
SOURCE_DIR ${CMAKE_BINARY_DIR}/thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}
|
||||
BINARY_DIR ${CMAKE_BINARY_DIR}/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}
|
||||
PATCH_COMMAND cd ${CMAKE_BINARY_DIR}/thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION} && ${Patch_EXECUTABLE} ${CMAKE_BINARY_DIR}/thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/CMakeLists.txt < ${CMAKE_SOURCE_DIR}/src/tests/data/gpstk_static.patch
|
||||
CMAKE_ARGS ${GTEST_COMPILER} ${TOOLCHAIN_ARG} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install -DBUILD_EXT=OFF -DBUILD_PYTHON=OFF -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_STANDARD=11 -DCMAKE_CXX_EXTENSIONS=ON -DCMAKE_C_STANDARD=11 -DCMAKE_C_EXTENSIONS=ON
|
||||
CMAKE_ARGS ${GTEST_COMPILER} ${TOOLCHAIN_ARG} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install -DBUILD_EXT=ON -DBUILD_PYTHON=OFF -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_STANDARD=11 -DCMAKE_CXX_EXTENSIONS=ON -DCMAKE_C_STANDARD=11 -DCMAKE_C_EXTENSIONS=ON
|
||||
BUILD_COMMAND ${GPSTK_BUILD_COMMAND}
|
||||
UPDATE_COMMAND ""
|
||||
PATCH_COMMAND ""
|
||||
@@ -368,7 +363,7 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
|
||||
SOURCE_DIR ${CMAKE_BINARY_DIR}/thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}
|
||||
BINARY_DIR ${CMAKE_BINARY_DIR}/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}
|
||||
PATCH_COMMAND cd ${CMAKE_BINARY_DIR}/thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION} && ${Patch_EXECUTABLE} ${CMAKE_BINARY_DIR}/thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/CMakeLists.txt < ${CMAKE_SOURCE_DIR}/src/tests/data/gpstk_static.patch
|
||||
CMAKE_ARGS ${GTEST_COMPILER} ${TOOLCHAIN_ARG} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install -DBUILD_EXT=OFF -DBUILD_PYTHON=OFF -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_STANDARD=14 -DCMAKE_CXX_EXTENSIONS=ON -DCMAKE_C_STANDARD=11 -DCMAKE_C_EXTENSIONS=ON
|
||||
CMAKE_ARGS ${GTEST_COMPILER} ${TOOLCHAIN_ARG} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install -DBUILD_EXT=ON -DBUILD_PYTHON=OFF -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_STANDARD=14 -DCMAKE_CXX_EXTENSIONS=ON -DCMAKE_C_STANDARD=11 -DCMAKE_C_EXTENSIONS=ON
|
||||
BUILD_COMMAND ${GPSTK_BUILD_COMMAND} ${GPSTK_PARALLEL_BUILD}
|
||||
BUILD_BYPRODUCTS ${CMAKE_BINARY_DIR}/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
UPDATE_COMMAND ""
|
||||
@@ -526,6 +521,9 @@ if(ENABLE_UNIT_TESTING)
|
||||
endif()
|
||||
if(ENABLE_UNIT_TESTING_EXTRA)
|
||||
target_link_libraries(run_tests PRIVATE Gpstk::gpstk)
|
||||
if(GPSTK_OLDER_THAN_8)
|
||||
target_compile_definitions(run_tests PRIVATE -DOLD_GPSTK=1)
|
||||
endif()
|
||||
endif()
|
||||
if(ENABLE_STRIP)
|
||||
set_target_properties(run_tests PROPERTIES LINK_FLAGS "-s")
|
||||
|
||||
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
SPDX-FileCopyrightText: 2020 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||
--- CMakeLists.txt 2020-10-25 10:06:26.000000000 +0100
|
||||
+++ CMakeLists.txt 2020-10-25 10:06:11.000000000 +0100
|
||||
@@ -74,7 +74,16 @@
|
||||
@@ -77,7 +77,16 @@
|
||||
|
||||
|
||||
include( BuildSetup.cmake )
|
||||
|
||||
@@ -1577,13 +1577,25 @@ bool HybridObservablesTest::ReadRinexObs(std::vector<arma::mat>* obs_vec, Gnss_S
|
||||
switch (gnss.System)
|
||||
{
|
||||
case 'G':
|
||||
#if OLD_GPSTK
|
||||
prn = gpstk::SatID(myprn, gpstk::SatID::systemGPS);
|
||||
#else
|
||||
prn = gpstk::SatID(myprn, gpstk::SatelliteSystem::GPS);
|
||||
#endif
|
||||
break;
|
||||
case 'E':
|
||||
#if OLD_GPSTK
|
||||
prn = gpstk::SatID(myprn, gpstk::SatID::systemGalileo);
|
||||
#else
|
||||
prn = gpstk::SatID(myprn, gpstk::SatelliteSystem::Galileo);
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
#if OLD_GPSTK
|
||||
prn = gpstk::SatID(myprn, gpstk::SatID::systemGPS);
|
||||
#else
|
||||
prn = gpstk::SatID(myprn, gpstk::SatelliteSystem::GPS);
|
||||
#endif
|
||||
}
|
||||
|
||||
gpstk::CommonTime time = r_ref_data.time;
|
||||
@@ -1741,7 +1753,7 @@ TEST_F(HybridObservablesTest, ValidationOfResults)
|
||||
{
|
||||
// based on true observables metadata (for custom sdr generator)
|
||||
// open true observables log file written by the simulator or based on provided RINEX obs
|
||||
std::vector<std::shared_ptr<Tracking_True_Obs_Reader>> true_reader_vec;
|
||||
std::vector<std::shared_ptr<Tracking_True_Obs_Reader> > true_reader_vec;
|
||||
// read true data from the generator logs
|
||||
true_reader_vec.push_back(std::make_shared<Tracking_True_Obs_Reader>());
|
||||
std::cout << "Loading true observable data for PRN " << n.PRN << '\n';
|
||||
@@ -1782,8 +1794,8 @@ TEST_F(HybridObservablesTest, ValidationOfResults)
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<TrackingInterface>> tracking_ch_vec;
|
||||
std::vector<std::shared_ptr<TelemetryDecoderInterface>> tlm_ch_vec;
|
||||
std::vector<std::shared_ptr<TrackingInterface> > tracking_ch_vec;
|
||||
std::vector<std::shared_ptr<TelemetryDecoderInterface> > tlm_ch_vec;
|
||||
|
||||
std::vector<gr::blocks::null_sink::sptr> null_sink_vec;
|
||||
for (unsigned int n = 0; n < gnss_synchro_vec.size(); n++)
|
||||
|
||||
@@ -1668,13 +1668,25 @@ bool HybridObservablesTestFpga::ReadRinexObs(std::vector<arma::mat>* obs_vec, Gn
|
||||
switch (gnss.System)
|
||||
{
|
||||
case 'G':
|
||||
#if OLD_GPSTK
|
||||
prn = gpstk::SatID(myprn, gpstk::SatID::systemGPS);
|
||||
#else
|
||||
prn = gpstk::SatID(myprn, gpstk::SatelliteSystem::GPS);
|
||||
#endif
|
||||
break;
|
||||
case 'E':
|
||||
#if OLD_GPSTK
|
||||
prn = gpstk::SatID(myprn, gpstk::SatID::systemGalileo);
|
||||
#else
|
||||
prn = gpstk::SatID(myprn, gpstk::SatelliteSystem::Galileo);
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
#if OLD_GPSTK
|
||||
prn = gpstk::SatID(myprn, gpstk::SatID::systemGPS);
|
||||
#else
|
||||
prn = gpstk::SatID(myprn, gpstk::SatelliteSystem::GPS);
|
||||
#endif
|
||||
}
|
||||
|
||||
gpstk::CommonTime time = r_ref_data.time;
|
||||
|
||||
@@ -72,6 +72,10 @@ if("${ARMADILLO_VERSION_STRING}" VERSION_GREATER "9.800" OR (NOT ARMADILLO_FOUND
|
||||
${GPSTK_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
if(GPSTK_OLDER_THAN_8)
|
||||
target_compile_definitions(obsdiff PUBLIC -DOLD_GPSTK=1)
|
||||
endif()
|
||||
|
||||
if(ENABLE_STRIP)
|
||||
set_target_properties(obsdiff PROPERTIES LINK_FLAGS "-s")
|
||||
endif()
|
||||
|
||||
@@ -113,15 +113,27 @@ std::map<int, arma::mat> ReadRinexObs(const std::string& rinex_file, char system
|
||||
switch (system)
|
||||
{
|
||||
case 'G':
|
||||
#if OLD_GPSTK
|
||||
prn.system = gpstk::SatID::systemGPS;
|
||||
#else
|
||||
prn.system = gpstk::SatelliteSystem::GPS;
|
||||
#endif
|
||||
PRN_set = available_gps_prn;
|
||||
break;
|
||||
case 'E':
|
||||
#if OLD_GPSTK
|
||||
prn.system = gpstk::SatID::systemGalileo;
|
||||
#else
|
||||
prn.system = gpstk::SatelliteSystem::Galileo;
|
||||
#endif
|
||||
PRN_set = available_galileo_prn;
|
||||
break;
|
||||
default:
|
||||
#if OLD_GPSTK
|
||||
prn.system = gpstk::SatID::systemGPS;
|
||||
#else
|
||||
prn.system = gpstk::SatelliteSystem::GPS;
|
||||
#endif
|
||||
PRN_set = available_gps_prn;
|
||||
}
|
||||
|
||||
@@ -1241,12 +1253,19 @@ double compute_rx_clock_error(const std::string& rinex_nav_filename, const std::
|
||||
// pointer to the tropospheric model to be applied
|
||||
try
|
||||
{
|
||||
#if OLD_GPSTK
|
||||
std::vector<gpstk::SatID::SatelliteSystem> Syss;
|
||||
#endif
|
||||
gpstk::Matrix<double> invMC;
|
||||
int iret;
|
||||
// Call RAIMCompute.
|
||||
// Call RAIMCompute
|
||||
#if OLD_GPSTK
|
||||
iret = raimSolver.RAIMCompute(rod.time, prnVec, Syss, rangeVec, invMC,
|
||||
&bcestore, tropModelPtr);
|
||||
#else
|
||||
iret = raimSolver.RAIMCompute(rod.time, prnVec, rangeVec, invMC,
|
||||
&bcestore, tropModelPtr);
|
||||
#endif
|
||||
switch (iret)
|
||||
{
|
||||
/// @return Return values:
|
||||
|
||||
Reference in New Issue
Block a user