mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-11-15 06:14:58 +00:00
Merge branch 'next' into vtl
This commit is contained in:
commit
77d3b60b73
@ -120,7 +120,6 @@ Checks: '-*,
|
|||||||
readability-uppercase-literal-suffix'
|
readability-uppercase-literal-suffix'
|
||||||
WarningsAsErrors: ''
|
WarningsAsErrors: ''
|
||||||
HeaderFilterRegex: ''
|
HeaderFilterRegex: ''
|
||||||
AnalyzeTemporaryDtors: false
|
|
||||||
FormatStyle: 'file'
|
FormatStyle: 'file'
|
||||||
CheckOptions:
|
CheckOptions:
|
||||||
- key: performance-unnecessary-copy-initialization.ExcludedContainerTypes
|
- key: performance-unnecessary-copy-initialization.ExcludedContainerTypes
|
||||||
|
2
.github/workflows/citation.yml
vendored
2
.github/workflows/citation.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
|||||||
uses: dieghernan/cff-validator@main
|
uses: dieghernan/cff-validator@main
|
||||||
# Upload artifact in case of failure
|
# Upload artifact in case of failure
|
||||||
- name: Update artifact
|
- name: Update artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
if: failure()
|
if: failure()
|
||||||
with:
|
with:
|
||||||
name: citation-cff-errors
|
name: citation-cff-errors
|
||||||
|
2
.github/workflows/gnss-sdr_archs.yml
vendored
2
.github/workflows/gnss-sdr_archs.yml
vendored
@ -41,7 +41,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: uraimo/run-on-arch-action@v2.6.0
|
- uses: uraimo/run-on-arch-action@v2.7.1
|
||||||
name: Test in non-x86 container
|
name: Test in non-x86 container
|
||||||
continue-on-error: ${{ contains(fromJson('["ppc64le", "s390x"]'), matrix.arch) }}
|
continue-on-error: ${{ contains(fromJson('["ppc64le", "s390x"]'), matrix.arch) }}
|
||||||
id: test
|
id: test
|
||||||
|
49
.github/workflows/main.yml
vendored
49
.github/workflows/main.yml
vendored
@ -1,5 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
# SPDX-FileCopyrightText: 2020-2022 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
# SPDX-FileCopyrightText: 2020-2024 Carles Fernandez-Prades <carles.fernandez@cttc.es>
|
||||||
name: Simple CI
|
name: Simple CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@ -40,6 +40,9 @@ jobs:
|
|||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.12'
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: |
|
run: |
|
||||||
brew update
|
brew update
|
||||||
@ -53,8 +56,8 @@ jobs:
|
|||||||
rm /usr/local/bin/pydoc3.1* || true
|
rm /usr/local/bin/pydoc3.1* || true
|
||||||
rm /usr/local/bin/python3.1* || true
|
rm /usr/local/bin/python3.1* || true
|
||||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||||
brew install ninja hdf5 automake armadillo lapack libmatio \
|
brew link --overwrite python@3.12
|
||||||
gflags glog gnuradio log4cpp openssl pugixml protobuf
|
brew install ninja hdf5 automake armadillo lapack libmatio gnuradio openssl pugixml protobuf
|
||||||
pip3 install mako
|
pip3 install mako
|
||||||
- name: configure
|
- name: configure
|
||||||
run: cd build && cmake -GNinja ..
|
run: cd build && cmake -GNinja ..
|
||||||
@ -69,6 +72,9 @@ jobs:
|
|||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.12'
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: |
|
run: |
|
||||||
brew update
|
brew update
|
||||||
@ -82,8 +88,8 @@ jobs:
|
|||||||
rm /usr/local/bin/pydoc3.1* || true
|
rm /usr/local/bin/pydoc3.1* || true
|
||||||
rm /usr/local/bin/python3.1* || true
|
rm /usr/local/bin/python3.1* || true
|
||||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||||
brew install ninja pkg-config hdf5 automake armadillo lapack libmatio \
|
brew link --overwrite python@3.12
|
||||||
gflags glog gnuradio log4cpp openssl pugixml protobuf
|
brew install ninja pkg-config hdf5 automake armadillo lapack libmatio gnuradio openssl pugixml protobuf
|
||||||
pip3 install mako
|
pip3 install mako
|
||||||
- name: configure
|
- name: configure
|
||||||
run: cd build && cmake -GXcode ..
|
run: cd build && cmake -GXcode ..
|
||||||
@ -117,6 +123,9 @@ jobs:
|
|||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.12'
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: |
|
run: |
|
||||||
brew update
|
brew update
|
||||||
@ -130,16 +139,16 @@ jobs:
|
|||||||
rm /usr/local/bin/pydoc3.1* || true
|
rm /usr/local/bin/pydoc3.1* || true
|
||||||
rm /usr/local/bin/python3.1* || true
|
rm /usr/local/bin/python3.1* || true
|
||||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||||
brew install llvm pkg-config hdf5 armadillo lapack gflags glog gnuradio libmatio \
|
brew link --overwrite python@3.12
|
||||||
log4cpp openssl pugixml protobuf
|
brew install ninja pkg-config hdf5 automake armadillo lapack libmatio gnuradio openssl pugixml protobuf llvm
|
||||||
pip3 install mako
|
pip3 install mako
|
||||||
ln -s $(brew --prefix llvm)/bin/clang-tidy /usr/local/bin
|
ln -s $(brew --prefix llvm)/bin/clang-tidy /usr/local/bin
|
||||||
ln -s $(brew --prefix llvm)/bin/clang-apply-replacements /usr/local/bin
|
ln -s $(brew --prefix llvm)/bin/clang-apply-replacements /usr/local/bin
|
||||||
ln -s $(brew --prefix llvm)/bin/run-clang-tidy /usr/local/bin
|
ln -s $(brew --prefix llvm)/bin/run-clang-tidy.py /usr/local/bin
|
||||||
- name: Prepare run
|
- name: Prepare run
|
||||||
run: cd build && cmake .. && make volk_gnsssdr_module gtest-1.13.0 core_monitor core_libs pvt_libs
|
run: cd build && cmake .. && make volk_gnsssdr_module gtest-1.14.0 core_monitor core_libs pvt_libs
|
||||||
- name: run clang-tidy
|
- name: run clang-tidy
|
||||||
run: cd build && run-clang-tidy -fix
|
run: cd build && /opt/homebrew/opt/llvm/bin/run-clang-tidy -fix
|
||||||
- name: check
|
- name: check
|
||||||
run: |
|
run: |
|
||||||
git diff > clang_tidy.patch
|
git diff > clang_tidy.patch
|
||||||
@ -192,7 +201,7 @@ jobs:
|
|||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.12'
|
python-version: '3.12'
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
@ -231,8 +240,13 @@ jobs:
|
|||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: install dependencies
|
- uses: actions/setup-python@v5
|
||||||
run: pip3 install mako
|
with:
|
||||||
|
python-version: '3.12'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install mako
|
||||||
- name: configure
|
- name: configure
|
||||||
run: cd build && cmake ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
run: cd build && cmake ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
||||||
- name: build
|
- name: build
|
||||||
@ -244,8 +258,13 @@ jobs:
|
|||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: install dependencies
|
- uses: actions/setup-python@v5
|
||||||
run: pip3 install mako
|
with:
|
||||||
|
python-version: '3.12'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install mako
|
||||||
- name: configure
|
- name: configure
|
||||||
run: cd build && cmake -GXcode ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
run: cd build && cmake -GXcode ../src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
|
||||||
- name: build
|
- name: build
|
||||||
|
2
.github/workflows/volk_gnsssdr_archs.yml
vendored
2
.github/workflows/volk_gnsssdr_archs.yml
vendored
@ -45,7 +45,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: uraimo/run-on-arch-action@v2.6.0
|
- uses: uraimo/run-on-arch-action@v2.7.1
|
||||||
name: Build in non-x86 container
|
name: Build in non-x86 container
|
||||||
# continue-on-error: ${{ contains(fromJson('["ppc64le", "s390x"]'), matrix.arch) }}
|
# continue-on-error: ${{ contains(fromJson('["ppc64le", "s390x"]'), matrix.arch) }}
|
||||||
id: build
|
id: build
|
||||||
|
210
CMakeLists.txt
210
CMakeLists.txt
@ -16,7 +16,7 @@ endif()
|
|||||||
# Build type can still be overridden by setting -DCMAKE_BUILD_TYPE=
|
# Build type can still be overridden by setting -DCMAKE_BUILD_TYPE=
|
||||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "")
|
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "")
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8.12...3.28)
|
cmake_minimum_required(VERSION 2.8.12...3.30)
|
||||||
project(gnss-sdr CXX C)
|
project(gnss-sdr CXX C)
|
||||||
|
|
||||||
set(GNSSSDR_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) # Allows to be a sub-project
|
set(GNSSSDR_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) # Allows to be a sub-project
|
||||||
@ -74,9 +74,20 @@ option(ENABLE_PACKAGING "Enable software packaging" OFF)
|
|||||||
|
|
||||||
option(ENABLE_OWN_GLOG "Download glog and link it to gflags" OFF)
|
option(ENABLE_OWN_GLOG "Download glog and link it to gflags" OFF)
|
||||||
|
|
||||||
|
option(ENABLE_GLOG_AND_GFLAGS "Force using Google glog and Gflags instead of Abseil" OFF)
|
||||||
|
|
||||||
|
option(ENABLE_OWN_ABSEIL "Forces downloading and building of Abseil" OFF)
|
||||||
|
if(CMAKE_VERSION VERSION_LESS 3.24)
|
||||||
|
set(ENABLE_OWN_ABSEIL OFF)
|
||||||
|
endif()
|
||||||
|
if(ENABLE_OWN_ABSEIL)
|
||||||
|
set(ENABLE_OWN_GLOG OFF)
|
||||||
|
set(ENABLE_GLOG_AND_GFLAGS OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
option(ENABLE_OWN_ARMADILLO "Download and build Armadillo locally" OFF)
|
option(ENABLE_OWN_ARMADILLO "Download and build Armadillo locally" OFF)
|
||||||
|
|
||||||
option(ENABLE_LOG "Enable logging" ON)
|
option(ENABLE_LOG "Enable internal logging" ON)
|
||||||
|
|
||||||
option(ENABLE_ARMA_NO_DEBUG OFF)
|
option(ENABLE_ARMA_NO_DEBUG OFF)
|
||||||
|
|
||||||
@ -211,7 +222,7 @@ endif()
|
|||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|kFreeBSD|GNU")
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|kFreeBSD|GNU")
|
||||||
include(DetectLinuxDistro)
|
include(DetectLinuxDistro)
|
||||||
if(CMAKE_CROSSCOMPILING)
|
if(CMAKE_CROSSCOMPILING)
|
||||||
message(STATUS "Configuring GNSS-SDR v${VERSION} to be cross-compiled on ${LINUX_DISTRIBUTION} ${LINUX_VER} (${CMAKE_HOST_SYSTEM_PROCESSOR}) for ${CMAKE_SYSTEM_PROCESSOR} ${ARCHITECTURE_STRING}")
|
message(STATUS "Configuring GNSS-SDR v${VERSION} to be cross-compiled on ${LINUX_DISTRIBUTION} ${LINUX_VER} (${CMAKE_HOST_SYSTEM_PROCESSOR}) for ${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
else()
|
else()
|
||||||
message(STATUS "Configuring GNSS-SDR v${VERSION} to be built on GNU/Linux ${LINUX_DISTRIBUTION} ${LINUX_VER} ${ARCHITECTURE_STRING}")
|
message(STATUS "Configuring GNSS-SDR v${VERSION} to be built on GNU/Linux ${LINUX_DISTRIBUTION} ${LINUX_VER} ${ARCHITECTURE_STRING}")
|
||||||
endif()
|
endif()
|
||||||
@ -329,25 +340,34 @@ set(GNSSSDR_MATIO_MIN_VERSION "1.5.3")
|
|||||||
set(GNSSSDR_PROTOBUF_MIN_VERSION "3.0.0")
|
set(GNSSSDR_PROTOBUF_MIN_VERSION "3.0.0")
|
||||||
set(GNSSSDR_PYTHON_MIN_VERSION "2.7")
|
set(GNSSSDR_PYTHON_MIN_VERSION "2.7")
|
||||||
set(GNSSSDR_PYTHON3_MIN_VERSION "3.4")
|
set(GNSSSDR_PYTHON3_MIN_VERSION "3.4")
|
||||||
|
set(GNSSSDR_ABSEIL_MIN_VERSION "20240116")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Versions to download and build (but not to install system-wide) if not found
|
# Versions to download and build (but not to install system-wide) if not found
|
||||||
################################################################################
|
################################################################################
|
||||||
set(GNSSSDR_ARMADILLO_LOCAL_VERSION "12.6.x")
|
set(GNSSSDR_ARMADILLO_LOCAL_VERSION "14.0.x")
|
||||||
set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.2")
|
set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.2")
|
||||||
set(GNSSSDR_GLOG_LOCAL_VERSION "0.6.0")
|
set(GNSSSDR_GLOG_LOCAL_VERSION "0.7.1")
|
||||||
set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.26")
|
set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.27")
|
||||||
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "25.0")
|
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "27.2")
|
||||||
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.14")
|
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.14")
|
||||||
set(GNSSSDR_GTEST_LOCAL_VERSION "1.13.0")
|
set(GNSSSDR_GTEST_LOCAL_VERSION "1.14.0")
|
||||||
set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "master")
|
set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "origin/master")
|
||||||
set(GNSSSDR_GNSSTK_LOCAL_VERSION "14.0.0")
|
set(GNSSSDR_GNSSTK_LOCAL_VERSION "14.3.0")
|
||||||
set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.8.3")
|
set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.8.5")
|
||||||
set(GNSSSDR_MATHJAX_EXTERNAL_VERSION "2.7.7")
|
set(GNSSSDR_MATHJAX_EXTERNAL_VERSION "2.7.7")
|
||||||
|
set(GNSSSDR_ABSL_LOCAL_VERSION "origin/master") # live at head (see https://abseil.io/about/releases)
|
||||||
|
|
||||||
# Downgrade versions if requirements are not met
|
# Downgrade versions if requirements are not met
|
||||||
|
if(CMAKE_VERSION VERSION_LESS "3.5")
|
||||||
|
set(GNSSSDR_ARMADILLO_LOCAL_VERSION "12.8.x")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_VERSION VERSION_LESS "3.22")
|
||||||
|
set(GNSSSDR_GLOG_LOCAL_VERSION "0.6.0")
|
||||||
|
endif()
|
||||||
if(CMAKE_VERSION VERSION_LESS "3.16")
|
if(CMAKE_VERSION VERSION_LESS "3.16")
|
||||||
set(GNSSSDR_GLOG_LOCAL_VERSION "0.5.0")
|
set(GNSSSDR_GLOG_LOCAL_VERSION "0.5.0")
|
||||||
endif()
|
endif()
|
||||||
@ -368,10 +388,19 @@ if(CMAKE_VERSION VERSION_LESS "3.4")
|
|||||||
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.10")
|
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.10")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_CROSSCOMPILING OR CMAKE_VERSION VERSION_LESS "3.13")
|
if(CMAKE_CROSSCOMPILING OR CMAKE_VERSION VERSION_LESS "3.13" OR
|
||||||
|
((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0.0)) OR
|
||||||
|
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0")) OR
|
||||||
|
((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11")))
|
||||||
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "21.12")
|
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "21.12")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_VERSION VERSION_LESS "3.13" OR
|
||||||
|
(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3.1) OR
|
||||||
|
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0.0))
|
||||||
|
set(GNSSSDR_GTEST_LOCAL_VERSION "1.13.0")
|
||||||
|
endif()
|
||||||
|
|
||||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0) OR
|
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0) OR
|
||||||
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0) OR
|
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0) OR
|
||||||
CMAKE_VERSION VERSION_LESS 3.5)
|
CMAKE_VERSION VERSION_LESS 3.5)
|
||||||
@ -729,8 +758,18 @@ set(BOOST_COMPONENTS atomic chrono date_time serialization system thread)
|
|||||||
if(NOT ${FILESYSTEM_FOUND})
|
if(NOT ${FILESYSTEM_FOUND})
|
||||||
set(BOOST_COMPONENTS ${BOOST_COMPONENTS} filesystem)
|
set(BOOST_COMPONENTS ${BOOST_COMPONENTS} filesystem)
|
||||||
endif()
|
endif()
|
||||||
|
if(CMAKE_VERSION VERSION_LESS 3.30)
|
||||||
find_package(Boost ${GNSSSDR_BOOST_MIN_VERSION} COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
|
find_package(Boost ${GNSSSDR_BOOST_MIN_VERSION} COMPONENTS ${BOOST_COMPONENTS} REQUIRED)
|
||||||
|
else()
|
||||||
|
find_package(Boost ${GNSSSDR_BOOST_MIN_VERSION} COMPONENTS ${BOOST_COMPONENTS})
|
||||||
|
if(NOT Boost_FOUND)
|
||||||
|
message(STATUS "Trying deprecated FindBoost Module ...")
|
||||||
|
if(POLICY CMP0167)
|
||||||
|
cmake_policy(SET CMP0167 OLD)
|
||||||
|
find_package(Boost ${GNSSSDR_BOOST_MIN_VERSION} REQUIRED COMPONENTS ${BOOST_COMPONENTS})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
if(NOT Boost_FOUND)
|
if(NOT Boost_FOUND)
|
||||||
message(FATAL_ERROR "Fatal error: Boost (version >=${GNSSSDR_BOOST_MIN_VERSION}) required.")
|
message(FATAL_ERROR "Fatal error: Boost (version >=${GNSSSDR_BOOST_MIN_VERSION}) required.")
|
||||||
endif()
|
endif()
|
||||||
@ -1145,7 +1184,7 @@ if(NOT VOLKGNSSSDR_FOUND)
|
|||||||
|
|
||||||
if(CMAKE_GENERATOR STREQUAL Xcode)
|
if(CMAKE_GENERATOR STREQUAL Xcode)
|
||||||
set(VOLK_GNSSSDR_BUILD_COMMAND "xcodebuild"
|
set(VOLK_GNSSSDR_BUILD_COMMAND "xcodebuild"
|
||||||
"-configuration" $<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>
|
"-configuration" $<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:Debug>:RelWithDebInfo>$<$<CONFIG:ASAN>:Debug>
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -1379,6 +1418,75 @@ endif()
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Abseil C++ - https://abseil.io/docs/cpp/
|
||||||
|
################################################################################
|
||||||
|
if(NOT CMAKE_VERSION VERSION_LESS 3.24
|
||||||
|
AND NOT CMAKE_CXX_STANDARD VERSION_LESS 17
|
||||||
|
AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3.1)
|
||||||
|
AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0.0)
|
||||||
|
AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12)
|
||||||
|
AND NOT ENABLE_OWN_GLOG
|
||||||
|
AND NOT ENABLE_GLOG_AND_GFLAGS)
|
||||||
|
# See https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md
|
||||||
|
|
||||||
|
if(ENABLE_OWN_ABSEIL)
|
||||||
|
include(FetchContent)
|
||||||
|
set(ABSEIL_BUILD_COMMAND ${CMAKE_COMMAND}
|
||||||
|
"--build" "${GNSSSDR_BINARY_DIR}/abseil-cpp"
|
||||||
|
"--config" $<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:Debug>$<$<CONFIG:Coverage>:Debug>$<$<CONFIG:O2WithASM>:RelWithDebInfo>$<$<CONFIG:O3WithASM>:RelWithDebInfo>$<$<CONFIG:ASAN>:Debug>
|
||||||
|
"--target" "install"
|
||||||
|
)
|
||||||
|
if(CMAKE_GENERATOR STREQUAL Xcode)
|
||||||
|
set(ABSEIL_BUILD_COMMAND "xcodebuild" "-configuration" $<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:Debug>)
|
||||||
|
endif()
|
||||||
|
if(CMAKE_TOOLCHAIN_FILE)
|
||||||
|
set(ABSEIL_TOOLCHAIN_FILE -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
|
||||||
|
endif()
|
||||||
|
set(ABSL_PROPAGATE_CXX_STD ON)
|
||||||
|
FetchContent_Declare(
|
||||||
|
absl
|
||||||
|
GIT_REPOSITORY https://github.com/abseil/abseil-cpp
|
||||||
|
GIT_TAG ${GNSSSDR_ABSL_LOCAL_VERSION}
|
||||||
|
SOURCE_DIR ${GNSSSDR_BINARY_DIR}/thirdparty/abseil-cpp
|
||||||
|
CMAKE_ARGS -DABSL_PROPAGATE_CXX_STD=ON -ABSL_BUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${GNSSSDR_BINARY_DIR}/abseil-cpp ${ABSEIL_TOOLCHAIN_FILE}
|
||||||
|
BINARY_DIR ${GNSSSDR_BINARY_DIR}/abseil-cpp
|
||||||
|
BUILD_COMMAND ${ABSEIL_BUILD_COMMAND}
|
||||||
|
OVERRIDE_FIND_PACKAGE # Requires CMake 3.24
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(absl)
|
||||||
|
set(absl_FOUND TRUE)
|
||||||
|
set(ENABLE_GLOG_AND_GFLAGS OFF)
|
||||||
|
else()
|
||||||
|
find_package(absl)
|
||||||
|
set_package_properties(absl PROPERTIES
|
||||||
|
URL "https://github.com/abseil/abseil-cpp"
|
||||||
|
PURPOSE "Making use of Abseil's log and flags libraries."
|
||||||
|
TYPE OPTIONAL
|
||||||
|
)
|
||||||
|
if(absl_FOUND)
|
||||||
|
set_package_properties(absl PROPERTIES
|
||||||
|
DESCRIPTION "A collection of C++ library code designed to augment the C++ standard library (found: v${absl_VERSION})"
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
set_package_properties(absl PROPERTIES
|
||||||
|
DESCRIPTION "A collection of C++ library code designed to augment the C++ standard library"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
if("${absl_VERSION}" VERSION_LESS ${GNSSSDR_ABSEIL_MIN_VERSION})
|
||||||
|
unset(absl_FOUND CACHE)
|
||||||
|
set(absl_FOUND FALSE)
|
||||||
|
set(ENABLE_GLOG_AND_GFLAGS ON)
|
||||||
|
set_package_properties(absl PROPERTIES
|
||||||
|
DESCRIPTION "A collection of C++ library code designed to augment the C++ standard library (found: v${absl_VERSION}, but it is too old and it will not be used)"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
if(NOT absl_FOUND)
|
||||||
|
set(ENABLE_GLOG_AND_GFLAGS ON)
|
||||||
################################################################################
|
################################################################################
|
||||||
# gflags - https://github.com/gflags/gflags
|
# gflags - https://github.com/gflags/gflags
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -1416,7 +1524,7 @@ if(NOT GFLAGS_FOUND)
|
|||||||
"--config" $<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:Debug>$<$<CONFIG:Coverage>:Debug>$<$<CONFIG:O2WithASM>:RelWithDebInfo>$<$<CONFIG:O3WithASM>:RelWithDebInfo>$<$<CONFIG:ASAN>:Debug>
|
"--config" $<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:Debug>$<$<CONFIG:Coverage>:Debug>$<$<CONFIG:O2WithASM>:RelWithDebInfo>$<$<CONFIG:O3WithASM>:RelWithDebInfo>$<$<CONFIG:ASAN>:Debug>
|
||||||
)
|
)
|
||||||
if(CMAKE_GENERATOR STREQUAL Xcode)
|
if(CMAKE_GENERATOR STREQUAL Xcode)
|
||||||
set(GFLAGS_BUILD_COMMAND "xcodebuild" "-configuration" $<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>)
|
set(GFLAGS_BUILD_COMMAND "xcodebuild" "-configuration" $<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:Debug>)
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_TOOLCHAIN_FILE)
|
if(CMAKE_TOOLCHAIN_FILE)
|
||||||
set(GFLAGS_TOOLCHAIN_FILE -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
|
set(GFLAGS_TOOLCHAIN_FILE -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
|
||||||
@ -1569,7 +1677,7 @@ if(NOT GLOG_FOUND OR ${LOCAL_GFLAGS})
|
|||||||
)
|
)
|
||||||
if(CMAKE_GENERATOR STREQUAL Xcode)
|
if(CMAKE_GENERATOR STREQUAL Xcode)
|
||||||
set(GLOG_MAKE_PROGRAM "xcodebuild" "-configuration"
|
set(GLOG_MAKE_PROGRAM "xcodebuild" "-configuration"
|
||||||
$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>
|
$<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:Debug>
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_TOOLCHAIN_FILE)
|
if(CMAKE_TOOLCHAIN_FILE)
|
||||||
@ -1729,6 +1837,9 @@ ${GNSSSDR_BINARY_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/configu
|
|||||||
if(GNSSSDR_GLOG_LOCAL_VERSION VERSION_GREATER 0.5.0)
|
if(GNSSSDR_GLOG_LOCAL_VERSION VERSION_GREATER 0.5.0)
|
||||||
set(GLOG_GTEST -DWITH_GTEST=FALSE)
|
set(GLOG_GTEST -DWITH_GTEST=FALSE)
|
||||||
endif()
|
endif()
|
||||||
|
if(NOT (CMAKE_VERSION VERSION_LESS "3.22"))
|
||||||
|
set(GNSSSDR_GLOG_LOCAL_GFLAGS -DCMAKE_REQUIRED_INCLUDES=${GFlags_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
ExternalProject_Add(glog-${GNSSSDR_GLOG_LOCAL_VERSION}
|
ExternalProject_Add(glog-${GNSSSDR_GLOG_LOCAL_VERSION}
|
||||||
DEPENDS ${TARGET_GFLAGS}
|
DEPENDS ${TARGET_GFLAGS}
|
||||||
PREFIX ${GNSSSDR_BINARY_DIR}/glog-${GNSSSDR_GLOG_LOCAL_VERSION}
|
PREFIX ${GNSSSDR_BINARY_DIR}/glog-${GNSSSDR_GLOG_LOCAL_VERSION}
|
||||||
@ -1743,6 +1854,7 @@ ${GNSSSDR_BINARY_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/configu
|
|||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
${GLOG_GTEST}
|
${GLOG_GTEST}
|
||||||
-DBUILD_TESTING=OFF
|
-DBUILD_TESTING=OFF
|
||||||
|
"${GNSSSDR_GLOG_LOCAL_GFLAGS}"
|
||||||
BUILD_COMMAND "${GLOG_MAKE_PROGRAM} ${PARALLEL_BUILD}"
|
BUILD_COMMAND "${GLOG_MAKE_PROGRAM} ${PARALLEL_BUILD}"
|
||||||
BUILD_BYPRODUCTS ${GLOG_BUILD_BYPRODUCTS}
|
BUILD_BYPRODUCTS ${GLOG_BUILD_BYPRODUCTS}
|
||||||
UPDATE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
@ -1800,6 +1912,11 @@ ${GNSSSDR_BINARY_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/configu
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
if(NOT (CMAKE_VERSION VERSION_LESS "3.22"))
|
||||||
|
set_target_properties(Glog::glog PROPERTIES
|
||||||
|
INTERFACE_COMPILE_DEFINITIONS "GLOG_USE_GLOG_EXPORT;GLOG_USE_GFLAGS"
|
||||||
|
INTERFACE_COMPILE_FEATURES "cxx_std_14")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(LIBUNWIND_FOUND)
|
if(LIBUNWIND_FOUND)
|
||||||
target_link_libraries(Glog::glog INTERFACE Libunwind::libunwind)
|
target_link_libraries(Glog::glog INTERFACE Libunwind::libunwind)
|
||||||
@ -1810,16 +1927,6 @@ ${GNSSSDR_BINARY_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/configu
|
|||||||
PURPOSE "Glog v${GNSSSDR_GLOG_LOCAL_VERSION} will be downloaded, built, and statically linked when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'."
|
PURPOSE "Glog v${GNSSSDR_GLOG_LOCAL_VERSION} will be downloaded, built, and statically linked when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'."
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT ENABLE_LOG)
|
|
||||||
message(STATUS "Internal logging is not enabled")
|
|
||||||
if(CMAKE_VERSION VERSION_GREATER 3.11.0)
|
|
||||||
target_compile_definitions(Glog::glog INTERFACE -DGOOGLE_STRIP_LOG=1)
|
|
||||||
else()
|
|
||||||
set_property(TARGET Glog::glog APPEND PROPERTY
|
|
||||||
INTERFACE_COMPILE_DEFINITIONS GOOGLE_STRIP_LOG=1
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@ -1909,7 +2016,7 @@ endif()
|
|||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Armadillo - http://arma.sourceforge.net/
|
# Armadillo - https://arma.sourceforge.net/
|
||||||
################################################################################
|
################################################################################
|
||||||
if(ENABLE_OWN_ARMADILLO)
|
if(ENABLE_OWN_ARMADILLO)
|
||||||
unset(Armadillo::armadillo CACHE)
|
unset(Armadillo::armadillo CACHE)
|
||||||
@ -1921,7 +2028,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_package_properties(Armadillo PROPERTIES
|
set_package_properties(Armadillo PROPERTIES
|
||||||
URL "http://arma.sourceforge.net/"
|
URL "https://arma.sourceforge.net/"
|
||||||
PURPOSE "Used for matrix computations."
|
PURPOSE "Used for matrix computations."
|
||||||
TYPE REQUIRED
|
TYPE REQUIRED
|
||||||
)
|
)
|
||||||
@ -2025,7 +2132,7 @@ if(NOT ARMADILLO_FOUND OR ENABLE_OWN_ARMADILLO)
|
|||||||
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||||
-DCMAKE_BUILD_TYPE=$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:Debug>$<$<CONFIG:Coverage>:Debug>$<$<CONFIG:O2WithASM>:RelWithDebInfo>$<$<CONFIG:O3WithASM>:RelWithDebInfo>$<$<CONFIG:ASAN>:Debug>
|
-DCMAKE_BUILD_TYPE=$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:Debug>$<$<CONFIG:Coverage>:Debug>$<$<CONFIG:O2WithASM>:RelWithDebInfo>$<$<CONFIG:O3WithASM>:RelWithDebInfo>$<$<CONFIG:ASAN>:Debug>
|
||||||
-DCMAKE_INSTALL_PREFIX=${GNSSSDR_BINARY_DIR}/armadillo-${armadillo_RELEASE}
|
-DCMAKE_INSTALL_PREFIX=${GNSSSDR_BINARY_DIR}/armadillo-${armadillo_RELEASE}
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DSTATIC_LIB=ON
|
||||||
-DBUILD_SMOKE_TEST=OFF
|
-DBUILD_SMOKE_TEST=OFF
|
||||||
-DALLOW_BLAS_LAPACK_MACOS=ON
|
-DALLOW_BLAS_LAPACK_MACOS=ON
|
||||||
${ARMADILLO_CXX_VERSION}
|
${ARMADILLO_CXX_VERSION}
|
||||||
@ -2150,6 +2257,7 @@ find_library(GNUTLS_OPENSSL_LIBRARY
|
|||||||
/usr/lib/sparc64-linux-gnu
|
/usr/lib/sparc64-linux-gnu
|
||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/sh4-linux-gnu
|
/usr/lib/sh4-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
@ -2517,9 +2625,29 @@ endif()
|
|||||||
################################################################################
|
################################################################################
|
||||||
# Protocol Buffers https://github.com/protocolbuffers/protobuf
|
# Protocol Buffers https://github.com/protocolbuffers/protobuf
|
||||||
################################################################################
|
################################################################################
|
||||||
|
if(((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "8.0.0")) OR
|
||||||
|
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0")) OR
|
||||||
|
((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11")))
|
||||||
|
if(CMAKE_VERSION VERSION_LESS 3.19)
|
||||||
find_package(Protobuf)
|
find_package(Protobuf)
|
||||||
|
else()
|
||||||
|
find_package(Protobuf 3.0...21.12)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
find_package(Protobuf)
|
||||||
|
|
||||||
|
if((CMAKE_BUILD_TYPE STREQUAL "Debug") AND Protobuf_FOUND AND absl_FOUND)
|
||||||
|
# This Regular Expression is used to convert the version string provided by `find_package(Protobuf)` into the
|
||||||
|
# appropriate binary version string. So, for instance, "4.25.3" becomes "25.3.0".
|
||||||
|
string(REGEX REPLACE "^[0-9]+\.([0-9]+\.[0-9]+)$" "\\1.0" PROTOBUF_LIBRARY_VERSION "${Protobuf_VERSION}")
|
||||||
|
if((PROTOBUF_LIBRARY_VERSION VERSION_GREATER_EQUAL "22") AND (PROTOBUF_LIBRARY_VERSION VERSION_LESS "26"))
|
||||||
|
pkg_check_modules(protobuf REQUIRED IMPORTED_TARGET protobuf=${PROTOBUF_LIBRARY_VERSION})
|
||||||
|
target_link_libraries(protobuf::libprotobuf INTERFACE PkgConfig::protobuf)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
set_package_properties(Protobuf PROPERTIES
|
set_package_properties(Protobuf PROPERTIES
|
||||||
URL "https://developers.google.com/protocol-buffers/"
|
URL "https://protobuf.dev/"
|
||||||
PURPOSE "Used to serialize output data in a way that can be read by other applications."
|
PURPOSE "Used to serialize output data in a way that can be read by other applications."
|
||||||
TYPE REQUIRED
|
TYPE REQUIRED
|
||||||
)
|
)
|
||||||
@ -2624,12 +2752,6 @@ if((NOT Protobuf_FOUND) OR (NOT Protobuf_PROTOC_EXECUTABLE) OR (${Protobuf_VERSI
|
|||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
if(CMAKE_VERSION VERSION_GREATER "3.13")
|
if(CMAKE_VERSION VERSION_GREATER "3.13")
|
||||||
find_package(absl)
|
|
||||||
set_package_properties(absl PROPERTIES
|
|
||||||
URL "https://github.com/abseil/abseil-cpp"
|
|
||||||
PURPOSE "Abseil-cpp >= 20230117 required to be installed before building Protocol Buffers >22.x on the fly."
|
|
||||||
TYPE OPTIONAL
|
|
||||||
)
|
|
||||||
if(absl_FOUND)
|
if(absl_FOUND)
|
||||||
if(absl_VERSION)
|
if(absl_VERSION)
|
||||||
if(${absl_VERSION} VERSION_LESS "20230117")
|
if(${absl_VERSION} VERSION_LESS "20230117")
|
||||||
@ -2641,6 +2763,10 @@ if((NOT Protobuf_FOUND) OR (NOT Protobuf_PROTOC_EXECUTABLE) OR (${Protobuf_VERSI
|
|||||||
set(absl_FOUND OFF)
|
set(absl_FOUND OFF)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "8.0.0"))
|
||||||
|
unset(absl_FOUND CACHE)
|
||||||
|
set(absl_FOUND OFF)
|
||||||
|
endif()
|
||||||
if(absl_FOUND)
|
if(absl_FOUND)
|
||||||
set_package_properties(absl PROPERTIES
|
set_package_properties(absl PROPERTIES
|
||||||
DESCRIPTION "An open-source collection of C++ code designed to augment the C++ standard library (found: v${absl_VERSION})"
|
DESCRIPTION "An open-source collection of C++ code designed to augment the C++ standard library (found: v${absl_VERSION})"
|
||||||
@ -2655,7 +2781,9 @@ if((NOT Protobuf_FOUND) OR (NOT Protobuf_PROTOC_EXECUTABLE) OR (${Protobuf_VERSI
|
|||||||
DESCRIPTION "An open-source collection of C++ code designed to augment the C++ standard library"
|
DESCRIPTION "An open-source collection of C++ code designed to augment the C++ standard library"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
if(NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "8.0.0"))
|
||||||
message(STATUS "The Abseil library (https://github.com/abseil/abseil-cpp) >= v20230117 is required to be installed before building Protocol Buffers >22.x on the fly.")
|
message(STATUS "The Abseil library (https://github.com/abseil/abseil-cpp) >= v20230117 is required to be installed before building Protocol Buffers >22.x on the fly.")
|
||||||
|
endif()
|
||||||
message(STATUS " Instead, Protocol Buffers v21.12 will be built, which does not require Abseil.")
|
message(STATUS " Instead, Protocol Buffers v21.12 will be built, which does not require Abseil.")
|
||||||
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "21.12")
|
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "21.12")
|
||||||
endif()
|
endif()
|
||||||
@ -2768,8 +2896,8 @@ if((NOT Protobuf_FOUND) OR (NOT Protobuf_PROTOC_EXECUTABLE) OR (${Protobuf_VERSI
|
|||||||
|
|
||||||
if(NOT TARGET protobuf::protoc)
|
if(NOT TARGET protobuf::protoc)
|
||||||
add_executable(protobuf::protoc IMPORTED)
|
add_executable(protobuf::protoc IMPORTED)
|
||||||
add_dependencies(protobuf::protoc protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION})
|
|
||||||
endif()
|
endif()
|
||||||
|
add_dependencies(protobuf::protoc protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION})
|
||||||
unset(Protobuf_PROTOC_EXECUTABLE)
|
unset(Protobuf_PROTOC_EXECUTABLE)
|
||||||
set(PROTOBUF_PROTOC_EXECUTABLE "${GNSSSDR_BINARY_DIR}/protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION}/bin/protoc")
|
set(PROTOBUF_PROTOC_EXECUTABLE "${GNSSSDR_BINARY_DIR}/protobuf-${GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION}/bin/protoc")
|
||||||
set_target_properties(protobuf::protoc PROPERTIES
|
set_target_properties(protobuf::protoc PROPERTIES
|
||||||
@ -3443,8 +3571,10 @@ add_feature_info(ENABLE_FPGA ENABLE_FPGA "Enables building of processing blocks
|
|||||||
add_feature_info(ENABLE_ARMA_NO_DEBUG ENABLE_ARMA_NO_DEBUG "Enables passing the ARMA_NO_DEBUG macro to Armadillo, hence disabling bound checking.")
|
add_feature_info(ENABLE_ARMA_NO_DEBUG ENABLE_ARMA_NO_DEBUG "Enables passing the ARMA_NO_DEBUG macro to Armadillo, hence disabling bound checking.")
|
||||||
add_feature_info(ENABLE_PACKAGING ENABLE_PACKAGING "Enables software packaging.")
|
add_feature_info(ENABLE_PACKAGING ENABLE_PACKAGING "Enables software packaging.")
|
||||||
add_feature_info(ENABLE_OWN_GLOG ENABLE_OWN_GLOG "Forces the downloading and building of Google glog.")
|
add_feature_info(ENABLE_OWN_GLOG ENABLE_OWN_GLOG "Forces the downloading and building of Google glog.")
|
||||||
|
add_feature_info(ENABLE_GLOG_AND_GFLAGS ENABLE_GLOG_AND_GFLAGS "Forces the usage of Google glog and Gflags instead of Abseil.")
|
||||||
|
add_feature_info(ENABLE_OWN_ABSEIL ENABLE_OWN_ABSEIL "Forces downloading and building Abseil. Supersedes ENABLE_OWN_GLOG.")
|
||||||
add_feature_info(ENABLE_OWN_ARMADILLO ENABLE_OWN_ARMADILLO "Forces the downloading and building of Armadillo.")
|
add_feature_info(ENABLE_OWN_ARMADILLO ENABLE_OWN_ARMADILLO "Forces the downloading and building of Armadillo.")
|
||||||
add_feature_info(ENABLE_LOG ENABLE_LOG "Enables runtime internal logging with Google glog.")
|
add_feature_info(ENABLE_LOG ENABLE_LOG "Enables runtime internal logging.")
|
||||||
add_feature_info(ENABLE_ORC ENABLE_ORC "Use the Optimized Inner Loop Runtime Compiler (ORC) for building volk_gnsssdr.")
|
add_feature_info(ENABLE_ORC ENABLE_ORC "Use the Optimized Inner Loop Runtime Compiler (ORC) for building volk_gnsssdr.")
|
||||||
add_feature_info(ENABLE_STRIP ENABLE_STRIP "Enables the generation of stripped binaries (without debugging symbols).")
|
add_feature_info(ENABLE_STRIP ENABLE_STRIP "Enables the generation of stripped binaries (without debugging symbols).")
|
||||||
add_feature_info(ENABLE_UNIT_TESTING ENABLE_UNIT_TESTING "Enables building of Unit Tests.")
|
add_feature_info(ENABLE_UNIT_TESTING ENABLE_UNIT_TESTING "Enables building of Unit Tests.")
|
||||||
@ -3466,7 +3596,7 @@ message(STATUS "* SUMMARY REPORT *")
|
|||||||
message(STATUS "***************************************")
|
message(STATUS "***************************************")
|
||||||
message(STATUS "")
|
message(STATUS "")
|
||||||
if(CMAKE_CROSSCOMPILING)
|
if(CMAKE_CROSSCOMPILING)
|
||||||
message(STATUS "Cross-compiling on ${LINUX_DISTRIBUTION} ${LINUX_VER} (${CMAKE_HOST_SYSTEM_PROCESSOR}) for ${CMAKE_SYSTEM_PROCESSOR} ${ARCHITECTURE_STRING}")
|
message(STATUS "Cross-compiling on ${LINUX_DISTRIBUTION} ${LINUX_VER} (${CMAKE_HOST_SYSTEM_PROCESSOR}) for ${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
else()
|
else()
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|kFreeBSD|GNU")
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|kFreeBSD|GNU")
|
||||||
message(STATUS "Building on GNU/Linux ${LINUX_DISTRIBUTION} ${LINUX_VER} ${ARCHITECTURE_STRING}")
|
message(STATUS "Building on GNU/Linux ${LINUX_DISTRIBUTION} ${LINUX_VER} ${ARCHITECTURE_STRING}")
|
||||||
@ -3489,7 +3619,7 @@ file(APPEND ${GNSSSDR_BINARY_DIR}/features.log "********************************
|
|||||||
file(APPEND ${GNSSSDR_BINARY_DIR}/features.log "GNSS-SDR version: ${VERSION}\n")
|
file(APPEND ${GNSSSDR_BINARY_DIR}/features.log "GNSS-SDR version: ${VERSION}\n")
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|kFreeBSD|GNU")
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|kFreeBSD|GNU")
|
||||||
if(CMAKE_CROSSCOMPILING)
|
if(CMAKE_CROSSCOMPILING)
|
||||||
file(APPEND ${GNSSSDR_BINARY_DIR}/features.log "Cross-compiling on ${LINUX_DISTRIBUTION} ${LINUX_VER} (${CMAKE_HOST_SYSTEM_PROCESSOR}) for ${CMAKE_SYSTEM_PROCESSOR} ${ARCHITECTURE_STRING}\n")
|
file(APPEND ${GNSSSDR_BINARY_DIR}/features.log "Cross-compiling on ${LINUX_DISTRIBUTION} ${LINUX_VER} (${CMAKE_HOST_SYSTEM_PROCESSOR}) for ${CMAKE_SYSTEM_PROCESSOR}\n")
|
||||||
else()
|
else()
|
||||||
file(APPEND ${GNSSSDR_BINARY_DIR}/features.log "Building on GNU/Linux ${LINUX_DISTRIBUTION} ${LINUX_VER} ${ARCHITECTURE_STRING}\n")
|
file(APPEND ${GNSSSDR_BINARY_DIR}/features.log "Building on GNU/Linux ${LINUX_DISTRIBUTION} ${LINUX_VER} ${ARCHITECTURE_STRING}\n")
|
||||||
endif()
|
endif()
|
||||||
|
225
README.md
225
README.md
@ -59,60 +59,59 @@ information about this open-source, software-defined GNSS receiver.
|
|||||||
<summary><b>(click to expand)</b></summary>
|
<summary><b>(click to expand)</b></summary>
|
||||||
<!-- MarkdownTOC -->
|
<!-- MarkdownTOC -->
|
||||||
|
|
||||||
1. [Table of Contents](#table-of-contents)
|
- [Table of Contents](#table-of-contents)
|
||||||
2. [How to build GNSS-SDR](#how-to-build-gnss-sdr)
|
- [How to build GNSS-SDR](#how-to-build-gnss-sdr)
|
||||||
1. [GNU/Linux](#gnulinux)
|
- [GNU/Linux](#gnulinux)
|
||||||
1. [Alternative 1: Install dependencies using software packages](#alternative-1-install-dependencies-using-software-packages)
|
- [Alternative 1: Install dependencies using software packages](#alternative-1-install-dependencies-using-software-packages)
|
||||||
1. [Debian / Ubuntu](#debian--ubuntu)
|
- [Debian / Ubuntu](#debian--ubuntu)
|
||||||
2. [AlmaLinux](#almalinux)
|
- [AlmaLinux](#almalinux)
|
||||||
3. [Arch Linux](#arch-linux)
|
- [Arch Linux](#arch-linux)
|
||||||
4. [CentOS](#centos)
|
- [Fedora](#fedora)
|
||||||
5. [Fedora](#fedora)
|
- [openSUSE](#opensuse)
|
||||||
6. [openSUSE](#opensuse)
|
- [Rocky Linux](#rocky-linux)
|
||||||
7. [Rocky Linux](#rocky-linux)
|
- [Alternative 2: Install dependencies using PyBOMBS](#alternative-2-install-dependencies-using-pybombs)
|
||||||
2. [Alternative 2: Install dependencies using PyBOMBS](#alternative-2-install-dependencies-using-pybombs)
|
- [Manual installation of other required dependencies](#manual-installation-of-other-required-dependencies)
|
||||||
3. [Manual installation of other required dependencies](#manual-installation-of-other-required-dependencies)
|
- [Install Armadillo, a C++ linear algebra library](#install-armadillo-a-c-linear-algebra-library)
|
||||||
1. [Install Armadillo, a C++ linear algebra library](#install-armadillo-a-c-linear-algebra-library)
|
- [Install Gflags, a commandline flags processing module for C++](#install-gflags-a-commandline-flags-processing-module-for-c)
|
||||||
2. [Install Gflags, a commandline flags processing module for C++](#install-gflags-a-commandline-flags-processing-module-for-c)
|
- [Install Glog, a library that implements application-level logging](#install-glog-a-library-that-implements-application-level-logging)
|
||||||
3. [Install Glog, a library that implements application-level logging](#install-glog-a-library-that-implements-application-level-logging)
|
- [Install the GnuTLS or OpenSSL libraries](#install-the-gnutls-or-openssl-libraries)
|
||||||
4. [Install the GnuTLS or OpenSSL libraries](#install-the-gnutls-or-openssl-libraries)
|
- [Install Matio, MATLAB MAT file I/O library](#install-matio-matlab-mat-file-io-library)
|
||||||
5. [Install Matio, MATLAB MAT file I/O library](#install-matio-matlab-mat-file-io-library)
|
- [Install Protocol Buffers, a portable mechanism for serialization of structured data](#install-protocol-buffers-a-portable-mechanism-for-serialization-of-structured-data)
|
||||||
6. [Install Protocol Buffers, a portable mechanism for serialization of structured data](#install-protocol-buffers-a-portable-mechanism-for-serialization-of-structured-data)
|
- [Install Pugixml, a light-weight C++ XML processing library](#install-pugixml-a-light-weight-c-xml-processing-library)
|
||||||
7. [Install Pugixml, a light-weight C++ XML processing library](#install-pugixml-a-light-weight-c-xml-processing-library)
|
- [Download GoogleTest](#download-googletest)
|
||||||
8. [Download GoogleTest](#download-googletest)
|
- [Clone GNSS-SDR's Git repository](#clone-gnss-sdrs-git-repository)
|
||||||
4. [Clone GNSS-SDR's Git repository](#clone-gnss-sdrs-git-repository)
|
- [Build and install GNSS-SDR](#build-and-install-gnss-sdr)
|
||||||
5. [Build and install GNSS-SDR](#build-and-install-gnss-sdr)
|
- [Build OSMOSDR support (OPTIONAL)](#build-osmosdr-support-optional)
|
||||||
1. [Build OSMOSDR support (OPTIONAL)](#build-osmosdr-support-optional)
|
- [Build FMCOMMS2 based SDR Hardware support (OPTIONAL)](#build-fmcomms2-based-sdr-hardware-support-optional)
|
||||||
2. [Build FMCOMMS2 based SDR Hardware support (OPTIONAL)](#build-fmcomms2-based-sdr-hardware-support-optional)
|
- [Build OpenCL support (OPTIONAL)](#build-opencl-support-optional)
|
||||||
3. [Build OpenCL support (OPTIONAL)](#build-opencl-support-optional)
|
- [Build CUDA support (OPTIONAL)](#build-cuda-support-optional)
|
||||||
4. [Build CUDA support (OPTIONAL)](#build-cuda-support-optional)
|
- [macOS](#macos)
|
||||||
2. [macOS](#macos)
|
- [Macports](#macports)
|
||||||
1. [Macports](#macports)
|
- [Homebrew](#homebrew)
|
||||||
2. [Homebrew](#homebrew)
|
- [Other package managers](#other-package-managers)
|
||||||
3. [Other package managers](#other-package-managers)
|
- [Build GNSS-SDR](#build-gnss-sdr)
|
||||||
4. [Build GNSS-SDR](#build-gnss-sdr)
|
- [Other builds](#other-builds)
|
||||||
3. [Other builds](#other-builds)
|
- [Updating GNSS-SDR](#updating-gnss-sdr)
|
||||||
3. [Updating GNSS-SDR](#updating-gnss-sdr)
|
- [Getting started](#getting-started)
|
||||||
4. [Getting started](#getting-started)
|
- [Using GNSS-SDR](#using-gnss-sdr)
|
||||||
5. [Using GNSS-SDR](#using-gnss-sdr)
|
- [Control plane](#control-plane)
|
||||||
1. [Control plane](#control-plane)
|
- [Configuration](#configuration)
|
||||||
1. [Configuration](#configuration)
|
- [GNSS block factory](#gnss-block-factory)
|
||||||
2. [GNSS block factory](#gnss-block-factory)
|
- [Signal Processing plane](#signal-processing-plane)
|
||||||
2. [Signal Processing plane](#signal-processing-plane)
|
- [Signal Source](#signal-source)
|
||||||
1. [Signal Source](#signal-source)
|
- [Signal Conditioner](#signal-conditioner)
|
||||||
2. [Signal Conditioner](#signal-conditioner)
|
- [Data type adapter](#data-type-adapter)
|
||||||
1. [Data type adapter](#data-type-adapter)
|
- [Input filter](#input-filter)
|
||||||
2. [Input filter](#input-filter)
|
- [Resampler](#resampler)
|
||||||
3. [Resampler](#resampler)
|
- [Channel](#channel)
|
||||||
3. [Channel](#channel)
|
- [Acquisition](#acquisition)
|
||||||
1. [Acquisition](#acquisition)
|
- [Tracking](#tracking)
|
||||||
2. [Tracking](#tracking)
|
- [Decoding of the navigation message](#decoding-of-the-navigation-message)
|
||||||
3. [Decoding of the navigation message](#decoding-of-the-navigation-message)
|
- [Observables](#observables)
|
||||||
4. [Observables](#observables)
|
- [Computation of Position, Velocity, and Time](#computation-of-position-velocity-and-time)
|
||||||
5. [Computation of Position, Velocity, and Time](#computation-of-position-velocity-and-time)
|
- [About the software license](#about-the-software-license)
|
||||||
6. [About the software license](#about-the-software-license)
|
- [Publications and Credits](#publications-and-credits)
|
||||||
7. [Publications and Credits](#publications-and-credits)
|
- [Ok, now what?](#ok-now-what)
|
||||||
8. [Ok, now what?](#ok-now-what)
|
|
||||||
|
|
||||||
<!-- /MarkdownTOC -->
|
<!-- /MarkdownTOC -->
|
||||||
</details>
|
</details>
|
||||||
@ -126,7 +125,7 @@ This section describes how to set up the compilation environment in GNU/Linux or
|
|||||||
## GNU/Linux
|
## GNU/Linux
|
||||||
|
|
||||||
- Tested distributions: Ubuntu 14.04 LTS and above; Debian 9.0 "stretch" and
|
- Tested distributions: Ubuntu 14.04 LTS and above; Debian 9.0 "stretch" and
|
||||||
above; Arch Linux; CentOS 7; Fedora 26 and above; OpenSUSE 42.3 and above.
|
above; Arch Linux; Fedora 26 and above; OpenSUSE 42.3 and above.
|
||||||
- Supported microprocessor architectures:
|
- Supported microprocessor architectures:
|
||||||
- i386: Intel x86 instruction set (32-bit microprocessors).
|
- i386: Intel x86 instruction set (32-bit microprocessors).
|
||||||
- amd64: also known as x86-64, the 64-bit version of the x86 instruction set,
|
- amd64: also known as x86-64, the 64-bit version of the x86 instruction set,
|
||||||
@ -222,28 +221,9 @@ Once you have installed these packages, you can jump directly to
|
|||||||
If you are using Arch Linux:
|
If you are using Arch Linux:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ pacman -S gcc make cmake pkgconf git boost boost-libs log4cpp libvolk gnuradio \
|
$ pacman -S gcc make cmake pkgconf git boost boost-libs libvolk gnuradio \
|
||||||
blas lapack gflags google-glog openssl pugixml libmatio protobuf \
|
blas lapack hdf5 openssl pugixml libmatio protobuf libpcap gtest \
|
||||||
python-mako libpcap gtest
|
python-mako
|
||||||
```
|
|
||||||
|
|
||||||
Once you have installed these packages, you can jump directly to
|
|
||||||
[download the source code and build GNSS-SDR](#clone-gnss-sdrs-git-repository).
|
|
||||||
|
|
||||||
#### CentOS
|
|
||||||
|
|
||||||
If you are using CentOS 7, you can install the dependencies via Extra Packages
|
|
||||||
for Enterprise Linux ([EPEL](https://fedoraproject.org/wiki/EPEL)):
|
|
||||||
|
|
||||||
```
|
|
||||||
$ sudo yum install wget
|
|
||||||
$ wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
|
||||||
$ sudo rpm -Uvh epel-release-latest-7.noarch.rpm
|
|
||||||
$ sudo yum install make automake gcc gcc-c++ kernel-devel libtool \
|
|
||||||
hdf5-devel cmake git boost-devel boost-date-time boost-system \
|
|
||||||
boost-filesystem boost-thread boost-chrono boost-serialization \
|
|
||||||
log4cpp-devel gnuradio-devel gr-osmosdr-devel blas-devel lapack-devel \
|
|
||||||
armadillo-devel openssl-devel libpcap-devel python-mako python-six pugixml-devel
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Once you have installed these packages, you can jump directly to
|
Once you have installed these packages, you can jump directly to
|
||||||
@ -278,7 +258,7 @@ $ zypper install cmake git gcc-c++ boost-devel libboost_atomic-devel \
|
|||||||
libboost_system-devel libboost_filesystem-devel libboost_chrono-devel \
|
libboost_system-devel libboost_filesystem-devel libboost_chrono-devel \
|
||||||
libboost_thread-devel libboost_serialization-devel log4cpp-devel \
|
libboost_thread-devel libboost_serialization-devel log4cpp-devel \
|
||||||
gnuradio-devel pugixml-devel libpcap-devel armadillo-devel libtool \
|
gnuradio-devel pugixml-devel libpcap-devel armadillo-devel libtool \
|
||||||
automake hdf5-devel openssl-devel python3-Mako protobuf-devel
|
automake hdf5-devel openssl-devel python3-Mako libmatio-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
If you are using openSUSE Tumbleweed:
|
If you are using openSUSE Tumbleweed:
|
||||||
@ -396,16 +376,16 @@ or manually as explained below, and then please follow instructions on how to
|
|||||||
|
|
||||||
### Manual installation of other required dependencies
|
### Manual installation of other required dependencies
|
||||||
|
|
||||||
#### Install [Armadillo](http://arma.sourceforge.net/ "Armadillo's Homepage"), a C++ linear algebra library
|
#### Install [Armadillo](https://arma.sourceforge.net/ "Armadillo's Homepage"), a C++ linear algebra library
|
||||||
|
|
||||||
```
|
```
|
||||||
$ sudo apt-get install libblas-dev liblapack-dev # For Debian/Ubuntu/LinuxMint
|
$ sudo apt-get install libblas-dev liblapack-dev # For Debian/Ubuntu/LinuxMint
|
||||||
$ sudo yum install lapack-devel blas-devel # For Fedora/CentOS/RHEL
|
$ sudo yum install lapack-devel blas-devel # For Fedora/RHEL
|
||||||
$ sudo zypper install lapack-devel blas-devel # For OpenSUSE
|
$ sudo zypper install lapack-devel blas-devel # For OpenSUSE
|
||||||
$ sudo pacman -S blas lapack # For Arch Linux
|
$ sudo pacman -S blas lapack # For Arch Linux
|
||||||
$ wget https://sourceforge.net/projects/arma/files/armadillo-12.0.1.tar.xz
|
$ wget https://sourceforge.net/projects/arma/files/armadillo-14.0.0.tar.xz
|
||||||
$ tar xvfz armadillo-12.0.1.tar.xz
|
$ tar xvfz armadillo-14.0.0.tar.xz
|
||||||
$ cd armadillo-12.0.1
|
$ cd armadillo-14.0.0
|
||||||
$ cmake .
|
$ cmake .
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
@ -430,12 +410,16 @@ $ sudo make install
|
|||||||
$ sudo ldconfig
|
$ sudo ldconfig
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Please note that GFlags is replaced by the
|
||||||
|
[Abseil Flags Library](https://abseil.io/docs/cpp/guides/flags) if Abseil >=
|
||||||
|
v20240116 is available in your system.
|
||||||
|
|
||||||
#### Install [Glog](https://github.com/google/glog "Glog's Homepage"), a library that implements application-level logging
|
#### Install [Glog](https://github.com/google/glog "Glog's Homepage"), a library that implements application-level logging
|
||||||
|
|
||||||
```
|
```
|
||||||
$ wget https://github.com/google/glog/archive/v0.6.0.tar.gz
|
$ wget https://github.com/google/glog/archive/v0.7.1.tar.gz
|
||||||
$ tar xvfz v0.6.0.tar.gz
|
$ tar xvfz v0.7.1.tar.gz
|
||||||
$ cd glog-0.6.0
|
$ cd glog-0.7.1
|
||||||
$ mkdir build && cd build
|
$ mkdir build && cd build
|
||||||
$ cmake ..
|
$ cmake ..
|
||||||
$ make
|
$ make
|
||||||
@ -443,11 +427,15 @@ $ sudo make install
|
|||||||
$ sudo ldconfig
|
$ sudo ldconfig
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Please note that Glog is replaced by the
|
||||||
|
[Abseil Logging Library](https://abseil.io/docs/cpp/guides/logging) if Abseil >=
|
||||||
|
v20240116 is available in your system.
|
||||||
|
|
||||||
#### Install the GnuTLS or OpenSSL libraries
|
#### Install the GnuTLS or OpenSSL libraries
|
||||||
|
|
||||||
```
|
```
|
||||||
$ sudo apt-get install libgnutls-openssl-dev # For Debian/Ubuntu/LinuxMint
|
$ sudo apt-get install libgnutls-openssl-dev # For Debian/Ubuntu/LinuxMint
|
||||||
$ sudo yum install openssl-devel # For Fedora/CentOS/RHEL
|
$ sudo yum install openssl-devel # For Fedora/RHEL
|
||||||
$ sudo zypper install openssl-devel # For OpenSUSE
|
$ sudo zypper install openssl-devel # For OpenSUSE
|
||||||
$ sudo pacman -S openssl # For Arch Linux
|
$ sudo pacman -S openssl # For Arch Linux
|
||||||
```
|
```
|
||||||
@ -460,16 +448,16 @@ GNSS-SDR can also work well with
|
|||||||
#### Install [Matio](https://github.com/tbeu/matio "Matio's Homepage"), MATLAB MAT file I/O library
|
#### Install [Matio](https://github.com/tbeu/matio "Matio's Homepage"), MATLAB MAT file I/O library
|
||||||
|
|
||||||
```
|
```
|
||||||
$ wget https://github.com/tbeu/matio/releases/download/v1.5.23/matio-1.5.23.tar.gz
|
$ wget https://github.com/tbeu/matio/releases/download/v1.5.26/matio-1.5.27.tar.gz
|
||||||
$ tar xvfz matio-1.5.23.tar.gz
|
$ tar xvfz matio-1.5.27.tar.gz
|
||||||
$ cd matio-1.5.23
|
$ cd matio-1.5.27
|
||||||
$ ./configure
|
$ ./configure
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
$ sudo ldconfig
|
$ sudo ldconfig
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Install [Protocol Buffers](https://developers.google.com/protocol-buffers/ "Protocol Buffers' Homepage"), a portable mechanism for serialization of structured data
|
#### Install [Protocol Buffers](https://protobuf.dev/ "Protocol Buffers' Homepage"), a portable mechanism for serialization of structured data
|
||||||
|
|
||||||
GNSS-SDR requires Protocol Buffers v3.0.0 or later. If the packages that come
|
GNSS-SDR requires Protocol Buffers v3.0.0 or later. If the packages that come
|
||||||
with your distribution are older than that (_e.g._, Ubuntu 16.04 Xenial came
|
with your distribution are older than that (_e.g._, Ubuntu 16.04 Xenial came
|
||||||
@ -489,9 +477,9 @@ For more options, please check the
|
|||||||
#### Install [Pugixml](https://pugixml.org/ "Pugixml's Homepage"), a light-weight C++ XML processing library
|
#### Install [Pugixml](https://pugixml.org/ "Pugixml's Homepage"), a light-weight C++ XML processing library
|
||||||
|
|
||||||
```
|
```
|
||||||
$ wget https://github.com/zeux/pugixml/releases/download/v1.13/pugixml-1.13.tar.gz
|
$ wget https://github.com/zeux/pugixml/releases/download/v1.14/pugixml-1.14.tar.gz
|
||||||
$ tar xvfz pugixml-1.13.tar.gz
|
$ tar xvfz pugixml-1.14.tar.gz
|
||||||
$ cd pugixml-1.13
|
$ cd pugixml-1.14
|
||||||
$ mkdir build && cd build
|
$ mkdir build && cd build
|
||||||
$ cmake ..
|
$ cmake ..
|
||||||
$ make
|
$ make
|
||||||
@ -502,8 +490,8 @@ $ sudo ldconfig
|
|||||||
#### Download [GoogleTest](https://github.com/google/googletest "Googletest Homepage")
|
#### Download [GoogleTest](https://github.com/google/googletest "Googletest Homepage")
|
||||||
|
|
||||||
```
|
```
|
||||||
$ wget https://github.com/google/googletest/archive/refs/tags/v1.13.0.zip
|
$ wget https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip
|
||||||
$ unzip v1.13.0.zip
|
$ unzip v1.14.0.zip
|
||||||
```
|
```
|
||||||
|
|
||||||
Please **DO NOT build or install** Google Test. Every user needs to compile
|
Please **DO NOT build or install** Google Test. Every user needs to compile
|
||||||
@ -527,10 +515,10 @@ downloaded resides. Just type in your terminal (or add it to your
|
|||||||
`$HOME/.bashrc` file for a permanent solution) the following line:
|
`$HOME/.bashrc` file for a permanent solution) the following line:
|
||||||
|
|
||||||
```
|
```
|
||||||
export GTEST_DIR=/home/username/googletest-1.13.0
|
export GTEST_DIR=/home/username/googletest-1.14.0
|
||||||
```
|
```
|
||||||
|
|
||||||
changing `/home/username/googletest-1.13.0` by the actual path where you
|
changing `/home/username/googletest-1.14.0` by the actual path where you
|
||||||
unpacked Google Test. If the CMake script does not find that folder, or the
|
unpacked Google Test. If the CMake script does not find that folder, or the
|
||||||
environment variable is not defined, or the source code is not installed by a
|
environment variable is not defined, or the source code is not installed by a
|
||||||
package, then it will download a fresh copy of the Google Test source code and
|
package, then it will download a fresh copy of the Google Test source code and
|
||||||
@ -832,7 +820,7 @@ $ sudo port selfupdate
|
|||||||
$ sudo port upgrade outdated
|
$ sudo port upgrade outdated
|
||||||
$ sudo port install armadillo cmake pkgconfig protobuf3-cpp pugixml gnutls
|
$ sudo port install armadillo cmake pkgconfig protobuf3-cpp pugixml gnutls
|
||||||
$ sudo port install gnuradio +uhd +grc +zeromq
|
$ sudo port install gnuradio +uhd +grc +zeromq
|
||||||
$ sudo port install boost matio libad9361-iio libiio google-glog +gflags
|
$ sudo port install boost matio libad9361-iio libiio
|
||||||
$ sudo port install py311-mako
|
$ sudo port install py311-mako
|
||||||
$ sudo port install doxygen +docs
|
$ sudo port install doxygen +docs
|
||||||
```
|
```
|
||||||
@ -867,22 +855,14 @@ $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/inst
|
|||||||
The script explains what it will do, and then it pauses before doing it. There
|
The script explains what it will do, and then it pauses before doing it. There
|
||||||
are more installation options [here](https://docs.brew.sh/Installation.html).
|
are more installation options [here](https://docs.brew.sh/Installation.html).
|
||||||
|
|
||||||
Install pip3:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
|
||||||
$ sudo python3 get-pip.py
|
|
||||||
```
|
|
||||||
|
|
||||||
Install the required dependencies:
|
Install the required dependencies:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ brew update && brew upgrade
|
$ brew update && brew upgrade
|
||||||
$ brew install armadillo cmake hdf5 gflags glog gnuradio libmatio log4cpp \
|
$ brew install armadillo cmake hdf5 gnuradio libmatio openssl pkg-config protobuf pugixml
|
||||||
openssl pkg-config protobuf pugixml
|
|
||||||
$ pip3 install mako
|
|
||||||
$ brew install --cask mactex # when completed, restart Terminal
|
$ brew install --cask mactex # when completed, restart Terminal
|
||||||
$ brew install graphviz doxygen
|
$ brew install graphviz doxygen
|
||||||
|
¢ pip3 install mako
|
||||||
```
|
```
|
||||||
|
|
||||||
For macOS versions older than Sonoma, you will also need LAPACK:
|
For macOS versions older than Sonoma, you will also need LAPACK:
|
||||||
@ -894,7 +874,7 @@ $ brew install lapack
|
|||||||
### Other package managers
|
### Other package managers
|
||||||
|
|
||||||
GNU Radio and other dependencies can also be installed using other package
|
GNU Radio and other dependencies can also be installed using other package
|
||||||
managers than Macports, such as [Fink](http://www.finkproject.org/ "Fink").
|
managers than Macports, such as [Fink](https://www.finkproject.org/ "Fink").
|
||||||
Since the version of Python that ships with OS X is great for learning but it is
|
Since the version of Python that ships with OS X is great for learning but it is
|
||||||
not good for development, you could have another Python executable in a
|
not good for development, you could have another Python executable in a
|
||||||
non-standard location. If that is the case, you need to inform GNSS-SDR's
|
non-standard location. If that is the case, you need to inform GNSS-SDR's
|
||||||
@ -984,7 +964,7 @@ do so.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
- **GNSS-SDR in embedded platforms**: we provide a Software Development Kit
|
- **GNSS-SDR in embedded platforms**: we provide a Software Development Kit
|
||||||
(SDK) based on [OpenEmbedded](http://www.openembedded.org/wiki/Main_Page) for
|
(SDK) based on [OpenEmbedded](https://www.openembedded.org/wiki/Main_Page) for
|
||||||
cross-compiling GNSS-SDR in your desktop computer and for producing
|
cross-compiling GNSS-SDR in your desktop computer and for producing
|
||||||
executables that can run in embedded platforms, such as Xilinx's Zynq and
|
executables that can run in embedded platforms, such as Xilinx's Zynq and
|
||||||
ZynqMP architectures, Raspberry Pi, and many others. Please check
|
ZynqMP architectures, Raspberry Pi, and many others. Please check
|
||||||
@ -1999,11 +1979,11 @@ PVT.rtcm_MT1077_rate_ms=1000
|
|||||||
Notation (JSON) supported by numerous mapping and GIS software packages,
|
Notation (JSON) supported by numerous mapping and GIS software packages,
|
||||||
including [OpenLayers](https://openlayers.org),
|
including [OpenLayers](https://openlayers.org),
|
||||||
[Leaflet](https://leafletjs.com), [MapServer](https://mapserver.org/),
|
[Leaflet](https://leafletjs.com), [MapServer](https://mapserver.org/),
|
||||||
[GeoServer](http://geoserver.org), [GeoDjango](https://www.djangoproject.com),
|
[GeoServer](https://geoserver.org/),
|
||||||
[GDAL](https://gdal.org/), and [CartoDB](https://cartodb.com). It is also
|
[GeoDjango](https://www.djangoproject.com), [GDAL](https://gdal.org/), and
|
||||||
possible to use GeoJSON with [PostGIS](https://postgis.net/) and
|
[CartoDB](https://cartodb.com). It is also possible to use GeoJSON with
|
||||||
[Mapnik](https://mapnik.org/), both of which handle the format via the GDAL
|
[PostGIS](https://postgis.net/) and [Mapnik](https://mapnik.org/), both of
|
||||||
OGR conversion library. The
|
which handle the format via the GDAL OGR conversion library. The
|
||||||
[Google Maps Javascript API](https://developers.google.com/maps/documentation/javascript/)
|
[Google Maps Javascript API](https://developers.google.com/maps/documentation/javascript/)
|
||||||
v3 directly supports the
|
v3 directly supports the
|
||||||
[integration of GeoJSON data layers](https://developers.google.com/maps/documentation/javascript/examples/layer-data-simple),
|
[integration of GeoJSON data layers](https://developers.google.com/maps/documentation/javascript/examples/layer-data-simple),
|
||||||
@ -2016,8 +1996,9 @@ PVT.rtcm_MT1077_rate_ms=1000
|
|||||||
(OGC KML), and it is maintained by the Open Geospatial Consortium, Inc. (OGC).
|
(OGC KML), and it is maintained by the Open Geospatial Consortium, Inc. (OGC).
|
||||||
KML files can be displayed in geobrowsers such as
|
KML files can be displayed in geobrowsers such as
|
||||||
[Google Earth](https://www.google.com/earth/),
|
[Google Earth](https://www.google.com/earth/),
|
||||||
[Marble](https://marble.kde.org), [osgEarth](http://osgearth.org), or used
|
[Marble](https://marble.kde.org),
|
||||||
with the [NASA World Wind SDK for Java](https://worldwind.arc.nasa.gov/java/).
|
[osgEarth](https://github.com/gwaldron/osgearth), or used with the
|
||||||
|
[NASA World Wind SDK for Java](https://worldwind.arc.nasa.gov/java/).
|
||||||
|
|
||||||
- **GPX** (the GPS Exchange Format) is a lightweight XML data format for the
|
- **GPX** (the GPS Exchange Format) is a lightweight XML data format for the
|
||||||
interchange of GPS data (waypoints, routes, and tracks) between applications
|
interchange of GPS data (waypoints, routes, and tracks) between applications
|
||||||
@ -2052,9 +2033,11 @@ PVT.rtcm_MT1077_rate_ms=1000
|
|||||||
(usually with other data unknown to the original receiver, such as better
|
(usually with other data unknown to the original receiver, such as better
|
||||||
models of the atmospheric conditions at time of measurement). RINEX files can
|
models of the atmospheric conditions at time of measurement). RINEX files can
|
||||||
be used by software packages such as
|
be used by software packages such as
|
||||||
[GNSSTK](https://github.com/SGL-UT/gnsstk), [RTKLIB](http://www.rtklib.com/),
|
[GNSSTK](https://github.com/SGL-UT/gnsstk), [RTKLIB](https://www.rtklib.com/),
|
||||||
and [gLAB](https://gage.upc.edu/gLAB/). GNSS-SDR by default generates RINEX
|
and
|
||||||
version [3.02](ftp://igs.org/pub/data/format/rinex302.pdf). If
|
[gLAB](https://gage.upc.edu/en/learning-materials/software-tools/glab-tool-suite).
|
||||||
|
GNSS-SDR by default generates RINEX version
|
||||||
|
[3.02](ftp://igs.org/pub/data/format/rinex302.pdf). If
|
||||||
[2.11](ftp://igs.org/pub/data/format/rinex211.txt) is needed, it can be
|
[2.11](ftp://igs.org/pub/data/format/rinex211.txt) is needed, it can be
|
||||||
requested through the `rinex_version` parameter in the configuration file:
|
requested through the `rinex_version` parameter in the configuration file:
|
||||||
|
|
||||||
|
@ -4,11 +4,15 @@
|
|||||||
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
# SPDX-FileCopyrightText: 2011-2020 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
|
if(CMAKE_VERSION VERSION_LESS 3.19)
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
set(ARCHITECTURE_STRING "(64 bits)")
|
set(ARCHITECTURE_STRING "(64 bits)")
|
||||||
else()
|
else()
|
||||||
set(ARCHITECTURE_STRING "(32 bits)")
|
set(ARCHITECTURE_STRING "(32 bits)")
|
||||||
endif()
|
endif()
|
||||||
|
else()
|
||||||
|
set(ARCHITECTURE_STRING "(${CMAKE_HOST_SYSTEM_PROCESSOR})")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(EXISTS "/etc/lsb-release")
|
if(EXISTS "/etc/lsb-release")
|
||||||
execute_process(COMMAND cat /etc/lsb-release
|
execute_process(COMMAND cat /etc/lsb-release
|
||||||
|
@ -34,6 +34,7 @@ find_library(CPUFEATURES_LIBRARIES
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/alpha-linux-gnu
|
/usr/lib/alpha-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -78,6 +78,7 @@ else()
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/alpha-linux-gnu
|
/usr/lib/alpha-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -55,6 +55,7 @@ find_library(GFORTRAN NAMES gfortran
|
|||||||
/usr/lib/gcc/sh4-linux-gnu
|
/usr/lib/gcc/sh4-linux-gnu
|
||||||
/usr/lib/gcc/i686-redhat-linux # Fedora
|
/usr/lib/gcc/i686-redhat-linux # Fedora
|
||||||
/usr/lib64/gcc/x86_64-redhat-linux
|
/usr/lib64/gcc/x86_64-redhat-linux
|
||||||
|
/usr/lib/gcc/x86_64-redhat-linux
|
||||||
/usr/lib/gcc/armv7hl-redhat-linux-gnueabi
|
/usr/lib/gcc/armv7hl-redhat-linux-gnueabi
|
||||||
/usr/lib/gcc/aarch64-redhat-linux
|
/usr/lib/gcc/aarch64-redhat-linux
|
||||||
/usr/lib/gcc/ppc64le-redhat-linux
|
/usr/lib/gcc/ppc64le-redhat-linux
|
||||||
@ -89,6 +90,7 @@ find_library(GFORTRAN NAMES gfortran
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/alpha-linux-gnu
|
/usr/lib/alpha-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/usr/local/lib/i386
|
/usr/local/lib/i386
|
||||||
|
@ -71,6 +71,7 @@ macro(_FIND_GLOG_LIBRARIES _var)
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/alpha-linux-gnu
|
/usr/lib/alpha-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
@ -178,3 +179,8 @@ if(GLOG_FOUND AND NOT TARGET Glog::glog)
|
|||||||
INTERFACE_LINK_LIBRARIES "${GLOG_LIBRARIES}"
|
INTERFACE_LINK_LIBRARIES "${GLOG_LIBRARIES}"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Fix for glog 0.7.0
|
||||||
|
if(EXISTS ${GLOG_INCLUDE_DIRS}/export.h)
|
||||||
|
set_target_properties(Glog::glog PROPERTIES INTERFACE_COMPILE_DEFINITIONS "GLOG_USE_GLOG_EXPORT")
|
||||||
|
endif()
|
@ -131,6 +131,7 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/alpha-linux-gnu
|
/usr/lib/alpha-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -96,6 +96,7 @@ find_library(IIO_LIBRARIES
|
|||||||
/usr/lib/sparc64-linux-gnu
|
/usr/lib/sparc64-linux-gnu
|
||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/sh4-linux-gnu
|
/usr/lib/sh4-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -96,6 +96,7 @@ find_library(GRLIMESDR_LIBRARIES
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
/usr/lib/alpha-linux-gnu
|
/usr/lib/alpha-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -96,6 +96,7 @@ find_library(GROSMOSDR_LIBRARIES
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
/usr/lib/alpha-linux-gnu
|
/usr/lib/alpha-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -75,6 +75,7 @@ find_library(LIBAD9361_LIBRARIES
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/sh4-linux-gnu
|
/usr/lib/sh4-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -77,6 +77,7 @@ find_library(
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/sh4-linux-gnu
|
/usr/lib/sh4-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -121,7 +121,7 @@ include(FindPackageHandleStandardArgs)
|
|||||||
find_package_handle_standard_args(LOG4CPP DEFAULT_MSG LOG4CPP_INCLUDE_DIRS LOG4CPP_LIBRARIES)
|
find_package_handle_standard_args(LOG4CPP DEFAULT_MSG LOG4CPP_INCLUDE_DIRS LOG4CPP_LIBRARIES)
|
||||||
|
|
||||||
set_package_properties(LOG4CPP PROPERTIES
|
set_package_properties(LOG4CPP PROPERTIES
|
||||||
URL "http://log4cpp.sourceforge.net/"
|
URL "https://log4cpp.sourceforge.net/"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(LOG4CPP_FOUND AND PC_LOG4CPP_VERSION)
|
if(LOG4CPP_FOUND AND PC_LOG4CPP_VERSION)
|
||||||
|
@ -108,6 +108,7 @@ find_library(MATIO_LIBRARY
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/x86_64-kfreebsd-gnu
|
/usr/lib/x86_64-kfreebsd-gnu
|
||||||
/usr/lib/i386-kfreebsd-gnu
|
/usr/lib/i386-kfreebsd-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -80,6 +80,8 @@ find_path(ORC_LIBRARY_DIR
|
|||||||
/usr/lib/powerpc64le-linux-gnu
|
/usr/lib/powerpc64le-linux-gnu
|
||||||
/usr/lib/hppa-linux-gnu
|
/usr/lib/hppa-linux-gnu
|
||||||
/usr/lib/s390x-linux-gnu
|
/usr/lib/s390x-linux-gnu
|
||||||
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
@ -106,6 +108,8 @@ find_library(ORC_LIB orc-0.4
|
|||||||
/usr/lib/powerpc64le-linux-gnu
|
/usr/lib/powerpc64le-linux-gnu
|
||||||
/usr/lib/hppa-linux-gnu
|
/usr/lib/hppa-linux-gnu
|
||||||
/usr/lib/s390x-linux-gnu
|
/usr/lib/s390x-linux-gnu
|
||||||
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
@ -134,6 +138,8 @@ find_library(ORC_LIBRARY_STATIC ${CMAKE_STATIC_LIBRARY_PREFIX}orc-0.4${CMAKE_STA
|
|||||||
/usr/lib/powerpc64le-linux-gnu
|
/usr/lib/powerpc64le-linux-gnu
|
||||||
/usr/lib/hppa-linux-gnu
|
/usr/lib/hppa-linux-gnu
|
||||||
/usr/lib/s390x-linux-gnu
|
/usr/lib/s390x-linux-gnu
|
||||||
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
# - Find pcap
|
# - Find pcap
|
||||||
# Find the PCAP includes and library
|
# Find the PCAP includes and library
|
||||||
# http://www.tcpdump.org/
|
# https://www.tcpdump.org/
|
||||||
#
|
#
|
||||||
# The environment variable PCAPDIR allows to specify where to find
|
# The environment variable PCAPDIR allows to specify where to find
|
||||||
# libpcap in non standard location.
|
# libpcap in non standard location.
|
||||||
@ -105,6 +105,7 @@ else()
|
|||||||
/usr/lib/powerpc64-linux-gnu
|
/usr/lib/powerpc64-linux-gnu
|
||||||
/usr/lib/powerpc64le-linux-gnu
|
/usr/lib/powerpc64le-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/lib/s390x-linux-gnu
|
/usr/lib/s390x-linux-gnu
|
||||||
/usr/lib/sh4-linux-gnu
|
/usr/lib/sh4-linux-gnu
|
||||||
/usr/lib/sparc64-linux-gnu
|
/usr/lib/sparc64-linux-gnu
|
||||||
|
@ -88,6 +88,7 @@ find_library(PUGIXML_LIBRARY
|
|||||||
/usr/lib/sparc64-linux-gnu
|
/usr/lib/sparc64-linux-gnu
|
||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/lib/x86_64-kfreebsd-gnu
|
/usr/lib/x86_64-kfreebsd-gnu
|
||||||
/usr/lib/i386-kfreebsd-gnu
|
/usr/lib/i386-kfreebsd-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
|
@ -38,6 +38,7 @@ set(TELEORBIT_ROOT_USER_DEFINED
|
|||||||
find_path(TELEORBIT_INCLUDE_DIRS
|
find_path(TELEORBIT_INCLUDE_DIRS
|
||||||
NAMES teleorbit/api.h
|
NAMES teleorbit/api.h
|
||||||
HINTS ${PC_TELEORBIT_INCLUDEDIR}
|
HINTS ${PC_TELEORBIT_INCLUDEDIR}
|
||||||
|
PATH_SUFFIXES gnuradio
|
||||||
PATHS ${TELEORBIT_ROOT_USER_DEFINED}/include
|
PATHS ${TELEORBIT_ROOT_USER_DEFINED}/include
|
||||||
/usr/include
|
/usr/include
|
||||||
/usr/local/include
|
/usr/local/include
|
||||||
|
@ -86,6 +86,7 @@ find_library(UHD_LIBRARIES
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/alpha-linux-gnu
|
/usr/lib/alpha-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -83,6 +83,7 @@ find_library(VOLK_LIBRARIES
|
|||||||
/usr/lib/x86_64-linux-gnux32
|
/usr/lib/x86_64-linux-gnux32
|
||||||
/usr/lib/alpha-linux-gnu
|
/usr/lib/alpha-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib64
|
/usr/local/lib64
|
||||||
/opt/local/lib
|
/opt/local/lib
|
||||||
|
@ -46,6 +46,7 @@ find_library(ZEROMQ_LIBRARIES
|
|||||||
/usr/lib/powerpc64-linux-gnu
|
/usr/lib/powerpc64-linux-gnu
|
||||||
/usr/lib/powerpc64le-linux-gnu
|
/usr/lib/powerpc64le-linux-gnu
|
||||||
/usr/lib/riscv64-linux-gnu
|
/usr/lib/riscv64-linux-gnu
|
||||||
|
/usr/lib/loongarch64-linux-gnu
|
||||||
/usr/lib/s390x-linux-gnu
|
/usr/lib/s390x-linux-gnu
|
||||||
/usr/lib/sh4-linux-gnu
|
/usr/lib/sh4-linux-gnu
|
||||||
/usr/lib/sparc64-linux-gnu
|
/usr/lib/sparc64-linux-gnu
|
||||||
|
23
cmake/Modules/XcodeRemoveWarningDuplicates.cmake
Normal file
23
cmake/Modules/XcodeRemoveWarningDuplicates.cmake
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2011-2024 C. Fernandez-Prades cfernandez(at)cttc.es
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
|
if(DEFINED __INCLUDED_XCODE_REMOVE_WARNING_DUPLICATES_CMAKE)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
set(__INCLUDED_XCODE_REMOVE_WARNING_DUPLICATES_CMAKE TRUE)
|
||||||
|
|
||||||
|
function(xcode_remove_warning_duplicates target)
|
||||||
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
||||||
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "15.0.0")
|
||||||
|
# A bug in Xcode 15 adds duplicate flags to the linker. In addition, the
|
||||||
|
# `-warn_duplicate_libraries` is now enabled by default which may result
|
||||||
|
# in several 'duplicate libraries warning'.
|
||||||
|
# - https://gitlab.kitware.com/cmake/cmake/-/issues/25297 and
|
||||||
|
# - https://indiestack.com/2023/10/xcode-15-duplicate-library-linker-warnings/
|
||||||
|
target_link_options(${target} PUBLIC "LINKER:-no_warn_duplicate_libraries")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endfunction()
|
@ -0,0 +1,281 @@
|
|||||||
|
; This is a GNSS-SDR configuration file
|
||||||
|
; The configuration API is described at https://gnss-sdr.org/docs/sp-blocks/
|
||||||
|
; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
; SPDX-FileCopyrightText: (C) 2010-2020 (see AUTHORS file for a list of contributors)
|
||||||
|
|
||||||
|
; You can define your own receiver and invoke it by doing
|
||||||
|
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
|
||||||
|
;
|
||||||
|
|
||||||
|
[GNSS-SDR]
|
||||||
|
|
||||||
|
;######### GLOBAL OPTIONS ##################
|
||||||
|
GNSS-SDR.internal_fs_sps=8000000
|
||||||
|
GNSS-SDR.Beidou_banned_prns=56,57,58
|
||||||
|
|
||||||
|
|
||||||
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
|
SignalSource.implementation=Osmosdr_Signal_Source
|
||||||
|
SignalSource.item_type=gr_complex
|
||||||
|
SignalSource.sampling_frequency=56000000
|
||||||
|
SignalSource.freq=1584000000
|
||||||
|
SignalSource.osmosdr_args=uhd,type=b200,num_recv_frames=256
|
||||||
|
SignalSource.gain=50
|
||||||
|
SignalSource.antenna=TX/RX
|
||||||
|
SignalSource.if_bw=56000000
|
||||||
|
SignalSource.AGC_enabled=false
|
||||||
|
SignalSource.samples=0
|
||||||
|
SignalSource.repeat=false
|
||||||
|
SignalSource.RF_channels=3
|
||||||
|
SignalSource.enable_throttle_control=false
|
||||||
|
SignalSource.dump=false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||||
|
SignalConditioner0.implementation=Signal_Conditioner
|
||||||
|
SignalConditioner1.implementation=Signal_Conditioner
|
||||||
|
SignalConditioner2.implementation=Signal_Conditioner
|
||||||
|
|
||||||
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
|
DataTypeAdapter0.implementation=Pass_Through
|
||||||
|
DataTypeAdapter1.implementation=Pass_Through
|
||||||
|
DataTypeAdapter2.implementation=Pass_Through
|
||||||
|
|
||||||
|
;######### INPUT_FILTER CONFIG ############
|
||||||
|
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||||
|
InputFilter0.decimation_factor=7
|
||||||
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
InputFilter0.taps_item_type=float
|
||||||
|
InputFilter0.filter_type=lowpass
|
||||||
|
InputFilter0.bw=7000000
|
||||||
|
InputFilter0.tw=500000
|
||||||
|
InputFilter0.IF=-22902000
|
||||||
|
InputFilter0.sampling_frequency=56000000
|
||||||
|
InputFilter0.dump=false
|
||||||
|
InputFilter0.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
;######### INPUT_FILTER CONFIG ############
|
||||||
|
InputFilter1.implementation=Freq_Xlating_Fir_Filter
|
||||||
|
InputFilter1.decimation_factor=7
|
||||||
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
InputFilter1.taps_item_type=float
|
||||||
|
InputFilter1.filter_type=lowpass
|
||||||
|
InputFilter1.bw=7000000
|
||||||
|
InputFilter1.tw=500000
|
||||||
|
InputFilter1.IF=-8580000
|
||||||
|
InputFilter1.sampling_frequency=56000000
|
||||||
|
InputFilter1.dump=false
|
||||||
|
InputFilter1.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
;######### INPUT_FILTER CONFIG ############
|
||||||
|
InputFilter2.implementation=Freq_Xlating_Fir_Filter
|
||||||
|
InputFilter2.decimation_factor=7
|
||||||
|
InputFilter2.input_item_type=gr_complex
|
||||||
|
InputFilter2.output_item_type=gr_complex
|
||||||
|
InputFilter2.taps_item_type=float
|
||||||
|
InputFilter2.filter_type=lowpass
|
||||||
|
InputFilter2.bw=7000000
|
||||||
|
InputFilter2.tw=500000
|
||||||
|
InputFilter2.IF=18000000
|
||||||
|
InputFilter2.sampling_frequency=56000000
|
||||||
|
InputFilter2.dump=false
|
||||||
|
InputFilter2.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
;######### RESAMPLER CONFIG ############
|
||||||
|
Resampler0.implementation=Pass_Through
|
||||||
|
Resampler1.implementation=Pass_Through
|
||||||
|
Resampler2.implementation=Pass_Through
|
||||||
|
|
||||||
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
|
Channels_1B.count=10
|
||||||
|
Channels_1C.count=10
|
||||||
|
Channels_B1.count=14
|
||||||
|
Channels_1G.count=8
|
||||||
|
|
||||||
|
Channels_1B.RF_channel_ID=1
|
||||||
|
Channels_1C.RF_channel_ID=1
|
||||||
|
Channels_B1.RF_channel_ID=0
|
||||||
|
Channels_1G.RF_channel_ID=2
|
||||||
|
|
||||||
|
|
||||||
|
Channels.in_acquisition=2
|
||||||
|
|
||||||
|
;######### ACQUISITION BEIDOU CONFIG ############
|
||||||
|
Acquisition_B1.implementation=BEIDOU_B1I_PCPS_Acquisition
|
||||||
|
Acquisition_B1.item_type=gr_complex
|
||||||
|
Acquisition_B1.coherent_integration_time_ms=2
|
||||||
|
;Acquisition_B1.max_dwells=2
|
||||||
|
;Acquisition_B1.pfa=0.02
|
||||||
|
Acquisition_B1.pfa=0.000002
|
||||||
|
Acquisition_B1.doppler_max=6000
|
||||||
|
Acquisition_B1.doppler_step=100
|
||||||
|
Acquisition_B1.dump=false
|
||||||
|
Acquisition_B1.dump_filename=./bds_acq
|
||||||
|
;Acquisition_B1.blocking=true
|
||||||
|
Acquisition_B1.bit_transition_flag = false;
|
||||||
|
|
||||||
|
;######### ACQUISITION GPS CONFIG ############
|
||||||
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
|
Acquisition_1C.item_type=gr_complex
|
||||||
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
|
Acquisition_1C.pfa=0.015
|
||||||
|
Acquisition_1C.doppler_max=6000
|
||||||
|
Acquisition_1C.doppler_step=200
|
||||||
|
Acquisition_1C.max_dwells=4
|
||||||
|
;Acquisition_1C.blocking=true
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
;######### ACQUISITION GALILEO CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
||||||
|
Acquisition_1B.coherent_integration_time_ms=2
|
||||||
|
;Acquisition_1B.pfa=0.000008
|
||||||
|
Acquisition_1B.pfa=0.025
|
||||||
|
Acquisition_1B.doppler_max=6000
|
||||||
|
Acquisition_1B.doppler_step=200
|
||||||
|
Acquisition_1B.max_dwells=4
|
||||||
|
;Acquisition_1B.repeat_satellite=true
|
||||||
|
Acquisition_1B.cboc=true
|
||||||
|
;Acquisition_1B.blocking=true
|
||||||
|
Acquisition_1B.dump=false
|
||||||
|
Acquisition_1B.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
;######### ACQUISITION GLONASS CONFIG ############
|
||||||
|
Acquisition_1G.implementation=GLONASS_L1_CA_PCPS_Acquisition
|
||||||
|
Acquisition_1G.item_type=gr_complex
|
||||||
|
Acquisition_1G.coherent_integration_time_ms=1
|
||||||
|
Acquisition_1G.max_dwells=4
|
||||||
|
Acquisition_1G.pfa=0.02
|
||||||
|
Acquisition_1G.doppler_max=6000
|
||||||
|
Acquisition_1G.doppler_step=100
|
||||||
|
Acquisition_1G.dump=false
|
||||||
|
Acquisition_1G.dump_filename=./G1_acq
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;######### TRACKING BEIDOU CONFIG ############
|
||||||
|
Tracking_B1.implementation=BEIDOU_B1I_DLL_PLL_Tracking
|
||||||
|
Tracking_B1.item_type=gr_complex
|
||||||
|
Tracking_B1.extend_correlation_symbols=10
|
||||||
|
Tracking_B1.pll_bw_hz=50.0
|
||||||
|
Tracking_B1.dll_bw_hz=2.00
|
||||||
|
Tracking_B1.pll_bw_narrow_hz=15.0
|
||||||
|
Tracking_B1.dll_bw_narrow_hz=1.50
|
||||||
|
;Tracking_B1.cn0_min=20
|
||||||
|
;Tracking_B1.fll_bw_hz=20
|
||||||
|
;Tracking_B1.enable_fll_pull_in=true
|
||||||
|
;Tracking_B1.enable_fll_steady_state=false
|
||||||
|
Tracking_B1.dump=false
|
||||||
|
Tracking_B1.dump_filename=./epl_tracking_ch_
|
||||||
|
|
||||||
|
;######### TRACKING GPS CONFIG ############
|
||||||
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
|
Tracking_1C.item_type=gr_complex
|
||||||
|
Tracking_1C.extend_correlation_symbols=10
|
||||||
|
Tracking_1C.early_late_space_chips=0.5
|
||||||
|
Tracking_1C.early_late_space_narrow_chips=0.15
|
||||||
|
Tracking_1C.pll_bw_hz=30.0
|
||||||
|
Tracking_1C.dll_bw_hz=2.0
|
||||||
|
Tracking_1C.pll_bw_narrow_hz=10.0
|
||||||
|
Tracking_1C.dll_bw_narrow_hz=1.50
|
||||||
|
Tracking_1C.fll_bw_hz=10
|
||||||
|
Tracking_1C.enable_fll_pull_in=true
|
||||||
|
Tracking_1C.enable_fll_steady_state=false
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=tracking_ch_
|
||||||
|
|
||||||
|
;######### TRACKING GALILEO CONFIG ############
|
||||||
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
|
Tracking_1B.extend_correlation_symbols=4
|
||||||
|
Tracking_1B.item_type=gr_complex
|
||||||
|
Tracking_1B.pll_bw_hz=30.0
|
||||||
|
Tracking_1B.dll_bw_hz=2.0
|
||||||
|
Tracking_1B.pll_bw_narrow_hz=20.0
|
||||||
|
Tracking_1B.dll_bw_narrow_hz=1.50
|
||||||
|
Tracking_1B.track_pilot=true
|
||||||
|
Tracking_1B.enable_fll_pull_in=true;
|
||||||
|
Tracking_1B.enable_fll_steady_state=false
|
||||||
|
Tracking_1B.fll_bw_hz=20
|
||||||
|
|
||||||
|
;######### TRACKING GLONASS CONFIG ############
|
||||||
|
Tracking_1G.implementation=GLONASS_L1_CA_DLL_PLL_C_Aid_Tracking
|
||||||
|
Tracking_1G.item_type=gr_complex
|
||||||
|
Tracking_1G.pll_bw_hz=40
|
||||||
|
Tracking_1G.dll_bw_hz=2.5
|
||||||
|
Tracking_1G.extend_correlation_ms=1
|
||||||
|
Tracking_1G.pll_bw_narrow_hz=20
|
||||||
|
Tracking_1G.dll_bw_narrow_hz=1.5
|
||||||
|
Tracking_1G.dump=false
|
||||||
|
Tracking_1G.dump_filename=./epl_tracking_ch_
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;######### TELEMETRY DECODER BEIDOU CONFIG ############
|
||||||
|
TelemetryDecoder_B1.implementation=BEIDOU_B1I_Telemetry_Decoder
|
||||||
|
TelemetryDecoder_B1.dump=false
|
||||||
|
|
||||||
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
;######### TELEMETRY DECODER GALILEO E1B CONFIG ############
|
||||||
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
|
TelemetryDecoder_1B.dump=false
|
||||||
|
|
||||||
|
;######### TELEMETRY DECODER GLONASS CONFIG ############
|
||||||
|
TelemetryDecoder_1G.implementation=GLONASS_L1_CA_Telemetry_Decoder
|
||||||
|
TelemetryDecoder_1G.dump=false
|
||||||
|
|
||||||
|
|
||||||
|
;######### OBSERVABLES CONFIG ############
|
||||||
|
Observables.implementation=Hybrid_Observables
|
||||||
|
Observables.dump=false
|
||||||
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
;######### PVT CONFIG ############
|
||||||
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
PVT.threshold_reject_GDOP=100
|
||||||
|
PVT.elevation_mask=3
|
||||||
|
PVT.raim_fde=1
|
||||||
|
PVT.positioning_mode=Single ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
||||||
|
PVT.iono_model=Broadcast ; options: OFF, Broadcast, SBAS, Iono-Free-LC, Estimate_STEC, IONEX
|
||||||
|
PVT.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
|
||||||
|
PVT.output_rate_ms=100
|
||||||
|
PVT.display_rate_ms=500
|
||||||
|
PVT.enable_rx_clock_correction=true
|
||||||
|
PVT.flag_rtcm_server=true
|
||||||
|
PVT.flag_rtcm_tty_port=false
|
||||||
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
PVT.rtcm_tcp_port=2101
|
||||||
|
PVT.rtcm_MT1019_rate_ms=5000
|
||||||
|
PVT.rtcm_MT1077_rate_ms=1000
|
||||||
|
PVT.rinex_version=2
|
||||||
|
PVT.flag_nmea_tty_port=true
|
||||||
|
PVT.nmea_dump_devname=/dev/pts/3
|
||||||
|
|
||||||
|
; To use gpsd with GNSS-SDR
|
||||||
|
; 1. run socat -d -d pty,raw,echo=0 pty,raw,echo=0
|
||||||
|
; 2. Set PVT.nmea_dump_devname to first PTY from socat output
|
||||||
|
; 3. run gpsd -b -n -N /dev/pts/4
|
||||||
|
; where /dev/pts/4 is the second PTY from socat output
|
||||||
|
; 4. run some gpsd client (xgps or other)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PVT.enable_monitor=true
|
||||||
|
PVT.monitor_client_addresses=127.0.0.1
|
||||||
|
PVT.monitor_udp_port=1111
|
||||||
|
|
||||||
|
Monitor.enable_monitor=true
|
||||||
|
Monitor.decimation_factor=4
|
||||||
|
Monitor.client_addresses=127.0.0.1
|
||||||
|
Monitor.udp_port=1112
|
||||||
|
|
||||||
|
;AcquisitionMonitor.enable_monitor=true
|
||||||
|
AcquisitionMonitor.client_addresses=127.0.0.1
|
||||||
|
AcquisitionMonitor.udp_port=1112
|
||||||
|
|
||||||
|
|
@ -0,0 +1,237 @@
|
|||||||
|
; This is a GNSS-SDR configuration file
|
||||||
|
; The configuration API is described at https://gnss-sdr.org/docs/sp-blocks/
|
||||||
|
; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
; SPDX-FileCopyrightText: (C) 2010-2020 (see AUTHORS file for a list of contributors)
|
||||||
|
|
||||||
|
; You can define your own receiver and invoke it by doing
|
||||||
|
; gnss-sdr --config_file=my_GNSS_SDR_configuration.conf
|
||||||
|
;
|
||||||
|
|
||||||
|
[GNSS-SDR]
|
||||||
|
|
||||||
|
;######### GLOBAL OPTIONS ##################
|
||||||
|
GNSS-SDR.internal_fs_sps=4000000
|
||||||
|
GNSS-SDR.Beidou_banned_prns=56,57,58
|
||||||
|
|
||||||
|
|
||||||
|
;######### SIGNAL_SOURCE CONFIG ############
|
||||||
|
SignalSource.implementation=Osmosdr_Signal_Source
|
||||||
|
SignalSource.item_type=gr_complex
|
||||||
|
SignalSource.sampling_frequency=20000000
|
||||||
|
SignalSource.freq=1567420000
|
||||||
|
SignalSource.if_bw=18000000
|
||||||
|
;# Next line enables the internal HackRF One bias (3.3 VDC)
|
||||||
|
SignalSource.osmosdr_args=hackrf=0,bias=1,buffers=256
|
||||||
|
SignalSource.gain=0
|
||||||
|
SignalSource.rf_gain=40
|
||||||
|
SignalSource.if_gain=40
|
||||||
|
SignalSource.AGC_enabled=false
|
||||||
|
SignalSource.samples=0
|
||||||
|
SignalSource.repeat=false
|
||||||
|
SignalSource.RF_channels=2
|
||||||
|
SignalSource.enable_throttle_control=false
|
||||||
|
SignalSource.dump=false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;######### SIGNAL_CONDITIONER CONFIG ############
|
||||||
|
SignalConditioner0.implementation=Signal_Conditioner
|
||||||
|
SignalConditioner1.implementation=Signal_Conditioner
|
||||||
|
|
||||||
|
;######### DATA_TYPE_ADAPTER CONFIG ############
|
||||||
|
DataTypeAdapter0.implementation=Pass_Through
|
||||||
|
DataTypeAdapter1.implementation=Pass_Through
|
||||||
|
|
||||||
|
;######### INPUT_FILTER CONFIG ############
|
||||||
|
InputFilter0.implementation=Freq_Xlating_Fir_Filter
|
||||||
|
;InputFilter0.implementation=Pass_Through
|
||||||
|
InputFilter0.decimation_factor=5
|
||||||
|
InputFilter0.input_item_type=gr_complex
|
||||||
|
InputFilter0.output_item_type=gr_complex
|
||||||
|
InputFilter0.taps_item_type=float
|
||||||
|
InputFilter0.filter_type=lowpass
|
||||||
|
InputFilter0.bw=3000000
|
||||||
|
InputFilter0.tw=1000000
|
||||||
|
InputFilter0.IF=-6322000
|
||||||
|
InputFilter0.sampling_frequency=20000000
|
||||||
|
InputFilter0.dump=false
|
||||||
|
InputFilter0.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
;######### INPUT_FILTER CONFIG ############
|
||||||
|
InputFilter1.implementation=Freq_Xlating_Fir_Filter
|
||||||
|
;InputFilter1.implementation=Pass_Through
|
||||||
|
InputFilter1.decimation_factor=5
|
||||||
|
InputFilter1.input_item_type=gr_complex
|
||||||
|
InputFilter1.output_item_type=gr_complex
|
||||||
|
InputFilter1.taps_item_type=float
|
||||||
|
InputFilter1.filter_type=lowpass
|
||||||
|
InputFilter1.bw=3000000
|
||||||
|
InputFilter1.tw=1000000
|
||||||
|
InputFilter1.IF=8000000
|
||||||
|
InputFilter1.sampling_frequency=20000000
|
||||||
|
InputFilter1.dump=false
|
||||||
|
InputFilter1.dump_filename=../data/input_filter.dat
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;######### RESAMPLER CONFIG ############
|
||||||
|
Resampler0.implementation=Pass_Through
|
||||||
|
Resampler1.implementation=Pass_Through
|
||||||
|
|
||||||
|
;######### CHANNELS GLOBAL CONFIG ############
|
||||||
|
Channels_1B.count=10
|
||||||
|
Channels_1C.count=10
|
||||||
|
Channels_B1.count=14
|
||||||
|
|
||||||
|
Channels_1B.RF_channel_ID=1
|
||||||
|
Channels_1C.RF_channel_ID=1
|
||||||
|
Channels_B1.RF_channel_ID=0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Channels.in_acquisition=10
|
||||||
|
|
||||||
|
;######### ACQUISITION BEIDOU CONFIG ############
|
||||||
|
Acquisition_B1.implementation=BEIDOU_B1I_PCPS_Acquisition
|
||||||
|
Acquisition_B1.item_type=gr_complex
|
||||||
|
Acquisition_B1.coherent_integration_time_ms=2
|
||||||
|
;Acquisition_B1.max_dwells=2
|
||||||
|
;Acquisition_B1.pfa=0.02
|
||||||
|
Acquisition_B1.pfa=0.000002
|
||||||
|
Acquisition_B1.doppler_max=3800
|
||||||
|
Acquisition_B1.doppler_step=100
|
||||||
|
Acquisition_B1.dump=false
|
||||||
|
Acquisition_B1.dump_filename=./bds_acq
|
||||||
|
;Acquisition_B1.blocking=true
|
||||||
|
Acquisition_B1.bit_transition_flag = false;
|
||||||
|
|
||||||
|
;######### ACQUISITION GPS CONFIG ############
|
||||||
|
Acquisition_1C.implementation=GPS_L1_CA_PCPS_Acquisition
|
||||||
|
Acquisition_1C.item_type=gr_complex
|
||||||
|
Acquisition_1C.coherent_integration_time_ms=1
|
||||||
|
Acquisition_1C.pfa=0.015
|
||||||
|
Acquisition_1C.doppler_max=5000
|
||||||
|
Acquisition_1C.doppler_step=200
|
||||||
|
Acquisition_1C.max_dwells=4
|
||||||
|
;Acquisition_1C.blocking=true
|
||||||
|
Acquisition_1C.dump=false
|
||||||
|
Acquisition_1C.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
;######### ACQUISITION GALILEO CONFIG ############
|
||||||
|
Acquisition_1B.implementation=Galileo_E1_PCPS_Ambiguous_Acquisition
|
||||||
|
Acquisition_1B.coherent_integration_time_ms=2
|
||||||
|
;Acquisition_1B.pfa=0.000008
|
||||||
|
Acquisition_1B.pfa=0.025
|
||||||
|
Acquisition_1B.doppler_max=5000
|
||||||
|
Acquisition_1B.doppler_step=200
|
||||||
|
Acquisition_1B.max_dwells=4
|
||||||
|
;Acquisition_1B.repeat_satellite=true
|
||||||
|
Acquisition_1B.cboc=true
|
||||||
|
;Acquisition_1B.blocking=true
|
||||||
|
Acquisition_1B.dump=false
|
||||||
|
Acquisition_1B.dump_filename=./acq_dump.dat
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;######### TRACKING BEIDOU CONFIG ############
|
||||||
|
Tracking_B1.implementation=BEIDOU_B1I_DLL_PLL_Tracking
|
||||||
|
Tracking_B1.item_type=gr_complex
|
||||||
|
Tracking_B1.extend_correlation_symbols=10
|
||||||
|
Tracking_B1.pll_bw_hz=30.0
|
||||||
|
Tracking_B1.dll_bw_hz=2.00
|
||||||
|
Tracking_B1.pll_bw_narrow_hz=15.0
|
||||||
|
Tracking_B1.dll_bw_narrow_hz=0.50
|
||||||
|
;Tracking_B1.cn0_min=20
|
||||||
|
Tracking_B1.fll_bw_hz=20
|
||||||
|
Tracking_B1.enable_fll_pull_in=true
|
||||||
|
Tracking_B1.enable_fll_steady_state=false
|
||||||
|
Tracking_B1.dump=false
|
||||||
|
Tracking_B1.dump_filename=./epl_tracking_ch_
|
||||||
|
|
||||||
|
;######### TRACKING GPS CONFIG ############
|
||||||
|
Tracking_1C.implementation=GPS_L1_CA_DLL_PLL_Tracking
|
||||||
|
Tracking_1C.item_type=gr_complex
|
||||||
|
Tracking_1C.extend_correlation_symbols=10
|
||||||
|
Tracking_1C.early_late_space_chips=0.5
|
||||||
|
Tracking_1C.early_late_space_narrow_chips=0.15
|
||||||
|
Tracking_1C.pll_bw_hz=30.0
|
||||||
|
Tracking_1C.dll_bw_hz=2.0
|
||||||
|
Tracking_1C.pll_bw_narrow_hz=10.0
|
||||||
|
Tracking_1C.dll_bw_narrow_hz=0.50
|
||||||
|
Tracking_1C.fll_bw_hz=10
|
||||||
|
Tracking_1C.enable_fll_pull_in=true
|
||||||
|
Tracking_1C.enable_fll_steady_state=false
|
||||||
|
Tracking_1C.dump=false
|
||||||
|
Tracking_1C.dump_filename=tracking_ch_
|
||||||
|
|
||||||
|
;######### TRACKING GALILEO CONFIG ############
|
||||||
|
Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
|
||||||
|
Tracking_1B.extend_correlation_symbols=4
|
||||||
|
Tracking_1B.item_type=gr_complex
|
||||||
|
Tracking_1B.pll_bw_hz=30.0
|
||||||
|
Tracking_1B.dll_bw_hz=2.0
|
||||||
|
Tracking_1B.pll_bw_narrow_hz=20.0
|
||||||
|
Tracking_1B.dll_bw_narrow_hz=0.50
|
||||||
|
Tracking_1B.track_pilot=true
|
||||||
|
Tracking_1B.enable_fll_pull_in=true;
|
||||||
|
Tracking_1B.enable_fll_steady_state=false
|
||||||
|
Tracking_1B.fll_bw_hz=20
|
||||||
|
|
||||||
|
|
||||||
|
;######### TELEMETRY DECODER BEIDOU CONFIG ############
|
||||||
|
TelemetryDecoder_B1.implementation=BEIDOU_B1I_Telemetry_Decoder
|
||||||
|
TelemetryDecoder_B1.dump=false
|
||||||
|
|
||||||
|
;######### TELEMETRY DECODER GPS CONFIG ############
|
||||||
|
TelemetryDecoder_1C.implementation=GPS_L1_CA_Telemetry_Decoder
|
||||||
|
TelemetryDecoder_1C.dump=false
|
||||||
|
|
||||||
|
;######### TELEMETRY DECODER GALILEO E1B CONFIG ############
|
||||||
|
TelemetryDecoder_1B.implementation=Galileo_E1B_Telemetry_Decoder
|
||||||
|
TelemetryDecoder_1B.dump=false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;######### OBSERVABLES CONFIG ############
|
||||||
|
Observables.implementation=Hybrid_Observables
|
||||||
|
Observables.dump=false
|
||||||
|
Observables.dump_filename=./observables.dat
|
||||||
|
|
||||||
|
;######### PVT CONFIG ############
|
||||||
|
PVT.implementation=RTKLIB_PVT
|
||||||
|
PVT.threshold_reject_GDOP=100
|
||||||
|
PVT.elevation_mask=4
|
||||||
|
PVT.positioning_mode=Single ; options: Single, Static, Kinematic, PPP_Static, PPP_Kinematic
|
||||||
|
PVT.iono_model=Broadcast ; options: OFF, Broadcast, SBAS, Iono-Free-LC, Estimate_STEC, IONEX
|
||||||
|
PVT.trop_model=Saastamoinen ; options: OFF, Saastamoinen, SBAS, Estimate_ZTD, Estimate_ZTD_Grad
|
||||||
|
PVT.output_rate_ms=100
|
||||||
|
PVT.display_rate_ms=500
|
||||||
|
PVT.enable_rx_clock_correction=true
|
||||||
|
PVT.flag_rtcm_server=true
|
||||||
|
PVT.flag_rtcm_tty_port=false
|
||||||
|
PVT.rtcm_dump_devname=/dev/pts/1
|
||||||
|
PVT.rtcm_tcp_port=2101
|
||||||
|
PVT.rtcm_MT1019_rate_ms=5000
|
||||||
|
PVT.rtcm_MT1077_rate_ms=1000
|
||||||
|
PVT.rinex_version=2
|
||||||
|
PVT.flag_nmea_tty_port=true
|
||||||
|
PVT.nmea_dump_devname=/dev/pts/3
|
||||||
|
|
||||||
|
|
||||||
|
PVT.enable_monitor=true
|
||||||
|
PVT.monitor_client_addresses=127.0.0.1
|
||||||
|
PVT.monitor_udp_port=1111
|
||||||
|
|
||||||
|
Monitor.enable_monitor=true
|
||||||
|
Monitor.decimation_factor=4
|
||||||
|
Monitor.client_addresses=127.0.0.1
|
||||||
|
Monitor.udp_port=1112
|
||||||
|
|
||||||
|
AcquisitionMonitor.enable_monitor=true
|
||||||
|
AcquisitionMonitor.client_addresses=127.0.0.1
|
||||||
|
AcquisitionMonitor.udp_port=1112
|
||||||
|
|
||||||
|
|
@ -14,10 +14,57 @@ All notable changes to GNSS-SDR will be documented in this file.
|
|||||||
|
|
||||||
## [Unreleased](https://github.com/gnss-sdr/gnss-sdr/tree/next)
|
## [Unreleased](https://github.com/gnss-sdr/gnss-sdr/tree/next)
|
||||||
|
|
||||||
### Improvements in Usability
|
### Improvements in Interoperability:
|
||||||
|
|
||||||
|
- Improved error handling in UDP connections.
|
||||||
|
- Make it possible to receive multiple constellations using a single channel
|
||||||
|
wideband device (HackRF/LimeSDR/USRP). Demonstration:
|
||||||
|
https://www.youtube.com/watch?v=ZQs2sFchJ6w
|
||||||
|
https://www.youtube.com/watch?v=HnZkKj9a-QM
|
||||||
|
|
||||||
|
### Improvements in Portability:
|
||||||
|
|
||||||
|
- Fix building against google-glog 0.7.x.
|
||||||
|
- Find dependencies in the loongarch64 architecture.
|
||||||
|
- Soft transition from [GFlags](https://github.com/gflags/gflags) and
|
||||||
|
[Google Logging (glog)](https://github.com/google/glog) to Abseil
|
||||||
|
[Logging](https://abseil.io/docs/cpp/guides/logging) and
|
||||||
|
[Flags](https://abseil.io/docs/cpp/guides/flags) libraries. While gflags and
|
||||||
|
glog have dutifully served GNSS-SDR for over a decade, they are now showing
|
||||||
|
signs of aging. The latest version of gflags dates back six years now, with
|
||||||
|
its last commit in the master branch occurring two years ago. Glog remains
|
||||||
|
well maintained, with its latest version v0.7.0 released in February 2024, but
|
||||||
|
with no active development of new features and stuck at C++14. Abseil, on the
|
||||||
|
other hand, represents a contemporary evolution in software development,
|
||||||
|
supports C++17 and C++20, and has absorbed the functionalities of flags and
|
||||||
|
logging from its predecessors. Furthermore, as Abseil has become a
|
||||||
|
prerequisite for the latest versions of Protocol Buffers, its eventual
|
||||||
|
inclusion in GNSS-SDR's indirect dependencies is inevitable. Leveraging Abseil
|
||||||
|
allows for eliminating the need for gflags and glog, thereby reducing the
|
||||||
|
number of mandatory dependencies for GNSS-SDR in forthcoming GNU/Linux
|
||||||
|
distributions. For seamless integration, GNSS-SDR requires a quite recent
|
||||||
|
minimum version of Abseil, v20240116. If an older version is detected, the
|
||||||
|
library will not be utilized, and GNSS-SDR will fall back to using gflags and
|
||||||
|
glog, which still can be used and are fully supported. A new CMake
|
||||||
|
configuration option `-DENABLE_GLOG_AND_GFLAGS=ON` is available to force the
|
||||||
|
usage of glog and gflags instead of Abseil, even if a valid version of that
|
||||||
|
library is present. If the Abseil version installed in your system is too old
|
||||||
|
but you still want to try it, you can also force the downloading and building
|
||||||
|
of a recent version with the new CMake configuration flag
|
||||||
|
`-DENABLE_OWN_ABSEIL=ON` (requires CMake >= 3.24, otherwise it has no effect).
|
||||||
|
This change has a downside in maintainability, since the source code becomes
|
||||||
|
plagued with preprocessor directives required to maintain compatibility both
|
||||||
|
with gflags and glog, and with Abseil.
|
||||||
|
|
||||||
|
### Improvements in Usability:
|
||||||
|
|
||||||
- Tidy up the `conf/` folder.
|
- Tidy up the `conf/` folder.
|
||||||
|
|
||||||
|
See the definitions of concepts and metrics at
|
||||||
|
https://gnss-sdr.org/design-forces/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [GNSS-SDR v0.0.19.1](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.19.1) - 2024-01-26
|
## [GNSS-SDR v0.0.19.1](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.19.1) - 2024-01-26
|
||||||
|
|
||||||
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10579595.svg)](https://doi.org/10.5281/zenodo.10579595)
|
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10579595.svg)](https://doi.org/10.5281/zenodo.10579595)
|
||||||
@ -102,7 +149,7 @@ All notable changes to GNSS-SDR will be documented in this file.
|
|||||||
overkilling nine (the ninth decimal place worths up to 110 microns).
|
overkilling nine (the ninth decimal place worths up to 110 microns).
|
||||||
Similarly, height in meters is now reported with two decimal places instead of
|
Similarly, height in meters is now reported with two decimal places instead of
|
||||||
three, and velocity in m/s also with two decimal places instead of three.
|
three, and velocity in m/s also with two decimal places instead of three.
|
||||||
- Fixed the rate at which KLM, GPX, GeoJSON, and NMEA annotations are made. The
|
- Fixed the rate at which KML, GPX, GeoJSON, and NMEA annotations are made. The
|
||||||
rate is now set by `PVT.output_rate_ms` (`500` ms by default), and can be
|
rate is now set by `PVT.output_rate_ms` (`500` ms by default), and can be
|
||||||
particularized by `PVT.kml_rate_ms`, `PVT.gpx_rate_ms`, `PVT.geojson_rate_ms`,
|
particularized by `PVT.kml_rate_ms`, `PVT.gpx_rate_ms`, `PVT.geojson_rate_ms`,
|
||||||
and `PVT.nmea_rate_ms`. Those values should be multiples of
|
and `PVT.nmea_rate_ms`. Those values should be multiples of
|
||||||
@ -318,7 +365,7 @@ https://gnss-sdr.org/design-forces/
|
|||||||
- Fixed building against GNU Radio v3.10.X.Y, which does not support the C++20
|
- Fixed building against GNU Radio v3.10.X.Y, which does not support the C++20
|
||||||
standard.
|
standard.
|
||||||
- Fixed building against GNU Radio v3.10.X.Y, which replaced
|
- Fixed building against GNU Radio v3.10.X.Y, which replaced
|
||||||
[log4cpp](http://log4cpp.sourceforge.net/) by the
|
[log4cpp](https://log4cpp.sourceforge.net/) by the
|
||||||
[spdlog](https://github.com/gabime/spdlog) and
|
[spdlog](https://github.com/gabime/spdlog) and
|
||||||
[fmt](https://github.com/fmtlib/fmt) libraries.
|
[fmt](https://github.com/fmtlib/fmt) libraries.
|
||||||
- Updated `cpu_features` library for improved processor detection.
|
- Updated `cpu_features` library for improved processor detection.
|
||||||
@ -465,8 +512,7 @@ https://gnss-sdr.org/design-forces/
|
|||||||
inconsistencies in the configuration file.
|
inconsistencies in the configuration file.
|
||||||
- Fix segmentation fault if the RINEX output was disabled.
|
- Fix segmentation fault if the RINEX output was disabled.
|
||||||
- Added a feature that optionally enables the remote monitoring of GPS and
|
- Added a feature that optionally enables the remote monitoring of GPS and
|
||||||
Galileo ephemeris using UDP and
|
Galileo ephemeris using UDP and [Protocol Buffers](https://protobuf.dev/).
|
||||||
[Protocol Buffers](https://developers.google.com/protocol-buffers).
|
|
||||||
- Now building the software passing the `-DENABLE_FPGA=ON` to CMake does not
|
- Now building the software passing the `-DENABLE_FPGA=ON` to CMake does not
|
||||||
make the receiver unusable when running on non-FPGA-enabled platforms. On
|
make the receiver unusable when running on non-FPGA-enabled platforms. On
|
||||||
FPGA-enabled platforms, now it is possible to run non-FPGA-enabled
|
FPGA-enabled platforms, now it is possible to run non-FPGA-enabled
|
||||||
|
@ -77,19 +77,19 @@ As outputs, it provides:
|
|||||||
In principle, GNSS-SDR can be built in any Unix-like system. In practice, it depends on being able to install all the required dependencies. See the <a href="https://gnss-sdr.org/build-and-install/" target="_blank">building guide</a> page for details about the project's
|
In principle, GNSS-SDR can be built in any Unix-like system. In practice, it depends on being able to install all the required dependencies. See the <a href="https://gnss-sdr.org/build-and-install/" target="_blank">building guide</a> page for details about the project's
|
||||||
dependencies and build process. Mainly, it consists on installing <a href="https://www.gnuradio.org/" target="_blank">GNU Radio</a> plus some few more libraries:
|
dependencies and build process. Mainly, it consists on installing <a href="https://www.gnuradio.org/" target="_blank">GNU Radio</a> plus some few more libraries:
|
||||||
|
|
||||||
\li <a href="http://arma.sourceforge.net/" target="_blank">Armadillo</a>, a C++ linear algebra library,
|
\li <a href="https://arma.sourceforge.net/" target="_blank">Armadillo</a>, a C++ linear algebra library,
|
||||||
\li <a href="https://www.boost.org/" target="_blank">Boost</a>, a set of free peer-reviewed portable C++ source libraries,
|
\li <a href="https://www.boost.org/" target="_blank">Boost</a>, a set of free peer-reviewed portable C++ source libraries,
|
||||||
\li <a href="https://github.com/gflags/gflags" target="_blank">Gflags</a>, a library that implements commandline flags processing,
|
\li <a href="https://github.com/gflags/gflags" target="_blank">Gflags</a>, a library that implements commandline flags processing,
|
||||||
\li <a href="https://github.com/google/glog" target="_blank">Glog</a>, a library that implements application-level logging,
|
\li <a href="https://github.com/google/glog" target="_blank">Glog</a>, a library that implements application-level logging,
|
||||||
\li <a href="https://github.com/google/googletest" target="_blank">Googletest</a>, Google's framework for writing C++ tests,
|
\li <a href="https://github.com/google/googletest" target="_blank">Googletest</a>, Google's framework for writing C++ tests,
|
||||||
\li <a href="https://www.makotemplates.org/" target="_blank">Mako</a>, a template library written in Python,
|
\li <a href="https://www.makotemplates.org/" target="_blank">Mako</a>, a template library written in Python,
|
||||||
\li <a href="https://github.com/tbeu/matio" target="_blank">Matio</a>, a MATLAB MAT File I/O Library,
|
\li <a href="https://github.com/tbeu/matio" target="_blank">Matio</a>, a MATLAB MAT File I/O Library,
|
||||||
\li <a href="https://developers.google.com/protocol-buffers" target="_blank">Protocol Buffers</a>, a language-neutral, platform-neutral extensible mechanism for serializing structured data,
|
\li <a href="https://protobuf.dev/" target="_blank">Protocol Buffers</a>, a language-neutral, platform-neutral extensible mechanism for serializing structured data,
|
||||||
\li <a href="https://pugixml.org/" target="_blank">PugiXML</a>, a light-weight, simple and fast XML parser for C++ with XPath support,
|
\li <a href="https://pugixml.org/" target="_blank">PugiXML</a>, a light-weight, simple and fast XML parser for C++ with XPath support,
|
||||||
\li <a href="https://www.libvolk.org" target="_blank">Volk</a>, a Vector-Optimized Library of Kernels which provides an abstraction of optimized math routines targeting several SIMD processors,
|
\li <a href="https://www.libvolk.org" target="_blank">Volk</a>, a Vector-Optimized Library of Kernels which provides an abstraction of optimized math routines targeting several SIMD processors,
|
||||||
|
|
||||||
and, optionally,
|
and, optionally,
|
||||||
\li GNU Radio modules for hardware interface (<a href="https://github.com/gnuradio/gnuradio/tree/main/gr-uhd" target="_blank">gr-uhd</a>, <a href="http://git.osmocom.org/gr-osmosdr" target="_blank">gr-osmosdr</a>, <a href="https://github.com/analogdevicesinc/gr-iio" target="_blank">gr-iio</a>),
|
\li GNU Radio modules for hardware interface (<a href="https://github.com/gnuradio/gnuradio/tree/main/gr-uhd" target="_blank">gr-uhd</a>, <a href="https://gitea.osmocom.org/sdr/gr-osmosdr" target="_blank">gr-osmosdr</a>, <a href="https://github.com/analogdevicesinc/gr-iio" target="_blank">gr-iio</a>),
|
||||||
\li <a href="https://github.com/google/benchmark" target="_blank">Benchmark</a>, a library to benchmark code snippets,
|
\li <a href="https://github.com/google/benchmark" target="_blank">Benchmark</a>, a library to benchmark code snippets,
|
||||||
\li <a href="https://github.com/gperftools/gperftools" target="_blank">Gperftools</a>, which provides fast, multi-threaded malloc() and performance analysis tools.
|
\li <a href="https://github.com/gperftools/gperftools" target="_blank">Gperftools</a>, which provides fast, multi-threaded malloc() and performance analysis tools.
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ automatically selected by the CMake script):
|
|||||||
You can get it from <a href="https://www.iso.org/standard/79358.html"
|
You can get it from <a href="https://www.iso.org/standard/79358.html"
|
||||||
target="_blank">ISO</a>, <a
|
target="_blank">ISO</a>, <a
|
||||||
href="https://webstore.iec.ch/publication/68285" target="_blank">IEC</a>
|
href="https://webstore.iec.ch/publication/68285" target="_blank">IEC</a>
|
||||||
or <a href="https://webstore.ansi.org/Standards/ISO/ISOIEC148822020"
|
or <a href="https://webstore.ansi.org/standards/iso/isoiec148822020"
|
||||||
target="_blank">ANSI</a>. The closest free working document available is
|
target="_blank">ANSI</a>. The closest free working document available is
|
||||||
<a
|
<a
|
||||||
href="https://github.com/cplusplus/draft/releases/download/n4868/n4868.pdf"
|
href="https://github.com/cplusplus/draft/releases/download/n4868/n4868.pdf"
|
||||||
@ -162,23 +162,23 @@ automatically selected by the CMake script):
|
|||||||
You can get it from <a href="https://www.iso.org/standard/68564.html"
|
You can get it from <a href="https://www.iso.org/standard/68564.html"
|
||||||
target="_blank">ISO</a>, <a
|
target="_blank">ISO</a>, <a
|
||||||
href="https://webstore.iec.ch/publication/62162" target="_blank">IEC</a>
|
href="https://webstore.iec.ch/publication/62162" target="_blank">IEC</a>
|
||||||
or <a href="https://webstore.ansi.org/Standards/ISO/ISOIEC148822017"
|
or <a href="https://webstore.ansi.org/standards/iso/isoiec148822017"
|
||||||
target="_blank">ANSI</a>. The closest free working document available is
|
target="_blank">ANSI</a>. The closest free working document available is
|
||||||
<a
|
<a
|
||||||
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf"
|
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf"
|
||||||
target="_blank">N4659</a>.</li>
|
target="_blank">N4659</a>.</li>
|
||||||
<li><strong>C++14</strong>: A former ISO C++ standard was officially known as <em>ISO International Standard ISO/IEC 14882:2014 – Programming languages – C++</em>.
|
<li><strong>C++14</strong>: A former ISO C++ standard was officially known as <em>ISO International Standard ISO/IEC 14882:2014 – Programming languages – C++</em>.
|
||||||
You can get it from <a href="https://www.iso.org/standard/64029.html"
|
You can get it from <a href="https://www.iso.org/standard/64029.html"
|
||||||
target="_blank">ISO</a> or <a
|
target="_blank">ISO</a> or <a
|
||||||
href="https://webstore.ansi.org/RecordDetail.aspx?sku=INCITS/ISO/IEC+14882:2014+(2016)"
|
href="https://webstore.ansi.org/standards/incits/incitsisoiec1488220142016"
|
||||||
target="_blank">ANSI</a>. The closest free working document available is
|
target="_blank">ANSI</a>. The closest free working document available is
|
||||||
<a
|
<a
|
||||||
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf"
|
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf"
|
||||||
target="_blank">N4296</a>.</li>
|
target="_blank">N4296</a>.</li>
|
||||||
<li><strong>C++11</strong>: An older ISO C++ standard was ISO/IEC 14882:2011.
|
<li><strong>C++11</strong>: An older ISO C++ standard was ISO/IEC 14882:2011.
|
||||||
You can get it from <a href="https://www.iso.org/standard/50372.html"
|
You can get it from <a href="https://www.iso.org/standard/50372.html"
|
||||||
target="_blank">ISO</a>. The closest free working document available is <a
|
target="_blank">ISO</a>. The closest free working document available is <a
|
||||||
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf"
|
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf"
|
||||||
target="_blank">N3337</a>.</li>
|
target="_blank">N3337</a>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@ -207,7 +207,7 @@ User plane protocols:
|
|||||||
\li Open Mobile Alliance (OMA), <a href="http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-AD-SUPL-V2_0-20120417-A.zip" target="_blank"><b>Secure User Plane Location Architecture Version 2 (SUPL 2.0)</b></a>, April 2012.
|
\li Open Mobile Alliance (OMA), <a href="http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-AD-SUPL-V2_0-20120417-A.zip" target="_blank"><b>Secure User Plane Location Architecture Version 2 (SUPL 2.0)</b></a>, April 2012.
|
||||||
|
|
||||||
LTE Release 9 introduced extension hooks in LPP messages, so that the bodies external to 3GPP could extend the LPP feature set. OMA LPP extensions (LPPe), supported in SUPL 3.0, build on top of the 3GPP LPP reusing its procedures and data types.
|
LTE Release 9 introduced extension hooks in LPP messages, so that the bodies external to 3GPP could extend the LPP feature set. OMA LPP extensions (LPPe), supported in SUPL 3.0, build on top of the 3GPP LPP reusing its procedures and data types.
|
||||||
Check the <a href="http://openmobilealliance.org/wp/index.html" target="_blank">OMA Specifications webpage</a> for updated information about LPP Extensions (LPPe) Specification.
|
Check the <a href="https://technical.openmobilealliance.org/index.html" target="_blank">OMA Specifications webpage</a> for updated information about LPP Extensions (LPPe) Specification.
|
||||||
|
|
||||||
\li The <a href="http://member.openmobilealliance.org/ftp/Public_documents/loc/Permanent_documents/OMA-TS-MLP-V3_5-20181119-D.zip" target="_blank"><b>OMA Mobile Location Protocol (MLP) V3.5</b></a>
|
\li The <a href="http://member.openmobilealliance.org/ftp/Public_documents/loc/Permanent_documents/OMA-TS-MLP-V3_5-20181119-D.zip" target="_blank"><b>OMA Mobile Location Protocol (MLP) V3.5</b></a>
|
||||||
is an application-level protocol for getting the position of mobile stations
|
is an application-level protocol for getting the position of mobile stations
|
||||||
|
@ -11,9 +11,8 @@ SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades <carles.fernandez@cttc
|
|||||||
<!-- prettier-ignore-end -->
|
<!-- prettier-ignore-end -->
|
||||||
|
|
||||||
Files in this folder describe structured data formats that are generated by
|
Files in this folder describe structured data formats that are generated by
|
||||||
GNSS-SDR. They use
|
GNSS-SDR. They use [Protocol Buffers](https://protobuf.dev/)'
|
||||||
[Protocol Buffers](https://developers.google.com/protocol-buffers/)'
|
[proto3](https://protobuf.dev/programming-guides/proto3/) syntax.
|
||||||
[proto3](https://developers.google.com/protocol-buffers/docs/proto3) syntax.
|
|
||||||
|
|
||||||
From those files, the protocol buffer compiler creates classes that implement
|
From those files, the protocol buffer compiler creates classes that implement
|
||||||
automatic encoding and parsing of the protocol buffer data with an efficient
|
automatic encoding and parsing of the protocol buffer data with an efficient
|
||||||
|
@ -23,10 +23,16 @@ target_link_libraries(pvt_adapters
|
|||||||
pvt_gr_blocks
|
pvt_gr_blocks
|
||||||
PRIVATE
|
PRIVATE
|
||||||
gnss_sdr_flags
|
gnss_sdr_flags
|
||||||
Glog::glog
|
|
||||||
pvt_libs
|
pvt_libs
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(ENABLE_GLOG_AND_GFLAGS)
|
||||||
|
target_link_libraries(pvt_adapters PRIVATE Glog::glog)
|
||||||
|
target_compile_definitions(pvt_adapters PRIVATE -DUSE_GLOG_AND_GFLAGS=1)
|
||||||
|
else()
|
||||||
|
target_link_libraries(pvt_adapters PRIVATE absl::flags absl::log)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_include_directories(pvt_adapters
|
target_include_directories(pvt_adapters
|
||||||
PUBLIC
|
PUBLIC
|
||||||
${GNSSSDR_SOURCE_DIR}/src/core/interfaces
|
${GNSSSDR_SOURCE_DIR}/src/core/interfaces
|
||||||
|
@ -26,8 +26,12 @@
|
|||||||
#include "gps_ephemeris.h" // for Gps_Ephemeris
|
#include "gps_ephemeris.h" // for Gps_Ephemeris
|
||||||
#include "pvt_conf.h" // for Pvt_Conf
|
#include "pvt_conf.h" // for Pvt_Conf
|
||||||
#include "rtklib_rtkpos.h" // for rtkfree, rtkinit
|
#include "rtklib_rtkpos.h" // for rtkfree, rtkinit
|
||||||
#include <glog/logging.h> // for LOG
|
|
||||||
#include <iostream> // for std::cout
|
#include <iostream> // for std::cout
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
#if USE_STD_COMMON_FACTOR
|
#if USE_STD_COMMON_FACTOR
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
namespace bc = std;
|
namespace bc = std;
|
||||||
@ -88,6 +92,7 @@ Rtklib_Pvt::Rtklib_Pvt(const ConfigurationInterface* configuration,
|
|||||||
|
|
||||||
// RINEX version
|
// RINEX version
|
||||||
pvt_output_parameters.rinex_version = configuration->property(role + ".rinex_version", 3);
|
pvt_output_parameters.rinex_version = configuration->property(role + ".rinex_version", 3);
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_RINEX_version == "3.01" || FLAGS_RINEX_version == "3.02" || FLAGS_RINEX_version == "3")
|
if (FLAGS_RINEX_version == "3.01" || FLAGS_RINEX_version == "3.02" || FLAGS_RINEX_version == "3")
|
||||||
{
|
{
|
||||||
pvt_output_parameters.rinex_version = 3;
|
pvt_output_parameters.rinex_version = 3;
|
||||||
@ -96,13 +101,29 @@ Rtklib_Pvt::Rtklib_Pvt(const ConfigurationInterface* configuration,
|
|||||||
{
|
{
|
||||||
pvt_output_parameters.rinex_version = 2;
|
pvt_output_parameters.rinex_version = 2;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_RINEX_version) == "3.01" || absl::GetFlag(FLAGS_RINEX_version) == "3.02" || absl::GetFlag(FLAGS_RINEX_version) == "3")
|
||||||
|
{
|
||||||
|
pvt_output_parameters.rinex_version = 3;
|
||||||
|
}
|
||||||
|
else if (absl::GetFlag(FLAGS_RINEX_version) == "2.10" || absl::GetFlag(FLAGS_RINEX_version) == "2.11" || absl::GetFlag(FLAGS_RINEX_version) == "2")
|
||||||
|
{
|
||||||
|
pvt_output_parameters.rinex_version = 2;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
pvt_output_parameters.rinexobs_rate_ms = bc::lcm(configuration->property(role + ".rinexobs_rate_ms", 1000), pvt_output_parameters.output_rate_ms);
|
pvt_output_parameters.rinexobs_rate_ms = bc::lcm(configuration->property(role + ".rinexobs_rate_ms", 1000), pvt_output_parameters.output_rate_ms);
|
||||||
pvt_output_parameters.rinex_name = configuration->property(role + ".rinex_name", std::string("-"));
|
pvt_output_parameters.rinex_name = configuration->property(role + ".rinex_name", std::string("-"));
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_RINEX_name != "-")
|
if (FLAGS_RINEX_name != "-")
|
||||||
{
|
{
|
||||||
pvt_output_parameters.rinex_name = FLAGS_RINEX_name;
|
pvt_output_parameters.rinex_name = FLAGS_RINEX_name;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_RINEX_name) != "-")
|
||||||
|
{
|
||||||
|
pvt_output_parameters.rinex_name = absl::GetFlag(FLAGS_RINEX_name);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
// RTCM Printer settings
|
// RTCM Printer settings
|
||||||
pvt_output_parameters.flag_rtcm_tty_port = configuration->property(role + ".flag_rtcm_tty_port", false);
|
pvt_output_parameters.flag_rtcm_tty_port = configuration->property(role + ".flag_rtcm_tty_port", false);
|
||||||
pvt_output_parameters.rtcm_dump_devname = configuration->property(role + ".rtcm_dump_devname", default_rtcm_dump_devname);
|
pvt_output_parameters.rtcm_dump_devname = configuration->property(role + ".rtcm_dump_devname", default_rtcm_dump_devname);
|
||||||
|
@ -27,11 +27,16 @@ target_link_libraries(pvt_gr_blocks
|
|||||||
PRIVATE
|
PRIVATE
|
||||||
algorithms_libs
|
algorithms_libs
|
||||||
pvt_libs
|
pvt_libs
|
||||||
Gflags::gflags
|
|
||||||
Glog::glog
|
|
||||||
Boost::serialization
|
Boost::serialization
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(ENABLE_GLOG_AND_GFLAGS)
|
||||||
|
target_link_libraries(pvt_gr_blocks PRIVATE Gflags::gflags Glog::glog)
|
||||||
|
target_compile_definitions(pvt_gr_blocks PRIVATE -DUSE_GLOG_AND_GFLAGS=1)
|
||||||
|
else()
|
||||||
|
target_link_libraries(pvt_gr_blocks PRIVATE absl::log)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(GNURADIO_USES_STD_POINTERS)
|
if(GNURADIO_USES_STD_POINTERS)
|
||||||
target_compile_definitions(pvt_gr_blocks
|
target_compile_definitions(pvt_gr_blocks
|
||||||
PUBLIC -DGNURADIO_USES_STD_POINTERS=1
|
PUBLIC -DGNURADIO_USES_STD_POINTERS=1
|
||||||
|
@ -64,7 +64,6 @@
|
|||||||
#include <boost/exception/exception.hpp>
|
#include <boost/exception/exception.hpp>
|
||||||
#include <boost/serialization/map.hpp>
|
#include <boost/serialization/map.hpp>
|
||||||
#include <boost/serialization/nvp.hpp> // for nvp, make_nvp
|
#include <boost/serialization/nvp.hpp> // for nvp, make_nvp
|
||||||
#include <glog/logging.h> // for LOG
|
|
||||||
#include <gnuradio/io_signature.h> // for io_signature
|
#include <gnuradio/io_signature.h> // for io_signature
|
||||||
#include <pmt/pmt_sugar.h> // for mp
|
#include <pmt/pmt_sugar.h> // for mp
|
||||||
#include <algorithm> // for sort, unique
|
#include <algorithm> // for sort, unique
|
||||||
@ -82,6 +81,12 @@
|
|||||||
#include <typeinfo> // for std::type_info, typeid
|
#include <typeinfo> // for std::type_info, typeid
|
||||||
#include <utility> // for pair
|
#include <utility> // for pair
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_GENERIC_LAMBDA
|
#if HAS_GENERIC_LAMBDA
|
||||||
#else
|
#else
|
||||||
#include <boost/bind/bind.hpp>
|
#include <boost/bind/bind.hpp>
|
||||||
|
@ -98,11 +98,18 @@ target_link_libraries(pvt_libs
|
|||||||
algorithms_libs_rtklib
|
algorithms_libs_rtklib
|
||||||
PRIVATE
|
PRIVATE
|
||||||
algorithms_libs
|
algorithms_libs
|
||||||
Gflags::gflags
|
gnss_sdr_flags
|
||||||
Glog::glog
|
|
||||||
Matio::matio
|
Matio::matio
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(ENABLE_GLOG_AND_GFLAGS)
|
||||||
|
target_link_libraries(pvt_libs PUBLIC Glog::glog)
|
||||||
|
|
||||||
|
target_compile_definitions(pvt_libs PUBLIC -DUSE_GLOG_AND_GFLAGS=1)
|
||||||
|
else()
|
||||||
|
target_link_libraries(pvt_libs PUBLIC absl::log)
|
||||||
|
endif()
|
||||||
|
|
||||||
get_filename_component(PROTO_INCLUDE_HEADERS_DIR ${PROTO_HDRS} DIRECTORY)
|
get_filename_component(PROTO_INCLUDE_HEADERS_DIR ${PROTO_HDRS} DIRECTORY)
|
||||||
|
|
||||||
# for concurrent_queue.h
|
# for concurrent_queue.h
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
#include "an_packet_printer.h"
|
#include "an_packet_printer.h"
|
||||||
#include "rtklib_solver.h" // for Rtklib_Solver
|
#include "rtklib_solver.h" // for Rtklib_Solver
|
||||||
#include <glog/logging.h> // for DLOG
|
|
||||||
#include <cmath> // for M_PI
|
#include <cmath> // for M_PI
|
||||||
#include <cstring> // for memcpy
|
#include <cstring> // for memcpy
|
||||||
#include <fcntl.h> // for fcntl
|
#include <fcntl.h> // for fcntl
|
||||||
@ -29,6 +28,12 @@
|
|||||||
#include <termios.h> // values for termios
|
#include <termios.h> // values for termios
|
||||||
#include <unistd.h> // for write(), read(), close()
|
#include <unistd.h> // for write(), read(), close()
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
An_Packet_Printer::An_Packet_Printer(const std::string& an_dump_devname)
|
An_Packet_Printer::An_Packet_Printer(const std::string& an_dump_devname)
|
||||||
: d_start(std::chrono::system_clock::now()),
|
: d_start(std::chrono::system_clock::now()),
|
||||||
|
@ -135,7 +135,7 @@ std::array<double, 2> Geohash::decode(std::string geohash) const
|
|||||||
|
|
||||||
std::array<double, 4> Geohash::bounds(std::string geohash) const
|
std::array<double, 4> Geohash::bounds(std::string geohash) const
|
||||||
{
|
{
|
||||||
if (geohash.length() == 0)
|
if (geohash.empty())
|
||||||
{
|
{
|
||||||
throw std::runtime_error("Invalid geohash");
|
throw std::runtime_error("Invalid geohash");
|
||||||
}
|
}
|
||||||
|
@ -20,13 +20,18 @@
|
|||||||
#include "gnss_sdr_filesystem.h"
|
#include "gnss_sdr_filesystem.h"
|
||||||
#include "pvt_solution.h"
|
#include "pvt_solution.h"
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <ctime> // for tm
|
#include <ctime> // for tm
|
||||||
#include <exception> // for exception
|
#include <exception> // for exception
|
||||||
#include <iomanip> // for operator<<
|
#include <iomanip> // for operator<<
|
||||||
#include <iostream> // for cout, cerr
|
#include <iostream> // for cout, cerr
|
||||||
#include <sstream> // for stringstream
|
#include <sstream> // for stringstream
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
GeoJSON_Printer::GeoJSON_Printer(const std::string& base_path) : geojson_base_path(base_path),
|
GeoJSON_Printer::GeoJSON_Printer(const std::string& base_path) : geojson_base_path(base_path),
|
||||||
first_pos(true)
|
first_pos(true)
|
||||||
|
@ -20,13 +20,17 @@
|
|||||||
#include "gnss_sdr_filesystem.h"
|
#include "gnss_sdr_filesystem.h"
|
||||||
#include "pvt_solution.h"
|
#include "pvt_solution.h"
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <ctime> // for tm
|
#include <ctime> // for tm
|
||||||
#include <exception> // for exception
|
#include <exception> // for exception
|
||||||
#include <iomanip> // for operator<<
|
#include <iomanip> // for operator<<
|
||||||
#include <iostream> // for cout, cerr
|
#include <iostream> // for cout, cerr
|
||||||
#include <sstream> // for stringstream
|
#include <sstream> // for stringstream
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
Gpx_Printer::Gpx_Printer(const std::string& base_path) : indent(" "),
|
Gpx_Printer::Gpx_Printer(const std::string& base_path) : indent(" "),
|
||||||
gpx_base_path(base_path),
|
gpx_base_path(base_path),
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
#include "galileo_has_data.h"
|
#include "galileo_has_data.h"
|
||||||
#include "gnss_sdr_filesystem.h"
|
#include "gnss_sdr_filesystem.h"
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm> // for std::find, std::count
|
#include <algorithm> // for std::find, std::count
|
||||||
#include <bitset> // for std::bitset
|
#include <bitset> // for std::bitset
|
||||||
#include <cstdint> // for uint8_t, ...
|
#include <cstdint> // for uint8_t, ...
|
||||||
@ -32,6 +31,12 @@
|
|||||||
#include <iostream> // for std::cout, std::cerr
|
#include <iostream> // for std::cout, std::cerr
|
||||||
#include <sstream> // for std::stringstream
|
#include <sstream> // for std::stringstream
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
Has_Simple_Printer::Has_Simple_Printer(const std::string& base_path,
|
Has_Simple_Printer::Has_Simple_Printer(const std::string& base_path,
|
||||||
const std::string& filename,
|
const std::string& filename,
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
#include "gnss_sdr_filesystem.h"
|
#include "gnss_sdr_filesystem.h"
|
||||||
#include "pvt_solution.h"
|
#include "pvt_solution.h"
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <cstdlib> // for mkstemp
|
#include <cstdlib> // for mkstemp
|
||||||
#include <ctime> // for tm
|
#include <ctime> // for tm
|
||||||
#include <exception> // for exception
|
#include <exception> // for exception
|
||||||
@ -30,6 +29,11 @@
|
|||||||
#include <sys/stat.h> // for S_IXUSR | S_IRWXG | S_IRWXO
|
#include <sys/stat.h> // for S_IXUSR | S_IRWXG | S_IRWXO
|
||||||
#include <sys/types.h> // for mode_t
|
#include <sys/types.h> // for mode_t
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
Kml_Printer::Kml_Printer(const std::string& base_path) : kml_base_path(base_path),
|
Kml_Printer::Kml_Printer(const std::string& base_path) : kml_base_path(base_path),
|
||||||
indent(" "),
|
indent(" "),
|
||||||
|
@ -55,22 +55,24 @@ bool Monitor_Ephemeris_Udp_Sink::write_galileo_ephemeris(const std::shared_ptr<G
|
|||||||
outbound_data.append(serdes_gal.createProtobuffer(monitor_gal_eph));
|
outbound_data.append(serdes_gal.createProtobuffer(monitor_gal_eph));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const auto& endpoint : endpoints)
|
|
||||||
{
|
|
||||||
socket.open(endpoint.protocol(), error);
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (socket.send_to(boost::asio::buffer(outbound_data), endpoint) == 0)
|
for (const auto& endpoint : endpoints)
|
||||||
|
{
|
||||||
|
socket.open(endpoint.protocol(), error); // NOLINT(bugprone-unused-return-value)
|
||||||
|
|
||||||
|
if (socket.send_to(boost::asio::buffer(outbound_data), endpoint) == 0) // this can throw
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (boost::system::system_error const& e)
|
}
|
||||||
|
catch (const boost::system::system_error& e)
|
||||||
{
|
{
|
||||||
|
std::cerr << "Error sending Galileo ephemeris: " << e.what() << '\n';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,21 +93,23 @@ bool Monitor_Ephemeris_Udp_Sink::write_gps_ephemeris(const std::shared_ptr<Gps_E
|
|||||||
outbound_data.append(serdes_gps.createProtobuffer(monitor_gps_eph));
|
outbound_data.append(serdes_gps.createProtobuffer(monitor_gps_eph));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const auto& endpoint : endpoints)
|
|
||||||
{
|
|
||||||
socket.open(endpoint.protocol(), error);
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (socket.send_to(boost::asio::buffer(outbound_data), endpoint) == 0)
|
for (const auto& endpoint : endpoints)
|
||||||
|
{
|
||||||
|
socket.open(endpoint.protocol(), error); // NOLINT(bugprone-unused-return-value)
|
||||||
|
|
||||||
|
if (socket.send_to(boost::asio::buffer(outbound_data), endpoint) == 0) // this can throw
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (boost::system::system_error const& e)
|
}
|
||||||
|
catch (const boost::system::system_error& e)
|
||||||
{
|
{
|
||||||
|
std::cerr << "Error sending GPS ephemeris: " << e.what() << '\n';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -54,21 +54,23 @@ bool Monitor_Pvt_Udp_Sink::write_monitor_pvt(const Monitor_Pvt* const monitor_pv
|
|||||||
outbound_data = serdes.createProtobuffer(monitor_pvt);
|
outbound_data = serdes.createProtobuffer(monitor_pvt);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const auto& endpoint : endpoints)
|
|
||||||
{
|
|
||||||
socket.open(endpoint.protocol(), error);
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (socket.send_to(boost::asio::buffer(outbound_data), endpoint) == 0)
|
for (const auto& endpoint : endpoints)
|
||||||
|
{
|
||||||
|
socket.open(endpoint.protocol(), error); // NOLINT(bugprone-unused-return-value)
|
||||||
|
|
||||||
|
if (socket.send_to(boost::asio::buffer(outbound_data), endpoint) == 0) // this can throw
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
catch (boost::system::system_error const& e)
|
catch (boost::system::system_error const& e)
|
||||||
{
|
{
|
||||||
|
std::cerr << "Error sending PVT data: " << e.what() << '\n';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
#include "gnss_sdr_filesystem.h"
|
#include "gnss_sdr_filesystem.h"
|
||||||
#include "rtklib_solution.h"
|
#include "rtklib_solution.h"
|
||||||
#include "rtklib_solver.h"
|
#include "rtklib_solver.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
@ -32,6 +31,12 @@
|
|||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
Nmea_Printer::Nmea_Printer(const std::string& filename,
|
Nmea_Printer::Nmea_Printer(const std::string& filename,
|
||||||
bool flag_nmea_output_file,
|
bool flag_nmea_output_file,
|
||||||
|
@ -16,8 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "pvt_kf.h"
|
#include "pvt_kf.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
void Pvt_Kf::init_Kf(const arma::vec& p,
|
void Pvt_Kf::init_Kf(const arma::vec& p,
|
||||||
const arma::vec& v,
|
const arma::vec& v,
|
||||||
|
@ -17,10 +17,14 @@
|
|||||||
|
|
||||||
#include "pvt_solution.h"
|
#include "pvt_solution.h"
|
||||||
#include "MATH_CONSTANTS.h"
|
#include "MATH_CONSTANTS.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
int Pvt_Solution::cart2geo(double X, double Y, double Z, int elipsoid_selection)
|
int Pvt_Solution::cart2geo(double X, double Y, double Z, int elipsoid_selection)
|
||||||
{
|
{
|
||||||
|
@ -42,7 +42,6 @@
|
|||||||
#include <boost/date_time/gregorian/gregorian.hpp>
|
#include <boost/date_time/gregorian/gregorian.hpp>
|
||||||
#include <boost/date_time/local_time/local_time.hpp>
|
#include <boost/date_time/local_time/local_time.hpp>
|
||||||
#include <boost/date_time/time_zone_base.hpp>
|
#include <boost/date_time/time_zone_base.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm> // for min and max
|
#include <algorithm> // for min and max
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <cmath> // for floor
|
#include <cmath> // for floor
|
||||||
@ -55,6 +54,11 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
Rinex_Printer::Rinex_Printer(int32_t conf_version,
|
Rinex_Printer::Rinex_Printer(int32_t conf_version,
|
||||||
const std::string& base_path,
|
const std::string& base_path,
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
#include "gps_ephemeris.h"
|
#include "gps_ephemeris.h"
|
||||||
#include <boost/asio.hpp>
|
#include <boost/asio.hpp>
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm> // for std::max, std::min, std::copy_n
|
#include <algorithm> // for std::max, std::min, std::copy_n
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <bitset>
|
#include <bitset>
|
||||||
@ -47,6 +46,12 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/** \addtogroup PVT
|
/** \addtogroup PVT
|
||||||
* \{ */
|
* \{ */
|
||||||
/** \addtogroup PVT_libs
|
/** \addtogroup PVT_libs
|
||||||
@ -723,10 +728,10 @@ private:
|
|||||||
{
|
{
|
||||||
if (first == true)
|
if (first == true)
|
||||||
{
|
{
|
||||||
LOG(INFO) << "Client says:";
|
DLOG(INFO) << "Client says:";
|
||||||
first = false;
|
first = false;
|
||||||
}
|
}
|
||||||
LOG(INFO) << client_says;
|
DLOG(INFO) << client_says;
|
||||||
client_says = client_says.substr(80, client_says.length() - 80);
|
client_says = client_says.substr(80, client_says.length() - 80);
|
||||||
}
|
}
|
||||||
do_read_message_header();
|
do_read_message_header();
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
#include "rtcm.h"
|
#include "rtcm.h"
|
||||||
#include "rtklib_solver.h"
|
#include "rtklib_solver.h"
|
||||||
#include <boost/exception/diagnostic_information.hpp>
|
#include <boost/exception/diagnostic_information.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <ctime> // for tm
|
#include <ctime> // for tm
|
||||||
#include <exception> // for exception
|
#include <exception> // for exception
|
||||||
#include <fcntl.h> // for O_RDWR
|
#include <fcntl.h> // for O_RDWR
|
||||||
@ -39,6 +38,11 @@
|
|||||||
#include <unistd.h> // for close, write
|
#include <unistd.h> // for close, write
|
||||||
#include <vector> // for std::vector
|
#include <vector> // for std::vector
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
Rtcm_Printer::Rtcm_Printer(const std::string& filename,
|
Rtcm_Printer::Rtcm_Printer(const std::string& filename,
|
||||||
bool flag_rtcm_file_dump,
|
bool flag_rtcm_file_dump,
|
||||||
|
@ -37,7 +37,6 @@
|
|||||||
#include "rtklib_ephemeris.h"
|
#include "rtklib_ephemeris.h"
|
||||||
#include "rtklib_rtkpos.h"
|
#include "rtklib_rtkpos.h"
|
||||||
#include "rtklib_solution.h"
|
#include "rtklib_solution.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <matio.h>
|
#include <matio.h>
|
||||||
#include "iostream"
|
#include "iostream"
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
@ -47,6 +46,11 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
Rtklib_Solver::Rtklib_Solver(const rtk_t &rtk,
|
Rtklib_Solver::Rtklib_Solver(const rtk_t &rtk,
|
||||||
const Pvt_Conf &conf,
|
const Pvt_Conf &conf,
|
||||||
|
@ -104,9 +104,15 @@ target_link_libraries(acquisition_adapters
|
|||||||
PRIVATE
|
PRIVATE
|
||||||
gnss_sdr_flags
|
gnss_sdr_flags
|
||||||
Boost::headers
|
Boost::headers
|
||||||
Glog::glog
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(ENABLE_GLOG_AND_GFLAGS)
|
||||||
|
target_link_libraries(acquisition_adapters PRIVATE Glog::glog)
|
||||||
|
target_compile_definitions(acquisition_adapters PRIVATE -DUSE_GLOG_AND_GFLAGS=1)
|
||||||
|
else()
|
||||||
|
target_link_libraries(acquisition_adapters PRIVATE absl::flags absl::log)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(GNURADIO_USES_STD_POINTERS)
|
if(GNURADIO_USES_STD_POINTERS)
|
||||||
target_compile_definitions(acquisition_adapters
|
target_compile_definitions(acquisition_adapters
|
||||||
PUBLIC -DGNURADIO_USES_STD_POINTERS=1
|
PUBLIC -DGNURADIO_USES_STD_POINTERS=1
|
||||||
|
@ -23,10 +23,15 @@
|
|||||||
#include "beidou_b1i_signal_replica.h"
|
#include "beidou_b1i_signal_replica.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -52,10 +57,17 @@ BeidouB1iPcpsAcquisition::BeidouB1iPcpsAcquisition(
|
|||||||
|
|
||||||
LOG(INFO) << "role " << role;
|
LOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
fs_in_ = acq_parameters_.fs_in;
|
fs_in_ = acq_parameters_.fs_in;
|
||||||
|
@ -21,9 +21,14 @@
|
|||||||
#include "beidou_b3i_signal_replica.h"
|
#include "beidou_b3i_signal_replica.h"
|
||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -48,10 +53,17 @@ BeidouB3iPcpsAcquisition::BeidouB3iPcpsAcquisition(
|
|||||||
|
|
||||||
LOG(INFO) << "role " << role;
|
LOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
item_type_ = acq_parameters_.item_type;
|
item_type_ = acq_parameters_.item_type;
|
||||||
|
@ -21,9 +21,14 @@
|
|||||||
#include "galileo_e1_signal_replica.h"
|
#include "galileo_e1_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -58,10 +63,17 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
|||||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||||
dump_filename_ = configuration_->property(role_ + ".dump_filename", default_dump_filename);
|
dump_filename_ = configuration_->property(role_ + ".dump_filename", default_dump_filename);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (sampled_ms_ % 4 != 0)
|
if (sampled_ms_ % 4 != 0)
|
||||||
{
|
{
|
||||||
|
@ -22,9 +22,14 @@
|
|||||||
#include "galileo_e1_signal_replica.h"
|
#include "galileo_e1_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -51,10 +56,17 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition(
|
|||||||
acq_parameters_.ms_per_code = 4;
|
acq_parameters_.ms_per_code = 4;
|
||||||
acq_parameters_.SetFromConfiguration(configuration_, role_, GALILEO_E1_CODE_CHIP_RATE_CPS, GALILEO_E1_OPT_ACQ_FS_SPS);
|
acq_parameters_.SetFromConfiguration(configuration_, role_, GALILEO_E1_CODE_CHIP_RATE_CPS, GALILEO_E1_OPT_ACQ_FS_SPS);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
item_type_ = acq_parameters_.item_type;
|
item_type_ = acq_parameters_.item_type;
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
#include "galileo_e1_signal_replica.h"
|
#include "galileo_e1_signal_replica.h"
|
||||||
#include "gnss_sdr_fft.h"
|
#include "gnss_sdr_fft.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/fft/fft.h> // for fft_complex
|
#include <gnuradio/fft/fft.h> // for fft_complex
|
||||||
#include <gnuradio/gr_complex.h> // for gr_complex
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
@ -30,6 +29,12 @@
|
|||||||
#include <cmath> // for abs, pow, floor
|
#include <cmath> // for abs, pow, floor
|
||||||
#include <complex> // for complex
|
#include <complex> // for complex
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
|
GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
|
||||||
const ConfigurationInterface* configuration,
|
const ConfigurationInterface* configuration,
|
||||||
const std::string& role,
|
const std::string& role,
|
||||||
@ -46,10 +51,17 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
|
|||||||
{
|
{
|
||||||
acq_parameters_.SetFromConfiguration(configuration, role_, fpga_buff_num, fpga_blk_exp, downsampling_factor_default, GALILEO_E1_CODE_CHIP_RATE_CPS, GALILEO_E1_B_CODE_LENGTH_CHIPS);
|
acq_parameters_.SetFromConfiguration(configuration, role_, fpga_buff_num, fpga_blk_exp, downsampling_factor_default, GALILEO_E1_CODE_CHIP_RATE_CPS, GALILEO_E1_B_CODE_LENGTH_CHIPS);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
fs_in_ = acq_parameters_.fs_in;
|
fs_in_ = acq_parameters_.fs_in;
|
||||||
|
@ -21,8 +21,12 @@
|
|||||||
#include "galileo_e1_signal_replica.h"
|
#include "galileo_e1_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition(
|
GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition(
|
||||||
const ConfigurationInterface* configuration,
|
const ConfigurationInterface* configuration,
|
||||||
@ -50,10 +54,17 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
|||||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||||
dump_filename_ = configuration_->property(role_ + ".dump_filename", default_dump_filename);
|
dump_filename_ = configuration_->property(role_ + ".dump_filename", default_dump_filename);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (sampled_ms_ % 4 != 0)
|
if (sampled_ms_ % 4 != 0)
|
||||||
{
|
{
|
||||||
|
@ -21,9 +21,14 @@
|
|||||||
#include "galileo_e1_signal_replica.h"
|
#include "galileo_e1_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -58,10 +63,17 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
|||||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||||
dump_filename_ = configuration_->property(role + ".dump_filename", default_dump_filename);
|
dump_filename_ = configuration_->property(role + ".dump_filename", default_dump_filename);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* --- Find number of samples per spreading code (4 ms) -----------------*/
|
/* --- Find number of samples per spreading code (4 ms) -----------------*/
|
||||||
code_length_ = static_cast<unsigned int>(round(
|
code_length_ = static_cast<unsigned int>(round(
|
||||||
|
@ -21,9 +21,14 @@
|
|||||||
#include "galileo_e1_signal_replica.h"
|
#include "galileo_e1_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -71,10 +76,17 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
|||||||
<< sampled_ms_ << " ms will be used.";
|
<< sampled_ms_ << " ms will be used.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool enable_monitor_output = configuration_->property("AcquisitionMonitor.enable_monitor", false);
|
bool enable_monitor_output = configuration_->property("AcquisitionMonitor.enable_monitor", false);
|
||||||
|
|
||||||
|
@ -27,9 +27,14 @@
|
|||||||
#include "galileo_e5_signal_replica.h"
|
#include "galileo_e5_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -67,10 +72,17 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
|||||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 32000000);
|
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 32000000);
|
||||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
DLOG(INFO) << "role " << role_;
|
DLOG(INFO) << "role " << role_;
|
||||||
if (sampled_ms_ > 3)
|
if (sampled_ms_ > 3)
|
||||||
|
@ -21,10 +21,15 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "galileo_e5_signal_replica.h"
|
#include "galileo_e5_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -51,10 +56,17 @@ GalileoE5aPcpsAcquisition::GalileoE5aPcpsAcquisition(
|
|||||||
acq_parameters_.ms_per_code = 1;
|
acq_parameters_.ms_per_code = 1;
|
||||||
acq_parameters_.SetFromConfiguration(configuration, role_, GALILEO_E5A_CODE_CHIP_RATE_CPS, GALILEO_E5A_OPT_ACQ_FS_SPS);
|
acq_parameters_.SetFromConfiguration(configuration, role_, GALILEO_E5A_CODE_CHIP_RATE_CPS, GALILEO_E5A_OPT_ACQ_FS_SPS);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
item_type_ = acq_parameters_.item_type;
|
item_type_ = acq_parameters_.item_type;
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
#include "galileo_e5_signal_replica.h"
|
#include "galileo_e5_signal_replica.h"
|
||||||
#include "gnss_sdr_fft.h"
|
#include "gnss_sdr_fft.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/gr_complex.h> // for gr_complex
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_alloc.h>
|
#include <volk_gnsssdr/volk_gnsssdr_alloc.h>
|
||||||
@ -29,6 +28,12 @@
|
|||||||
#include <cmath> // for abs, pow, floor
|
#include <cmath> // for abs, pow, floor
|
||||||
#include <complex> // for complex
|
#include <complex> // for complex
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(
|
GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(
|
||||||
const ConfigurationInterface* configuration,
|
const ConfigurationInterface* configuration,
|
||||||
const std::string& role,
|
const std::string& role,
|
||||||
@ -45,10 +50,17 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(
|
|||||||
{
|
{
|
||||||
acq_parameters_.SetFromConfiguration(configuration, role_, fpga_buff_num, fpga_blk_exp, downsampling_factor_default, GALILEO_E5A_CODE_CHIP_RATE_CPS, GALILEO_E5A_CODE_LENGTH_CHIPS);
|
acq_parameters_.SetFromConfiguration(configuration, role_, fpga_buff_num, fpga_blk_exp, downsampling_factor_default, GALILEO_E5A_CODE_CHIP_RATE_CPS, GALILEO_E5A_CODE_LENGTH_CHIPS);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
fs_in_ = acq_parameters_.fs_in;
|
fs_in_ = acq_parameters_.fs_in;
|
||||||
|
@ -22,10 +22,15 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "galileo_e5_signal_replica.h"
|
#include "galileo_e5_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -51,10 +56,17 @@ GalileoE5bPcpsAcquisition::GalileoE5bPcpsAcquisition(const ConfigurationInterfac
|
|||||||
acq_parameters_.ms_per_code = 1;
|
acq_parameters_.ms_per_code = 1;
|
||||||
acq_parameters_.SetFromConfiguration(configuration, role_, GALILEO_E5B_CODE_CHIP_RATE_CPS, GALILEO_E5B_OPT_ACQ_FS_SPS);
|
acq_parameters_.SetFromConfiguration(configuration, role_, GALILEO_E5B_CODE_CHIP_RATE_CPS, GALILEO_E5B_OPT_ACQ_FS_SPS);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
item_type_ = acq_parameters_.item_type;
|
item_type_ = acq_parameters_.item_type;
|
||||||
|
@ -22,13 +22,18 @@
|
|||||||
#include "galileo_e5_signal_replica.h"
|
#include "galileo_e5_signal_replica.h"
|
||||||
#include "gnss_sdr_fft.h"
|
#include "gnss_sdr_fft.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/gr_complex.h> // for gr_complex
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
#include <algorithm> // for copy_n
|
#include <algorithm> // for copy_n
|
||||||
#include <cmath> // for abs, pow, floor
|
#include <cmath> // for abs, pow, floor
|
||||||
#include <complex> // for complex
|
#include <complex> // for complex
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
GalileoE5bPcpsAcquisitionFpga::GalileoE5bPcpsAcquisitionFpga(const ConfigurationInterface* configuration,
|
GalileoE5bPcpsAcquisitionFpga::GalileoE5bPcpsAcquisitionFpga(const ConfigurationInterface* configuration,
|
||||||
const std::string& role,
|
const std::string& role,
|
||||||
unsigned int in_streams,
|
unsigned int in_streams,
|
||||||
@ -44,10 +49,17 @@ GalileoE5bPcpsAcquisitionFpga::GalileoE5bPcpsAcquisitionFpga(const Configuration
|
|||||||
acq_iq_(configuration->property(role + ".acquire_iq", false))
|
acq_iq_(configuration->property(role + ".acquire_iq", false))
|
||||||
{
|
{
|
||||||
acq_parameters_.SetFromConfiguration(configuration, role_, fpga_buff_num, fpga_blk_exp, downsampling_factor_default, GALILEO_E5B_CODE_CHIP_RATE_CPS, GALILEO_E5B_CODE_LENGTH_CHIPS);
|
acq_parameters_.SetFromConfiguration(configuration, role_, fpga_buff_num, fpga_blk_exp, downsampling_factor_default, GALILEO_E5B_CODE_CHIP_RATE_CPS, GALILEO_E5B_CODE_LENGTH_CHIPS);
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
fs_in_ = acq_parameters_.fs_in;
|
fs_in_ = acq_parameters_.fs_in;
|
||||||
|
@ -21,9 +21,14 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "galileo_e6_signal_replica.h"
|
#include "galileo_e6_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -51,10 +56,17 @@ GalileoE6PcpsAcquisition::GalileoE6PcpsAcquisition(
|
|||||||
|
|
||||||
DLOG(INFO) << "role " << role;
|
DLOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
item_type_ = acq_parameters_.item_type;
|
item_type_ = acq_parameters_.item_type;
|
||||||
|
@ -23,9 +23,14 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "glonass_l1_signal_replica.h"
|
#include "glonass_l1_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -51,10 +56,17 @@ GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
|||||||
|
|
||||||
DLOG(INFO) << "role " << role;
|
DLOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
item_type_ = acq_parameters_.item_type;
|
item_type_ = acq_parameters_.item_type;
|
||||||
|
@ -22,9 +22,14 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "glonass_l2_signal_replica.h"
|
#include "glonass_l2_signal_replica.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -50,10 +55,17 @@ GlonassL2CaPcpsAcquisition::GlonassL2CaPcpsAcquisition(
|
|||||||
|
|
||||||
DLOG(INFO) << "role " << role;
|
DLOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
item_type_ = acq_parameters_.item_type;
|
item_type_ = acq_parameters_.item_type;
|
||||||
|
@ -25,9 +25,14 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_sdr_signal_replica.h"
|
#include "gps_sdr_signal_replica.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -54,10 +59,17 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
|||||||
|
|
||||||
DLOG(INFO) << "role " << role;
|
DLOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
|
@ -24,8 +24,12 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_sdr_signal_replica.h"
|
#include "gps_sdr_signal_replica.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
||||||
const ConfigurationInterface* configuration,
|
const ConfigurationInterface* configuration,
|
||||||
@ -57,10 +61,17 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
|||||||
acq_parameters.dump = dump_;
|
acq_parameters.dump = dump_;
|
||||||
dump_filename_ = configuration->property(role_ + ".dump_filename", std::move(default_dump_filename));
|
dump_filename_ = configuration->property(role_ + ".dump_filename", std::move(default_dump_filename));
|
||||||
acq_parameters.dump_filename = dump_filename_;
|
acq_parameters.dump_filename = dump_filename_;
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
acq_parameters.doppler_max = doppler_max_;
|
acq_parameters.doppler_max = doppler_max_;
|
||||||
acq_parameters.sampled_ms = sampled_ms_;
|
acq_parameters.sampled_ms = sampled_ms_;
|
||||||
acq_parameters.max_dwells = max_dwells_;
|
acq_parameters.max_dwells = max_dwells_;
|
||||||
|
@ -24,13 +24,18 @@
|
|||||||
#include "gnss_sdr_fft.h"
|
#include "gnss_sdr_fft.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_sdr_signal_replica.h"
|
#include "gps_sdr_signal_replica.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/gr_complex.h> // for gr_complex
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
#include <algorithm> // for copy_n
|
#include <algorithm> // for copy_n
|
||||||
#include <cmath> // for abs, pow, floor
|
#include <cmath> // for abs, pow, floor
|
||||||
#include <complex> // for complex
|
#include <complex> // for complex
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
||||||
const ConfigurationInterface* configuration,
|
const ConfigurationInterface* configuration,
|
||||||
const std::string& role,
|
const std::string& role,
|
||||||
@ -47,10 +52,17 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
|||||||
|
|
||||||
DLOG(INFO) << "role " << role;
|
DLOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
fs_in_ = acq_parameters_.fs_in;
|
fs_in_ = acq_parameters_.fs_in;
|
||||||
|
@ -23,8 +23,12 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_sdr_signal_replica.h"
|
#include "gps_sdr_signal_replica.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
||||||
const ConfigurationInterface* configuration,
|
const ConfigurationInterface* configuration,
|
||||||
@ -51,10 +55,17 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
|||||||
int64_t fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000);
|
int64_t fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000);
|
||||||
fs_in_ = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
fs_in_ = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_min_ = configuration->property(role_ + ".doppler_min", -doppler_max_);
|
doppler_min_ = configuration->property(role_ + ".doppler_min", -doppler_max_);
|
||||||
|
|
||||||
bool enable_monitor_output = configuration->property("AcquisitionMonitor.enable_monitor", false);
|
bool enable_monitor_output = configuration->property("AcquisitionMonitor.enable_monitor", false);
|
||||||
|
@ -21,9 +21,14 @@
|
|||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_sdr_signal_replica.h"
|
#include "gps_sdr_signal_replica.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -58,10 +63,17 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
|||||||
fs_in_ = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
fs_in_ = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||||
dump_ = configuration->property(role + ".dump", false);
|
dump_ = configuration->property(role + ".dump", false);
|
||||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1);
|
sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1);
|
||||||
|
|
||||||
bit_transition_flag_ = configuration->property("Acquisition.bit_transition_flag", false);
|
bit_transition_flag_ = configuration->property("Acquisition.bit_transition_flag", false);
|
||||||
|
@ -22,9 +22,14 @@
|
|||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_sdr_signal_replica.h"
|
#include "gps_sdr_signal_replica.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -58,10 +63,17 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition(
|
|||||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000);
|
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000);
|
||||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// -- Find number of samples per spreading code -------------------------
|
// -- Find number of samples per spreading code -------------------------
|
||||||
code_length_ = static_cast<unsigned int>(round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)));
|
code_length_ = static_cast<unsigned int>(round(fs_in_ / (GPS_L1_CA_CODE_RATE_CPS / GPS_L1_CA_CODE_LENGTH_CHIPS)));
|
||||||
|
@ -21,9 +21,14 @@
|
|||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_sdr_signal_replica.h"
|
#include "gps_sdr_signal_replica.h"
|
||||||
#include <boost/math/distributions/exponential.hpp>
|
#include <boost/math/distributions/exponential.hpp>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -63,10 +68,17 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition(
|
|||||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||||
dump_filename_ = configuration_->property(role_ + ".dump_filename", std::move(default_dump_filename));
|
dump_filename_ = configuration_->property(role_ + ".dump_filename", std::move(default_dump_filename));
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
doppler_max_ = FLAGS_doppler_max;
|
doppler_max_ = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
doppler_max_ = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
bool enable_monitor_output = configuration_->property("AcquisitionMonitor.enable_monitor", false);
|
bool enable_monitor_output = configuration_->property("AcquisitionMonitor.enable_monitor", false);
|
||||||
|
|
||||||
// -- Find number of samples per spreading code -------------------------
|
// -- Find number of samples per spreading code -------------------------
|
||||||
|
@ -23,9 +23,14 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_l2c_signal_replica.h"
|
#include "gps_l2c_signal_replica.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -52,10 +57,17 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition(
|
|||||||
|
|
||||||
DLOG(INFO) << "Role " << role;
|
DLOG(INFO) << "Role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
item_type_ = acq_parameters_.item_type;
|
item_type_ = acq_parameters_.item_type;
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
#include "gnss_sdr_fft.h"
|
#include "gnss_sdr_fft.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_l2c_signal_replica.h"
|
#include "gps_l2c_signal_replica.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/gr_complex.h> // for gr_complex
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_alloc.h>
|
#include <volk_gnsssdr/volk_gnsssdr_alloc.h>
|
||||||
@ -31,6 +30,12 @@
|
|||||||
#include <cmath> // for abs, pow, floor
|
#include <cmath> // for abs, pow, floor
|
||||||
#include <complex> // for complex
|
#include <complex> // for complex
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
|
GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
|
||||||
const ConfigurationInterface* configuration,
|
const ConfigurationInterface* configuration,
|
||||||
const std::string& role,
|
const std::string& role,
|
||||||
@ -47,10 +52,17 @@ GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
|
|||||||
|
|
||||||
LOG(INFO) << "role " << role;
|
LOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
fs_in_ = acq_parameters_.fs_in;
|
fs_in_ = acq_parameters_.fs_in;
|
||||||
|
@ -23,8 +23,14 @@
|
|||||||
#include "configuration_interface.h"
|
#include "configuration_interface.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_l5_signal_replica.h"
|
#include "gps_l5_signal_replica.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -51,10 +57,17 @@ GpsL5iPcpsAcquisition::GpsL5iPcpsAcquisition(
|
|||||||
|
|
||||||
DLOG(INFO) << "role " << role;
|
DLOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#include "gnss_sdr_fft.h"
|
#include "gnss_sdr_fft.h"
|
||||||
#include "gnss_sdr_flags.h"
|
#include "gnss_sdr_flags.h"
|
||||||
#include "gps_l5_signal_replica.h"
|
#include "gps_l5_signal_replica.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/gr_complex.h> // for gr_complex
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
#include <volk/volk.h> // for volk_32fc_conjugate_32fc
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_alloc.h>
|
#include <volk_gnsssdr/volk_gnsssdr_alloc.h>
|
||||||
@ -32,6 +31,12 @@
|
|||||||
#include <cmath> // for abs, pow, floor
|
#include <cmath> // for abs, pow, floor
|
||||||
#include <complex> // for complex
|
#include <complex> // for complex
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga(
|
GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga(
|
||||||
const ConfigurationInterface* configuration,
|
const ConfigurationInterface* configuration,
|
||||||
const std::string& role,
|
const std::string& role,
|
||||||
@ -48,10 +53,17 @@ GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga(
|
|||||||
|
|
||||||
LOG(INFO) << "role " << role;
|
LOG(INFO) << "role " << role;
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
if (FLAGS_doppler_max != 0)
|
if (FLAGS_doppler_max != 0)
|
||||||
{
|
{
|
||||||
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
acq_parameters_.doppler_max = FLAGS_doppler_max;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (absl::GetFlag(FLAGS_doppler_max) != 0)
|
||||||
|
{
|
||||||
|
acq_parameters_.doppler_max = absl::GetFlag(FLAGS_doppler_max);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
doppler_max_ = acq_parameters_.doppler_max;
|
doppler_max_ = acq_parameters_.doppler_max;
|
||||||
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
doppler_step_ = static_cast<unsigned int>(acq_parameters_.doppler_step);
|
||||||
fs_in_ = acq_parameters_.fs_in;
|
fs_in_ = acq_parameters_.fs_in;
|
||||||
|
@ -65,11 +65,16 @@ target_link_libraries(acquisition_gr_blocks
|
|||||||
Volk::volk
|
Volk::volk
|
||||||
Volkgnsssdr::volkgnsssdr
|
Volkgnsssdr::volkgnsssdr
|
||||||
PRIVATE
|
PRIVATE
|
||||||
Gflags::gflags
|
|
||||||
Glog::glog
|
|
||||||
Matio::matio
|
Matio::matio
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(ENABLE_GLOG_AND_GFLAGS)
|
||||||
|
target_link_libraries(acquisition_gr_blocks PRIVATE Gflags::gflags Glog::glog)
|
||||||
|
target_compile_definitions(acquisition_gr_blocks PRIVATE -DUSE_GLOG_AND_GFLAGS=1)
|
||||||
|
else()
|
||||||
|
target_link_libraries(acquisition_gr_blocks PRIVATE absl::flags absl::log)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_include_directories(acquisition_gr_blocks
|
target_include_directories(acquisition_gr_blocks
|
||||||
PRIVATE
|
PRIVATE
|
||||||
${GNSSSDR_SOURCE_DIR}/src/core/receiver
|
${GNSSSDR_SOURCE_DIR}/src/core/receiver
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
#include "galileo_e5a_noncoherent_iq_acquisition_caf_cc.h"
|
#include "galileo_e5a_noncoherent_iq_acquisition_caf_cc.h"
|
||||||
#include "MATH_CONSTANTS.h"
|
#include "MATH_CONSTANTS.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <volk/volk.h>
|
#include <volk/volk.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
@ -32,6 +31,12 @@
|
|||||||
#include <exception>
|
#include <exception>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
galileo_e5a_noncoherentIQ_acquisition_caf_cc_sptr galileo_e5a_noncoherentIQ_make_acquisition_caf_cc(
|
galileo_e5a_noncoherentIQ_acquisition_caf_cc_sptr galileo_e5a_noncoherentIQ_make_acquisition_caf_cc(
|
||||||
unsigned int sampled_ms,
|
unsigned int sampled_ms,
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
#include "galileo_pcps_8ms_acquisition_cc.h"
|
#include "galileo_pcps_8ms_acquisition_cc.h"
|
||||||
#include "MATH_CONSTANTS.h"
|
#include "MATH_CONSTANTS.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <volk/volk.h>
|
#include <volk/volk.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
@ -26,6 +25,11 @@
|
|||||||
#include <exception>
|
#include <exception>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
galileo_pcps_8ms_acquisition_cc_sptr galileo_pcps_8ms_make_acquisition_cc(
|
galileo_pcps_8ms_acquisition_cc_sptr galileo_pcps_8ms_make_acquisition_cc(
|
||||||
uint32_t sampled_ms,
|
uint32_t sampled_ms,
|
||||||
|
@ -39,6 +39,12 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
pcps_acquisition_sptr pcps_make_acquisition(const Acq_Conf& conf_)
|
pcps_acquisition_sptr pcps_make_acquisition(const Acq_Conf& conf_)
|
||||||
{
|
{
|
||||||
@ -687,12 +693,14 @@ void pcps_acquisition::acquisition_core(uint64_t samp_count)
|
|||||||
d_gnss_synchro->Acq_delay_samples -= static_cast<double>(d_acq_parameters.resampler_latency_samples); // account the resampler filter latency
|
d_gnss_synchro->Acq_delay_samples -= static_cast<double>(d_acq_parameters.resampler_latency_samples); // account the resampler filter latency
|
||||||
d_gnss_synchro->Acq_doppler_hz = static_cast<double>(doppler);
|
d_gnss_synchro->Acq_doppler_hz = static_cast<double>(doppler);
|
||||||
d_gnss_synchro->Acq_samplestamp_samples = rint(static_cast<double>(samp_count) * d_acq_parameters.resampler_ratio);
|
d_gnss_synchro->Acq_samplestamp_samples = rint(static_cast<double>(samp_count) * d_acq_parameters.resampler_ratio);
|
||||||
|
d_gnss_synchro->fs = d_acq_parameters.resampled_fs;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
d_gnss_synchro->Acq_delay_samples = static_cast<double>(std::fmod(static_cast<float>(indext), d_acq_parameters.samples_per_code));
|
d_gnss_synchro->Acq_delay_samples = static_cast<double>(std::fmod(static_cast<float>(indext), d_acq_parameters.samples_per_code));
|
||||||
d_gnss_synchro->Acq_doppler_hz = static_cast<double>(doppler);
|
d_gnss_synchro->Acq_doppler_hz = static_cast<double>(doppler);
|
||||||
d_gnss_synchro->Acq_samplestamp_samples = samp_count;
|
d_gnss_synchro->Acq_samplestamp_samples = samp_count;
|
||||||
|
d_gnss_synchro->fs = d_acq_parameters.fs_in;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -746,6 +754,7 @@ void pcps_acquisition::acquisition_core(uint64_t samp_count)
|
|||||||
d_gnss_synchro->Acq_doppler_hz = static_cast<double>(doppler);
|
d_gnss_synchro->Acq_doppler_hz = static_cast<double>(doppler);
|
||||||
d_gnss_synchro->Acq_samplestamp_samples = rint(static_cast<double>(samp_count) * d_acq_parameters.resampler_ratio);
|
d_gnss_synchro->Acq_samplestamp_samples = rint(static_cast<double>(samp_count) * d_acq_parameters.resampler_ratio);
|
||||||
d_gnss_synchro->Acq_doppler_step = d_acq_parameters.doppler_step2;
|
d_gnss_synchro->Acq_doppler_step = d_acq_parameters.doppler_step2;
|
||||||
|
d_gnss_synchro->fs = d_acq_parameters.resampled_fs;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -753,6 +762,7 @@ void pcps_acquisition::acquisition_core(uint64_t samp_count)
|
|||||||
d_gnss_synchro->Acq_doppler_hz = static_cast<double>(doppler);
|
d_gnss_synchro->Acq_doppler_hz = static_cast<double>(doppler);
|
||||||
d_gnss_synchro->Acq_samplestamp_samples = samp_count;
|
d_gnss_synchro->Acq_samplestamp_samples = samp_count;
|
||||||
d_gnss_synchro->Acq_doppler_step = d_acq_parameters.doppler_step2;
|
d_gnss_synchro->Acq_doppler_step = d_acq_parameters.doppler_step2;
|
||||||
|
d_gnss_synchro->fs = d_acq_parameters.fs_in;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -897,6 +907,18 @@ void pcps_acquisition::calculate_threshold()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void pcps_acquisition::set_doppler_center(int32_t doppler_center)
|
||||||
|
{
|
||||||
|
gr::thread::scoped_lock lock(d_setlock); // require mutex with work function called by the scheduler
|
||||||
|
if (doppler_center != d_doppler_center)
|
||||||
|
{
|
||||||
|
DLOG(INFO) << " Doppler assistance for Channel: " << d_channel << " => Doppler: " << doppler_center << "[Hz]";
|
||||||
|
d_doppler_center = doppler_center;
|
||||||
|
update_grid_doppler_wipeoffs();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int pcps_acquisition::general_work(int noutput_items __attribute__((unused)),
|
int pcps_acquisition::general_work(int noutput_items __attribute__((unused)),
|
||||||
gr_vector_int& ninput_items,
|
gr_vector_int& ninput_items,
|
||||||
gr_vector_const_void_star& input_items,
|
gr_vector_const_void_star& input_items,
|
||||||
|
@ -46,7 +46,6 @@
|
|||||||
#include "channel_fsm.h"
|
#include "channel_fsm.h"
|
||||||
#include "gnss_sdr_fft.h"
|
#include "gnss_sdr_fft.h"
|
||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/block.h>
|
#include <gnuradio/block.h>
|
||||||
#include <gnuradio/gr_complex.h> // for gr_complex
|
#include <gnuradio/gr_complex.h> // for gr_complex
|
||||||
#include <gnuradio/thread/thread.h> // for scoped_lock
|
#include <gnuradio/thread/thread.h> // for scoped_lock
|
||||||
@ -60,6 +59,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
|
||||||
#if HAS_STD_SPAN
|
#if HAS_STD_SPAN
|
||||||
#include <span>
|
#include <span>
|
||||||
namespace own = std;
|
namespace own = std;
|
||||||
@ -196,16 +196,7 @@ public:
|
|||||||
* \brief Set Doppler center frequency for the grid search. It will refresh the Doppler grid.
|
* \brief Set Doppler center frequency for the grid search. It will refresh the Doppler grid.
|
||||||
* \param doppler_center - Frequency center of the search grid [Hz].
|
* \param doppler_center - Frequency center of the search grid [Hz].
|
||||||
*/
|
*/
|
||||||
inline void set_doppler_center(int32_t doppler_center)
|
void set_doppler_center(int32_t doppler_center);
|
||||||
{
|
|
||||||
gr::thread::scoped_lock lock(d_setlock); // require mutex with work function called by the scheduler
|
|
||||||
if (doppler_center != d_doppler_center)
|
|
||||||
{
|
|
||||||
DLOG(INFO) << " Doppler assistance for Channel: " << d_channel << " => Doppler: " << doppler_center << "[Hz]";
|
|
||||||
d_doppler_center = doppler_center;
|
|
||||||
update_grid_doppler_wipeoffs();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Parallel Code Phase Search Acquisition signal processing.
|
* \brief Parallel Code Phase Search Acquisition signal processing.
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
#include "gnss_sdr_create_directory.h"
|
#include "gnss_sdr_create_directory.h"
|
||||||
#include "gnss_sdr_filesystem.h"
|
#include "gnss_sdr_filesystem.h"
|
||||||
#include "gps_sdr_signal_replica.h"
|
#include "gps_sdr_signal_replica.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <matio.h>
|
#include <matio.h>
|
||||||
#include <volk/volk.h>
|
#include <volk/volk.h>
|
||||||
@ -30,6 +29,12 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
pcps_acquisition_fine_doppler_cc_sptr pcps_make_acquisition_fine_doppler_cc(const Acq_Conf &conf_)
|
pcps_acquisition_fine_doppler_cc_sptr pcps_make_acquisition_fine_doppler_cc(const Acq_Conf &conf_)
|
||||||
{
|
{
|
||||||
|
@ -21,12 +21,17 @@
|
|||||||
#include "pcps_acquisition_fpga.h"
|
#include "pcps_acquisition_fpga.h"
|
||||||
#include "gnss_sdr_make_unique.h" // for std::make_unique in C++11
|
#include "gnss_sdr_make_unique.h" // for std::make_unique in C++11
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <cmath> // for ceil
|
#include <cmath> // for ceil
|
||||||
#include <iostream> // for operator<<
|
#include <iostream> // for operator<<
|
||||||
#include <utility> // for move
|
#include <utility> // for move
|
||||||
|
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
pcps_acquisition_fpga_sptr pcps_make_acquisition_fpga(Acq_Conf_Fpga& conf_)
|
pcps_acquisition_fpga_sptr pcps_make_acquisition_fpga(Acq_Conf_Fpga& conf_)
|
||||||
{
|
{
|
||||||
return pcps_acquisition_fpga_sptr(new pcps_acquisition_fpga(conf_));
|
return pcps_acquisition_fpga_sptr(new pcps_acquisition_fpga(conf_));
|
||||||
@ -288,6 +293,16 @@ void pcps_acquisition_fpga::set_active(bool active)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void pcps_acquisition_fpga::set_doppler_center(int32_t doppler_center)
|
||||||
|
{
|
||||||
|
if (doppler_center != d_doppler_center)
|
||||||
|
{
|
||||||
|
DLOG(INFO) << " Doppler assistance for Channel: " << d_channel << " => Doppler: " << doppler_center << "[Hz]";
|
||||||
|
d_doppler_center = doppler_center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void pcps_acquisition_fpga::reset_acquisition()
|
void pcps_acquisition_fpga::reset_acquisition()
|
||||||
{
|
{
|
||||||
// this function triggers a HW reset of the FPGA PL.
|
// this function triggers a HW reset of the FPGA PL.
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
#include "acq_conf_fpga.h"
|
#include "acq_conf_fpga.h"
|
||||||
#include "channel_fsm.h"
|
#include "channel_fsm.h"
|
||||||
#include "fpga_acquisition.h"
|
#include "fpga_acquisition.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <cstdint> // for uint32_t
|
#include <cstdint> // for uint32_t
|
||||||
#include <memory> // for shared_ptr
|
#include <memory> // for shared_ptr
|
||||||
#include <string> // for string
|
#include <string> // for string
|
||||||
@ -156,14 +155,7 @@ public:
|
|||||||
* \brief Set Doppler center frequency for the grid search. It will refresh the Doppler grid.
|
* \brief Set Doppler center frequency for the grid search. It will refresh the Doppler grid.
|
||||||
* \param doppler_center - Frequency center of the search grid [Hz].
|
* \param doppler_center - Frequency center of the search grid [Hz].
|
||||||
*/
|
*/
|
||||||
inline void set_doppler_center(int32_t doppler_center)
|
void set_doppler_center(int32_t doppler_center);
|
||||||
{
|
|
||||||
if (doppler_center != d_doppler_center)
|
|
||||||
{
|
|
||||||
DLOG(INFO) << " Doppler assistance for Channel: " << d_channel << " => Doppler: " << doppler_center << "[Hz]";
|
|
||||||
d_doppler_center = doppler_center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This function triggers a HW reset of the FPGA PL.
|
* \brief This function triggers a HW reset of the FPGA PL.
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
#include "MATH_CONSTANTS.h"
|
#include "MATH_CONSTANTS.h"
|
||||||
#include "concurrent_map.h"
|
#include "concurrent_map.h"
|
||||||
#include "gps_acq_assist.h"
|
#include "gps_acq_assist.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <volk/volk.h>
|
#include <volk/volk.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
@ -30,6 +29,11 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
extern Concurrent_Map<Gps_Acq_Assist> global_gps_acq_assist_map;
|
extern Concurrent_Map<Gps_Acq_Assist> global_gps_acq_assist_map;
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
#include "pcps_cccwsr_acquisition_cc.h"
|
#include "pcps_cccwsr_acquisition_cc.h"
|
||||||
#include "MATH_CONSTANTS.h" // TWO_PI
|
#include "MATH_CONSTANTS.h" // TWO_PI
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <volk/volk.h>
|
#include <volk/volk.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
@ -32,6 +31,12 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
pcps_cccwsr_acquisition_cc_sptr pcps_cccwsr_make_acquisition_cc(
|
pcps_cccwsr_acquisition_cc_sptr pcps_cccwsr_make_acquisition_cc(
|
||||||
uint32_t sampled_ms,
|
uint32_t sampled_ms,
|
||||||
|
@ -38,7 +38,6 @@
|
|||||||
#include "MATH_CONSTANTS.h" // TWO_PI
|
#include "MATH_CONSTANTS.h" // TWO_PI
|
||||||
#include "opencl/fft_base_kernels.h"
|
#include "opencl/fft_base_kernels.h"
|
||||||
#include "opencl/fft_internal.h"
|
#include "opencl/fft_internal.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <volk/volk.h>
|
#include <volk/volk.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
@ -50,6 +49,12 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
pcps_opencl_acquisition_cc_sptr pcps_make_opencl_acquisition_cc(
|
pcps_opencl_acquisition_cc_sptr pcps_make_opencl_acquisition_cc(
|
||||||
uint32_t sampled_ms, uint32_t max_dwells,
|
uint32_t sampled_ms, uint32_t max_dwells,
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
#include "pcps_quicksync_acquisition_cc.h"
|
#include "pcps_quicksync_acquisition_cc.h"
|
||||||
#include "MATH_CONSTANTS.h"
|
#include "MATH_CONSTANTS.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <volk/volk.h>
|
#include <volk/volk.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
@ -25,6 +24,12 @@
|
|||||||
#include <exception>
|
#include <exception>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
pcps_quicksync_acquisition_cc_sptr pcps_quicksync_make_acquisition_cc(
|
pcps_quicksync_acquisition_cc_sptr pcps_quicksync_make_acquisition_cc(
|
||||||
uint32_t folding_factor,
|
uint32_t folding_factor,
|
||||||
|
@ -36,7 +36,6 @@
|
|||||||
|
|
||||||
#include "pcps_tong_acquisition_cc.h"
|
#include "pcps_tong_acquisition_cc.h"
|
||||||
#include "MATH_CONSTANTS.h" // for TWO_PI
|
#include "MATH_CONSTANTS.h" // for TWO_PI
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <volk/volk.h>
|
#include <volk/volk.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
@ -45,6 +44,12 @@
|
|||||||
#include <exception>
|
#include <exception>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
pcps_tong_acquisition_cc_sptr pcps_tong_make_acquisition_cc(
|
pcps_tong_acquisition_cc_sptr pcps_tong_make_acquisition_cc(
|
||||||
uint32_t sampled_ms,
|
uint32_t sampled_ms,
|
||||||
|
@ -38,12 +38,17 @@ target_link_libraries(acquisition_libs
|
|||||||
INTERFACE
|
INTERFACE
|
||||||
Gnuradio::runtime
|
Gnuradio::runtime
|
||||||
PRIVATE
|
PRIVATE
|
||||||
Gflags::gflags
|
|
||||||
Glog::glog
|
|
||||||
algorithms_libs
|
algorithms_libs
|
||||||
core_system_parameters
|
core_system_parameters
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(ENABLE_GLOG_AND_GFLAGS)
|
||||||
|
target_link_libraries(acquisition_libs PRIVATE Gflags::gflags Glog::glog)
|
||||||
|
target_compile_definitions(acquisition_libs PRIVATE -DUSE_GLOG_AND_GFLAGS=1)
|
||||||
|
else()
|
||||||
|
target_link_libraries(acquisition_libs PRIVATE absl::flags absl::log)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(ENABLE_CLANG_TIDY)
|
if(ENABLE_CLANG_TIDY)
|
||||||
if(CLANG_TIDY_EXE)
|
if(CLANG_TIDY_EXE)
|
||||||
set_target_properties(acquisition_libs
|
set_target_properties(acquisition_libs
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
|
|
||||||
#include "acq_conf.h"
|
#include "acq_conf.h"
|
||||||
#include "item_type_helpers.h"
|
#include "item_type_helpers.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void Acq_Conf::SetFromConfiguration(const ConfigurationInterface *configuration,
|
void Acq_Conf::SetFromConfiguration(const ConfigurationInterface *configuration,
|
||||||
const std::string &role, double chip_rate, double opt_freq)
|
const std::string &role, double chip_rate, double opt_freq)
|
||||||
|
@ -18,11 +18,16 @@
|
|||||||
#include "acq_conf_fpga.h"
|
#include "acq_conf_fpga.h"
|
||||||
#include "item_type_helpers.h"
|
#include "item_type_helpers.h"
|
||||||
#include "uio_fpga.h"
|
#include "uio_fpga.h"
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
void Acq_Conf_Fpga::SetFromConfiguration(const ConfigurationInterface *configuration,
|
void Acq_Conf_Fpga::SetFromConfiguration(const ConfigurationInterface *configuration,
|
||||||
const std::string &role, uint32_t sel_queue_fpga, uint32_t blk_exp, uint32_t downsampling_factor_default, double chip_rate, double code_length_chips)
|
const std::string &role, uint32_t sel_queue_fpga, uint32_t blk_exp, uint32_t downsampling_factor_default, double chip_rate, double code_length_chips)
|
||||||
{
|
{
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
|
|
||||||
#include "fpga_acquisition.h"
|
#include "fpga_acquisition.h"
|
||||||
#include "MATH_CONSTANTS.h" // for TWO_PI
|
#include "MATH_CONSTANTS.h" // for TWO_PI
|
||||||
#include <glog/logging.h> // for LOG
|
|
||||||
#include <cmath> // for log2
|
#include <cmath> // for log2
|
||||||
#include <fcntl.h> // libraries used by the GIPO
|
#include <fcntl.h> // libraries used by the GIPO
|
||||||
#include <iostream> // for operator<<
|
#include <iostream> // for operator<<
|
||||||
@ -29,6 +28,11 @@
|
|||||||
#include <unistd.h> // for write, close, read, ssize_t
|
#include <unistd.h> // for write, close, read, ssize_t
|
||||||
#include <utility> // for move
|
#include <utility> // for move
|
||||||
|
|
||||||
|
#if USE_GLOG_AND_GFLAGS
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#else
|
||||||
|
#include <absl/log/log.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef TEMP_FAILURE_RETRY
|
#ifndef TEMP_FAILURE_RETRY
|
||||||
#define TEMP_FAILURE_RETRY(exp) \
|
#define TEMP_FAILURE_RETRY(exp) \
|
||||||
|
@ -26,9 +26,15 @@ target_link_libraries(channel_adapters
|
|||||||
channel_libs
|
channel_libs
|
||||||
PRIVATE
|
PRIVATE
|
||||||
gnss_sdr_flags
|
gnss_sdr_flags
|
||||||
Glog::glog
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(ENABLE_GLOG_AND_GFLAGS)
|
||||||
|
target_link_libraries(channel_adapters PRIVATE Glog::glog)
|
||||||
|
target_compile_definitions(channel_adapters PRIVATE -DUSE_GLOG_AND_GFLAGS=1)
|
||||||
|
else()
|
||||||
|
target_link_libraries(channel_adapters PRIVATE absl::flags absl::log)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_include_directories(channel_adapters
|
target_include_directories(channel_adapters
|
||||||
PUBLIC
|
PUBLIC
|
||||||
${GNSSSDR_SOURCE_DIR}/src/core/interfaces
|
${GNSSSDR_SOURCE_DIR}/src/core/interfaces
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user