mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-14 20:20:35 +00:00
Merge branch 'next' of https://gitlab.com/gnss-sdr/gnss-sdr into next
This commit is contained in:
commit
e4bdabcd5d
1100
CMakeLists.txt
1100
CMakeLists.txt
File diff suppressed because it is too large
Load Diff
@ -17,8 +17,9 @@
|
||||
|
||||
# - Try to find GFlags
|
||||
#
|
||||
# The following variables are optionally searched for defaults
|
||||
# GFlags_ROOT_DIR: Base directory where all GFlags components are found
|
||||
# The following CMake and environment variables are optionally searched
|
||||
# for defaults:
|
||||
# GFLAGS_ROOT: Base directory where all GFlags components are found
|
||||
#
|
||||
# The following are set after configuration is done:
|
||||
# GFlags_FOUND
|
||||
@ -30,39 +31,45 @@ if(APPLE)
|
||||
find_path(GFlags_ROOT_DIR
|
||||
libgflags.dylib
|
||||
PATHS
|
||||
/opt/local/lib
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
/usr/local/lib
|
||||
${GFLAGS_ROOT}/lib
|
||||
$ENV{GFLAGS_ROOT}/lib
|
||||
)
|
||||
else()
|
||||
find_path(GFlags_ROOT_DIR
|
||||
libgflags.so
|
||||
HINTS
|
||||
/usr/local/lib
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/powerpc-linux-gnuspe
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib/i386-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/x86_64-kfreebsd-gnu
|
||||
/usr/lib/i386-kfreebsd-gnu
|
||||
/usr/lib/m68k-linux-gnu
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
${GFLAGS_ROOT}/lib
|
||||
$ENV{GFLAGS_ROOT}/lib
|
||||
${GFLAGS_ROOT}/lib64
|
||||
$ENV{GFLAGS_ROOT}/lib64
|
||||
)
|
||||
endif()
|
||||
|
||||
@ -71,10 +78,12 @@ if(GFlags_ROOT_DIR)
|
||||
find_path(GFlags_INCLUDE_DIRS
|
||||
gflags/gflags.h
|
||||
HINTS
|
||||
/opt/local/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
${GFlags_ROOT_DIR}/src
|
||||
/opt/local/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
${GFlags_ROOT_DIR}/src
|
||||
${GFLAGS_ROOT}/include
|
||||
$ENV{GFLAGS_ROOT}/include
|
||||
)
|
||||
|
||||
# Find the libraries
|
||||
|
@ -142,6 +142,8 @@ find_library(GFORTRAN NAMES gfortran
|
||||
/usr/lib/gcc/powerpc64le-linux-gnu/8
|
||||
/usr/lib/gcc/s390x-linux-gnu/8
|
||||
/usr/lib/gcc/alpha-linux-gnu/8
|
||||
${GFORTRAN_ROOT}/lib
|
||||
$ENV{GFORTRAN_ROOT}/lib
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -68,6 +68,10 @@ macro(_FIND_GLOG_LIBRARIES _var)
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
${GLOG_ROOT}/lib
|
||||
$ENV{GLOG_ROOT}/lib
|
||||
${GLOG_ROOT}/lib64
|
||||
$ENV{GLOG_ROOT}/lib64
|
||||
PATH_SUFFIXES lib
|
||||
)
|
||||
mark_as_advanced(${_var})
|
||||
|
@ -17,11 +17,14 @@
|
||||
|
||||
find_program(SW_GENERATOR_BIN gnss_sim
|
||||
PATHS /usr/bin
|
||||
/usr/local/bin
|
||||
/opt/local/bin
|
||||
${CMAKE_INSTALL_PREFIX}/bin
|
||||
PATH_SUFFIXES bin)
|
||||
/usr/local/bin
|
||||
/opt/local/bin
|
||||
${CMAKE_INSTALL_PREFIX}/bin
|
||||
${GNSSSIMULATOR_ROOT}/bin
|
||||
$ENV{GNSSSIMULATOR_ROOT}/bin
|
||||
PATH_SUFFIXES bin
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GNSSSIMULATOR DEFAULT_MSG SW_GENERATOR_BIN)
|
||||
find_package_handle_standard_args(GNSSSIMULATOR DEFAULT_MSG SW_GENERATOR_BIN)
|
||||
mark_as_advanced(SW_GENERATOR_BIN)
|
||||
|
@ -65,29 +65,29 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
|
||||
set(PC_LIBDIR ${PC_GNURADIO_${EXTVAR}_LIBDIR})
|
||||
|
||||
# look for include files
|
||||
find_path(
|
||||
${INCVAR_NAME}
|
||||
find_path(${INCVAR_NAME}
|
||||
NAMES ${INCFILE}
|
||||
HINTS $ENV{GNURADIO_RUNTIME_DIR}/include
|
||||
${PC_INCDIR}
|
||||
${CMAKE_INSTALL_PREFIX}/include
|
||||
${GNURADIO_INSTALL_PREFIX}/include
|
||||
${PC_INCDIR}
|
||||
${CMAKE_INSTALL_PREFIX}/include
|
||||
${GNURADIO_INSTALL_PREFIX}/include
|
||||
PATHS /usr/local/include
|
||||
/usr/include
|
||||
${GNURADIO_INSTALL_PREFIX}/include
|
||||
${GNURADIO_ROOT}/include
|
||||
$ENV{GNURADIO_ROOT}/include
|
||||
)
|
||||
|
||||
# look for libs
|
||||
foreach(libname ${PC_GNURADIO_${EXTVAR}_LIBRARIES})
|
||||
find_library(
|
||||
${LIBVAR_NAME}_${libname}
|
||||
find_library(${LIBVAR_NAME}_${libname}
|
||||
NAMES ${libname} ${libname}-${PC_GNURADIO_RUNTIME_VERSION}
|
||||
HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
|
||||
${PC_LIBDIR}
|
||||
${CMAKE_INSTALL_PREFIX}/lib/
|
||||
${CMAKE_INSTALL_PREFIX}/lib64/
|
||||
${GNURADIO_INSTALL_PREFIX}/lib/
|
||||
${GNURADIO_INSTALL_PREFIX}/lib64
|
||||
${PC_LIBDIR}
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
${GNURADIO_INSTALL_PREFIX}/lib
|
||||
${GNURADIO_INSTALL_PREFIX}/lib64
|
||||
PATHS /usr/local/lib
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
@ -115,6 +115,10 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
${GNURADIO_INSTALL_PREFIX}/lib
|
||||
${GNURADIO_ROOT}/lib
|
||||
$ENV{GNURADIO_ROOT}/lib
|
||||
${GNURADIO_ROOT}/lib64
|
||||
$ENV{GNURADIO_ROOT}/lib64
|
||||
)
|
||||
list(APPEND ${LIBVAR_NAME} ${${LIBVAR_NAME}_${libname}})
|
||||
endforeach()
|
||||
@ -174,6 +178,8 @@ if(NOT PC_GNURADIO_RUNTIME_VERSION)
|
||||
PATHS /usr/local/include
|
||||
/usr/include
|
||||
${GNURADIO_INSTALL_PREFIX}/include
|
||||
${GNURADIO_ROOT}/include
|
||||
$ENV{GNURADIO_ROOT}/include
|
||||
)
|
||||
if(GNURADIO_VERSION_GREATER_THAN_373)
|
||||
set(PC_GNURADIO_RUNTIME_VERSION "3.7.4+")
|
||||
@ -187,6 +193,8 @@ if(NOT PC_GNURADIO_RUNTIME_VERSION)
|
||||
PATHS /usr/local/include
|
||||
/usr/include
|
||||
${GNURADIO_INSTALL_PREFIX}/include
|
||||
${GNURADIO_ROOT}/include
|
||||
$ENV{GNURADIO_ROOT}/include
|
||||
)
|
||||
if(GNURADIO_VERSION_GREATER_THAN_38)
|
||||
set(PC_GNURADIO_RUNTIME_VERSION "3.8.0+")
|
||||
|
@ -24,7 +24,7 @@
|
||||
# Variables used by this module, they can change the default behaviour and need
|
||||
# to be set before calling find_package:
|
||||
#
|
||||
# Gperftools_ROOT_DIR Set this variable to the root installation of
|
||||
# GPERFTOOLS_ROOT Set this variable to the root installation of
|
||||
# Gperftools if the module has problems finding
|
||||
# the proper installation path.
|
||||
#
|
||||
@ -36,19 +36,37 @@
|
||||
|
||||
find_library(GPERFTOOLS_TCMALLOC
|
||||
NAMES tcmalloc
|
||||
HINTS ${Gperftools_ROOT_DIR}/lib)
|
||||
HINTS ${Gperftools_ROOT_DIR}/lib
|
||||
${GPERFTOOLS_ROOT}/lib
|
||||
$ENV{GPERFTOOLS_ROOT}/lib
|
||||
${GPERFTOOLS_ROOT}/lib64
|
||||
$ENV{GPERFTOOLS_ROOT}/lib64
|
||||
)
|
||||
|
||||
find_library(GPERFTOOLS_PROFILER
|
||||
NAMES profiler
|
||||
HINTS ${Gperftools_ROOT_DIR}/lib)
|
||||
HINTS ${Gperftools_ROOT_DIR}/lib
|
||||
${GPERFTOOLS_ROOT}/lib
|
||||
$ENV{GPERFTOOLS_ROOT}/lib
|
||||
${GPERFTOOLS_ROOT}/lib64
|
||||
$ENV{GPERFTOOLS_ROOT}/lib64
|
||||
)
|
||||
|
||||
find_library(GPERFTOOLS_TCMALLOC_AND_PROFILER
|
||||
NAMES tcmalloc_and_profiler
|
||||
HINTS ${Gperftools_ROOT_DIR}/lib)
|
||||
HINTS ${Gperftools_ROOT_DIR}/lib
|
||||
${GPERFTOOLS_ROOT}/lib
|
||||
$ENV{GPERFTOOLS_ROOT}/lib
|
||||
${GPERFTOOLS_ROOT}/lib64
|
||||
$ENV{GPERFTOOLS_ROOT}/lib64
|
||||
)
|
||||
|
||||
find_path(GPERFTOOLS_INCLUDE_DIR
|
||||
NAMES gperftools/heap-profiler.h
|
||||
HINTS ${Gperftools_ROOT_DIR}/include)
|
||||
HINTS ${Gperftools_ROOT_DIR}/include
|
||||
${GPERFTOOLS_ROOT}/include
|
||||
$ENV{GPERFTOOLS_ROOT}/include
|
||||
)
|
||||
|
||||
set(GPERFTOOLS_LIBRARIES ${GPERFTOOLS_TCMALLOC_AND_PROFILER})
|
||||
|
||||
|
@ -24,14 +24,23 @@
|
||||
|
||||
find_path(GPSTK_INCLUDE_DIR gpstk/Rinex3ObsBase.hpp
|
||||
HINTS /usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include)
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GPSTK_ROOT}/include
|
||||
$ENV{GPSTK_ROOT}/include
|
||||
)
|
||||
|
||||
set(GPSTK_NAMES ${GPSTK_NAMES} gpstk libgpstk)
|
||||
|
||||
find_library(GPSTK_LIBRARY NAMES ${GPSTK_NAMES}
|
||||
HINTS /usr/lib
|
||||
/usr/local/lib
|
||||
/opt/local/lib)
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
${GPSTK_ROOT}/lib
|
||||
$ENV{GPSTK_ROOT}/lib
|
||||
${GPSTK_ROOT}/lib64
|
||||
$ENV{GPSTK_ROOT}/lib64
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set GPSTK_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
|
@ -30,6 +30,8 @@ find_path(
|
||||
PATHS ${CMAKE_INSTALL_PREFIX}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
${GRDBFCTTC_ROOT}/include
|
||||
$ENV{GRDBFCTTC_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(
|
||||
@ -43,6 +45,10 @@ find_library(
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
${GRDBFCTTC_ROOT}/lib
|
||||
$ENV{GRDBFCTTC_ROOT}/lib
|
||||
${GRDBFCTTC_ROOT}/lib64
|
||||
$ENV{GRDBFCTTC_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -30,6 +30,8 @@ find_path(
|
||||
PATHS ${CMAKE_INSTALL_PREFIX}/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
${GRGN3S_ROOT}/include
|
||||
$ENV{GRGN3S_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(
|
||||
@ -43,6 +45,10 @@ find_library(
|
||||
/usr/local/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
${GRGN3S_ROOT}/lib
|
||||
$ENV{GRGN3S_ROOT}/lib
|
||||
${GRGN3S_ROOT}/lib64
|
||||
$ENV{GRGN3S_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -18,21 +18,21 @@
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(PC_IIO gnuradio-iio)
|
||||
|
||||
find_path(
|
||||
IIO_INCLUDE_DIRS
|
||||
find_path(IIO_INCLUDE_DIRS
|
||||
NAMES gnuradio/iio/api.h
|
||||
HINTS $ENV{IIO_DIR}/include
|
||||
${PC_IIO_INCLUDEDIR}
|
||||
${PC_IIO_INCLUDEDIR}
|
||||
PATHS ${CMAKE_INSTALL_PREFIX}/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
${GRIIO_ROOT}/include
|
||||
$ENV{GRIIO_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(
|
||||
IIO_LIBRARIES
|
||||
find_library(IIO_LIBRARIES
|
||||
NAMES gnuradio-iio
|
||||
HINTS $ENV{IIO_DIR}/lib
|
||||
${PC_IIO_LIBDIR}
|
||||
${PC_IIO_LIBDIR}
|
||||
PATHS ${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
/usr/local/lib
|
||||
@ -61,6 +61,10 @@ find_library(
|
||||
/usr/lib/sparc64-linux-gnu
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/sh4-linux-gnu
|
||||
${GRIIO_ROOT}/lib
|
||||
$ENV{GRIIO_ROOT}/lib
|
||||
${GRIIO_ROOT}/lib64
|
||||
$ENV{GRIIO_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -34,14 +34,20 @@
|
||||
# GROSMOSDR_LIBRARIES The gr-osmosdr libraries (gnuradio-osmosdr)
|
||||
# GROSMOSDR_INCLUDE_DIR The location of gr-osmosdr headers
|
||||
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(GROSMOSDR_PKG gnuradio-osmosdr)
|
||||
|
||||
find_path(GROSMOSDR_INCLUDE_DIR
|
||||
NAMES osmosdr/source.h
|
||||
NAMES
|
||||
osmosdr/source.h
|
||||
osmosdr/api.h
|
||||
PATHS
|
||||
${GROSMOSDR_PKG_INCLUDE_DIRS}
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
${GROSMOSDR_PKG_INCLUDE_DIRS}
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${GROSMOSDR_ROOT}/include
|
||||
$ENV{GROSMOSDR_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(GROSMOSDR_LIBRARIES
|
||||
@ -50,6 +56,7 @@ find_library(GROSMOSDR_LIBRARIES
|
||||
${GROSMOSDR_PKG_LIBRARY_DIRS}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
@ -74,6 +81,10 @@ find_library(GROSMOSDR_LIBRARIES
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib64
|
||||
${GROSMOSDR_ROOT}/lib
|
||||
$ENV{GROSMOSDR_ROOT}/lib
|
||||
${GROSMOSDR_ROOT}/lib64
|
||||
$ENV{GROSMOSDR_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -27,6 +27,8 @@ find_path(
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
/opt/local/include
|
||||
${LIBIIO_ROOT}/include
|
||||
$ENV{LIBIIO_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(
|
||||
@ -63,6 +65,10 @@ find_library(
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/sh4-linux-gnu
|
||||
/Library/Frameworks/iio.framework/
|
||||
${LIBIIO_ROOT}/lib
|
||||
$ENV{LIBIIO_ROOT}/lib
|
||||
${LIBIIO_ROOT}/lib64
|
||||
$ENV{LIBIIO_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -28,12 +28,16 @@
|
||||
# LIBOSMOSDR_LIBRARIES The libosmosdr libraries
|
||||
# LIBOSMOSDR_INCLUDE_DIR The location of libosmosdr headers
|
||||
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(LIBOSMOSDR_PKG libosmosdr)
|
||||
|
||||
find_path(LIBOSMOSDR_INCLUDE_DIR NAMES osmosdr.h
|
||||
PATHS
|
||||
${LIBOSMOSDR_PKG_INCLUDE_DIRS}
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
${LIBOSMOSDR_PKG_INCLUDE_DIRS}
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
${LIBOSMOSDR_ROOT}/include
|
||||
$ENV{LIBOSMOSDR_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(LIBOSMOSDR_LIBRARIES NAMES osmosdr
|
||||
@ -65,7 +69,11 @@ find_library(LIBOSMOSDR_LIBRARIES NAMES osmosdr
|
||||
/usr/lib/x86_64-linux-gnux32
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib64
|
||||
)
|
||||
${LIBOSMOSDR_ROOT}/lib
|
||||
$ENV{LIBOSMOSDR_ROOT}/lib
|
||||
${LIBOSMOSDR_ROOT}/lib64
|
||||
$ENV{LIBOSMOSDR_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(LIBOSMOSDR DEFAULT_MSG LIBOSMOSDR_INCLUDE_DIR LIBOSMOSDR_LIBRARIES)
|
||||
|
@ -32,6 +32,8 @@ find_path(LOG4CPP_INCLUDE_DIR log4cpp/Category.hh
|
||||
/opt/local/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
${LOG4CPP_ROOT}/include
|
||||
$ENV{LOG4CPP_ROOT}/include
|
||||
)
|
||||
|
||||
set(LOG4CPP_NAMES log4cpp)
|
||||
@ -68,6 +70,10 @@ find_library(LOG4CPP_LIBRARY
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
${LOG4CPP_ROOT}/lib
|
||||
$ENV{LOG4CPP_ROOT}/lib
|
||||
${LOG4CPP_ROOT}/lib64
|
||||
$ENV{LOG4CPP_ROOT}/lib64
|
||||
)
|
||||
|
||||
if(LOG4CPP_INCLUDE_DIR AND LOG4CPP_LIBRARY)
|
||||
|
@ -60,10 +60,24 @@
|
||||
#
|
||||
|
||||
# Look for the header file.
|
||||
find_path(MATIO_INCLUDE_DIR NAMES matio.h DOC "The MATIO include directory")
|
||||
find_path(MATIO_INCLUDE_DIR
|
||||
NAMES matio.h
|
||||
HINTS
|
||||
${MATIO_ROOT}/include
|
||||
$ENV{MATIO_ROOT}/include
|
||||
DOC "The MATIO include directory"
|
||||
)
|
||||
|
||||
# Look for the library.
|
||||
find_library(MATIO_LIBRARY NAMES matio DOC "The MATIO library")
|
||||
find_library(MATIO_LIBRARY
|
||||
NAMES matio
|
||||
HINTS
|
||||
${MATIO_ROOT}/lib
|
||||
$ENV{MATIO_ROOT}/lib
|
||||
${MATIO_ROOT}/lib64
|
||||
$ENV{MATIO_ROOT}/lib64
|
||||
DOC "The MATIO library"
|
||||
)
|
||||
|
||||
if(MATIO_INCLUDE_DIR)
|
||||
# ---------------------------------------------------
|
||||
|
@ -20,17 +20,22 @@
|
||||
# The following environment variable is optionally searched
|
||||
# OPENBLAS_HOME: Base directory where all OpenBlas components are found
|
||||
|
||||
set(OPEN_BLAS_SEARCH_PATHS /lib/
|
||||
/lib64/
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/OpenBLAS/lib
|
||||
/opt/local/lib
|
||||
/usr/lib/openblas-base
|
||||
$ENV{OPENBLAS_HOME}/lib
|
||||
)
|
||||
set(OPEN_BLAS_SEARCH_PATHS
|
||||
/lib
|
||||
/lib64/
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/opt/OpenBLAS/lib
|
||||
/opt/local/lib
|
||||
/usr/lib/openblas-base
|
||||
$ENV{OPENBLAS_HOME}/lib
|
||||
${OPENBLAS_ROOT}/lib
|
||||
$ENV{OPENBLAS_ROOT}/lib
|
||||
${OPENBLAS_ROOT}/lib64
|
||||
$ENV{OPENBLAS_ROOT}/lib64
|
||||
)
|
||||
|
||||
find_library(OPENBLAS NAMES openblas PATHS ${OPEN_BLAS_SEARCH_PATHS})
|
||||
|
||||
|
@ -20,41 +20,50 @@ pkg_check_modules(PC_ORC "orc-0.4 > 0.4.22")
|
||||
|
||||
find_program(ORCC_EXECUTABLE orcc
|
||||
HINTS ${PC_ORC_TOOLSDIR}
|
||||
PATHS ${ORC_ROOT}/bin ${CMAKE_INSTALL_PREFIX}/bin)
|
||||
PATHS ${ORC_ROOT}/bin
|
||||
${CMAKE_INSTALL_PREFIX}/bin
|
||||
)
|
||||
|
||||
find_path(ORC_INCLUDE_DIR NAMES orc/orc.h
|
||||
find_path(ORC_INCLUDE_DIR
|
||||
NAMES orc/orc.h
|
||||
HINTS ${PC_ORC_INCLUDEDIR}
|
||||
PATHS ${ORC_ROOT}/include/orc-0.4 ${CMAKE_INSTALL_PREFIX}/include/orc-0.4)
|
||||
PATHS ${ORC_ROOT}/include/orc-0.4
|
||||
${CMAKE_INSTALL_PREFIX}/include/orc-0.4
|
||||
)
|
||||
|
||||
|
||||
find_path(ORC_LIBRARY_DIR NAMES ${CMAKE_SHARED_LIBRARY_PREFIX}orc-0.4${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||
find_path(ORC_LIBRARY_DIR
|
||||
NAMES ${CMAKE_SHARED_LIBRARY_PREFIX}orc-0.4${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||
HINTS ${PC_ORC_LIBDIR}
|
||||
/usr/local/lib
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
PATHS ${ORC_ROOT}/lib${LIB_SUFFIX} ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
|
||||
/usr/local/lib
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/powerpc-linux-gnu
|
||||
/usr/lib/powerpc64-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/hppa-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
${ORC_ROOT}/lib
|
||||
$ENV{ORC_ROOT}/lib
|
||||
PATHS
|
||||
${ORC_ROOT}/lib${LIB_SUFFIX}
|
||||
${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
|
||||
)
|
||||
|
||||
find_library(ORC_LIB orc-0.4
|
||||
HINTS ${PC_ORC_LIBRARY_DIRS}
|
||||
PATHS ${ORC_ROOT}/lib${LIB_SUFFIX} ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
|
||||
|
||||
list(APPEND ORC_LIBRARY
|
||||
${ORC_LIB}
|
||||
PATHS ${ORC_ROOT}/lib${LIB_SUFFIX}
|
||||
${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
|
||||
)
|
||||
|
||||
list(APPEND ORC_LIBRARY ${ORC_LIB})
|
||||
|
||||
set(ORC_INCLUDE_DIRS ${ORC_INCLUDE_DIR})
|
||||
set(ORC_LIBRARIES ${ORC_LIBRARY})
|
||||
|
@ -48,10 +48,12 @@
|
||||
if(EXISTS $ENV{PCAPDIR})
|
||||
find_path(PCAP_INCLUDE_DIR
|
||||
NAMES
|
||||
pcap/pcap.h
|
||||
pcap.h
|
||||
pcap/pcap.h
|
||||
pcap.h
|
||||
PATHS
|
||||
$ENV{PCAPDIR}
|
||||
${PCAP_ROOT}/include
|
||||
$ENV{PCAP_ROOT}/include
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
find_library(PCAP_LIBRARY
|
||||
@ -59,18 +61,25 @@ if(EXISTS $ENV{PCAPDIR})
|
||||
pcap
|
||||
PATHS
|
||||
$ENV{PCAPDIR}
|
||||
${PCAP_ROOT}/lib
|
||||
$ENV{PCAP_ROOT}/lib
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
else()
|
||||
find_path(PCAP_INCLUDE_DIR
|
||||
NAMES
|
||||
pcap/pcap.h
|
||||
pcap.h
|
||||
pcap/pcap.h
|
||||
pcap.h
|
||||
HINTS
|
||||
${PCAP_ROOT}/include
|
||||
$ENV{PCAP_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(PCAP_LIBRARY
|
||||
NAMES
|
||||
pcap
|
||||
HINTS
|
||||
${PCAP_ROOT}/lib
|
||||
$ENV{PCAP_ROOT}/lib
|
||||
)
|
||||
endif()
|
||||
|
||||
|
@ -26,28 +26,36 @@
|
||||
find_path(PUGIXML_INCLUDE_DIR
|
||||
NAMES pugixml.hpp
|
||||
PATHS ${PUGIXML_HOME}/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include)
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/local/include
|
||||
${PUGIXML_ROOT}/include
|
||||
$ENV{PUGIXML_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(PUGIXML_LIBRARY
|
||||
NAMES pugixml
|
||||
PATHS ${PUGIXML_HOME}/lib
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib64)
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/aarch64-linux-gnu
|
||||
/usr/lib/arm-linux-gnueabi
|
||||
/usr/lib/arm-linux-gnueabihf
|
||||
/usr/lib/i386-linux-gnu
|
||||
/usr/lib/mips-linux-gnu
|
||||
/usr/lib/mips64el-linux-gnuabi64
|
||||
/usr/lib/mipsel-linux-gnu
|
||||
/usr/lib/powerpc64le-linux-gnu
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib64
|
||||
${PUGIXML_ROOT}/lib
|
||||
$ENV{PUGIXML_ROOT}/lib
|
||||
${PUGIXML_ROOT}/lib64
|
||||
$ENV{PUGIXML_ROOT}/lib64
|
||||
)
|
||||
|
||||
# Support the REQUIRED and QUIET arguments, and set PUGIXML_FOUND if found.
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -18,27 +18,31 @@
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(PC_TELEORBIT teleorbit)
|
||||
|
||||
find_path(
|
||||
TELEORBIT_INCLUDE_DIRS
|
||||
find_path(TELEORBIT_INCLUDE_DIRS
|
||||
NAMES teleorbit/api.h
|
||||
HINTS $ENV{TELEORBIT_DIR}/include
|
||||
${PC_TELEORBIT_INCLUDEDIR}
|
||||
${PC_TELEORBIT_INCLUDEDIR}
|
||||
PATHS ${CMAKE_INSTALL_PREFIX}/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
${TELEORBIT_ROOT}/include
|
||||
$ENV{TELEORBIT_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(
|
||||
TELEORBIT_LIBRARIES
|
||||
find_library(TELEORBIT_LIBRARIES
|
||||
NAMES gnuradio-teleorbit
|
||||
HINTS $ENV{TELEORBIT_DIR}/lib
|
||||
${PC_TELEORBIT_LIBDIR}
|
||||
${PC_TELEORBIT_LIBDIR}
|
||||
PATHS ${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
${TELEORBIT_ROOT}/lib
|
||||
$ENV{TELEORBIT_ROOT}/lib
|
||||
${TELEORBIT_ROOT}/lib64
|
||||
$ENV{TELEORBIT_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -22,21 +22,21 @@
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(PC_UHD uhd)
|
||||
|
||||
find_path(
|
||||
UHD_INCLUDE_DIRS
|
||||
find_path(UHD_INCLUDE_DIRS
|
||||
NAMES uhd/config.hpp
|
||||
HINTS $ENV{UHD_DIR}/include
|
||||
${PC_UHD_INCLUDEDIR}
|
||||
${PC_UHD_INCLUDEDIR}
|
||||
PATHS /usr/local/include
|
||||
/usr/include
|
||||
${GNURADIO_INSTALL_PREFIX}/include
|
||||
${UHD_ROOT}/include
|
||||
$ENV{UHD_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(
|
||||
UHD_LIBRARIES
|
||||
find_library(UHD_LIBRARIES
|
||||
NAMES uhd
|
||||
HINTS $ENV{UHD_DIR}/lib
|
||||
${PC_UHD_LIBDIR}
|
||||
${PC_UHD_LIBDIR}
|
||||
PATHS /usr/local/lib
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
/usr/lib/i386-linux-gnu
|
||||
@ -64,6 +64,10 @@ find_library(
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
${GNURADIO_INSTALL_PREFIX}/lib
|
||||
${UHD_ROOT}/lib
|
||||
$ENV{UHD_ROOT}/lib
|
||||
${UHD_ROOT}/lib64
|
||||
$ENV{UHD_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -22,18 +22,18 @@
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(PC_VOLK volk)
|
||||
|
||||
find_path(
|
||||
VOLK_INCLUDE_DIRS
|
||||
find_path(VOLK_INCLUDE_DIRS
|
||||
NAMES volk/volk.h
|
||||
HINTS $ENV{VOLK_DIR}/include
|
||||
${PC_VOLK_INCLUDEDIR}
|
||||
PATHS /usr/local/include
|
||||
/usr/include
|
||||
${CMAKE_INSTALL_PREFIX}/include
|
||||
${VOLK_ROOT}/include
|
||||
$ENV{VOLK_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(
|
||||
VOLK_LIBRARIES
|
||||
find_library(VOLK_LIBRARIES
|
||||
NAMES volk
|
||||
HINTS $ENV{VOLK_DIR}/lib
|
||||
${PC_VOLK_LIBDIR}
|
||||
@ -65,6 +65,10 @@ find_library(
|
||||
/usr/lib/alpha-linux-gnu
|
||||
/usr/lib64
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${VOLK_ROOT}/lib
|
||||
$ENV{VOLK_ROOT}/lib
|
||||
${VOLK_ROOT}/lib64
|
||||
$ENV{VOLK_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -22,26 +22,30 @@
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(PC_VOLK_GNSSSDR volk_gnsssdr)
|
||||
|
||||
find_path(
|
||||
VOLK_GNSSSDR_INCLUDE_DIRS
|
||||
find_path(VOLK_GNSSSDR_INCLUDE_DIRS
|
||||
NAMES volk_gnsssdr/volk_gnsssdr.h
|
||||
HINTS $ENV{VOLK_GNSSSDR_DIR}/include
|
||||
${PC_VOLK_GNSSSDR_INCLUDEDIR}
|
||||
${PC_VOLK_GNSSSDR_INCLUDEDIR}
|
||||
PATHS /usr/local/include
|
||||
/usr/include
|
||||
${GNURADIO_INSTALL_PREFIX}/include
|
||||
${VOLKGNSSSDR_ROOT}/include
|
||||
$ENV{VOLKGNSSSDR_ROOT}/include
|
||||
)
|
||||
|
||||
find_library(
|
||||
VOLK_GNSSSDR_LIBRARIES
|
||||
find_library(VOLK_GNSSSDR_LIBRARIES
|
||||
NAMES volk_gnsssdr
|
||||
HINTS $ENV{VOLK_GNSSSDR_DIR}/lib
|
||||
${PC_VOLK_GNSSSDR_LIBDIR}
|
||||
${PC_VOLK_GNSSSDR_LIBDIR}
|
||||
PATHS /usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
${GNURADIO_INSTALL_PREFIX}/lib
|
||||
${VOLKGNSSSDR_ROOT}/lib
|
||||
$ENV{VOLKGNSSSDR_ROOT}/lib
|
||||
${VOLKGNSSSDR_ROOT}/lib64
|
||||
$ENV{VOLKGNSSSDR_ROOT}/lib64
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
@ -18,20 +18,20 @@
|
||||
##########################################################
|
||||
# Toolchain file for Open Embedded
|
||||
##########################################################
|
||||
set( CMAKE_SYSTEM_NAME Linux )
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
|
||||
string(REGEX MATCH "sysroots/([a-zA-Z0-9]+)" CMAKE_SYSTEM_PROCESSOR $ENV{SDKTARGETSYSROOT})
|
||||
string(REGEX REPLACE "sysroots/" "" CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR})
|
||||
|
||||
set( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} CACHE STRING "" FORCE )
|
||||
set( CMAKE_C_FLAGS $ENV{CFLAGS} CACHE STRING "" FORCE ) #same flags for C sources
|
||||
set( CMAKE_LDFLAGS_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE ) #same flags for C sources
|
||||
set( CMAKE_LIBRARY_PATH $ENV{OECORE_TARGET_SYSROOT}/usr/lib )
|
||||
set(CMAKE_CXX_FLAGS $ENV{CXXFLAGS} CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS $ENV{CFLAGS} CACHE STRING "" FORCE) # same flags for C sources
|
||||
set(CMAKE_LDFLAGS_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE) # same flags for C sources
|
||||
set(CMAKE_LIBRARY_PATH $ENV{OECORE_TARGET_SYSROOT}/usr/lib)
|
||||
|
||||
set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} $ENV{OECORE_NATIVE_SYSROOT} )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
|
||||
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} $ENV{OECORE_NATIVE_SYSROOT})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
set ( ORC_INCLUDE_DIRS $ENV{OECORE_TARGET_SYSROOT}/usr/include/orc-0.4 )
|
||||
set ( ORC_LIBRARY_DIRS $ENV{OECORE_TARGET_SYSROOT}/usr/lib )
|
||||
set(ORC_INCLUDE_DIRS $ENV{OECORE_TARGET_SYSROOT}/usr/include/orc-0.4)
|
||||
set(ORC_LIBRARY_DIRS $ENV{OECORE_TARGET_SYSROOT}/usr/lib)
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
endif()
|
||||
|
||||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||
@ -28,11 +28,11 @@ foreach(file ${files})
|
||||
COMMAND @CMAKE_COMMAND@ -E remove \"$ENV{DESTDIR}${file}\"
|
||||
OUTPUT_VARIABLE rm_out
|
||||
RESULT_VARIABLE rm_retval
|
||||
)
|
||||
)
|
||||
if(NOT "${rm_retval}" STREQUAL 0)
|
||||
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
|
||||
endif(NOT "${rm_retval}" STREQUAL 0)
|
||||
else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
|
||||
endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
endforeach(file)
|
||||
endif()
|
||||
endforeach()
|
||||
|
@ -16,6 +16,7 @@ Next release will have several improvements in different dimensions, addition of
|
||||
- Redesign of the time counter for enhanced continuity.
|
||||
- Improved flow graph in multisystem configurations: the receiver does not get stalled anymore if no signal is found from the first system.
|
||||
- Improved acquisition and tracking sensitivity.
|
||||
- Added mechanisms for Assisted GNSS, thus shortening the Time-To-First-Fix. Provision of data via XML files or via SUPL v1.0. Documented at https://gnss-sdr.org/docs/sp-blocks/global-parameters/
|
||||
- Other minor bug fixes.
|
||||
|
||||
|
||||
@ -27,6 +28,7 @@ Next release will have several improvements in different dimensions, addition of
|
||||
- New volk_gnsssdr kernels: volk_gnsssdr_16i_xn_resampler_16i_xn.h, volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn.h, volk_gnsssdr_32f_xn_resampler_32f_xn.h, volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn.h
|
||||
- Some AVX2 implementations added to the volk_gnsssdr library.
|
||||
- Improvement in C++ usage: Use of const container calls when result is immediately converted to a const iterator. Using these members removes an implicit conversion from iterator to const_iterator.
|
||||
- Output printers can be shut down, with some savings in memory and storage requirements.
|
||||
- A number of code optimizations here and there.
|
||||
|
||||
|
||||
@ -34,7 +36,8 @@ Next release will have several improvements in different dimensions, addition of
|
||||
|
||||
- A number of new parameters have been exposed to the configuration system.
|
||||
- Possibility to choose Pilot or Data component for tracking of GPS L5 and Galileo E5a signals.
|
||||
- Enabled extended coherent integration times.
|
||||
- Enabled extended coherent integration times for signal tracking.
|
||||
- Configurable coherent and/or non-coherent signal acquisition.
|
||||
- Some configuration parameters can now be overridden by commandline flags for easier use in scripts.
|
||||
|
||||
|
||||
@ -48,11 +51,15 @@ Next release will have several improvements in different dimensions, addition of
|
||||
- Added five more signal sources: "Fmcomms2_Signal_Source" (requires gr-iio), "Plutosdr_Signal Source" (requires gr-iio), "Spir_GSS6450_File_Signal_Source", "Labsat_Signal_Source" and "Custom_UDP_Signal_Source" (requires libpcap). Documented in https://gnss-sdr.org/docs/sp-blocks/signal-source/
|
||||
- Improved support for BladeRF, HackRF and RTL-SDR front-ends.
|
||||
- Added tools for the interaction with front-ends based on the AD9361 chipset.
|
||||
- Intermediate results are now saved in .mat binary format, readable from Matlab/Octave and from Python via h5py.
|
||||
- Intermediate results are now saved in MAT-file format (.mat), readable from Matlab/Octave and from Python via h5py.
|
||||
- Added the GPX output format.
|
||||
- Fixed a bug in the format of NMEA sentences when latitude or longitude minutes were >10.
|
||||
- Improvements in the generation of KML files.
|
||||
- Improvements in the NMEA output. The receiver can produce GPGGA, GPRMC, GPGSA, GPGSV, GAGSA and GAGSV sentences.
|
||||
- Improvements in the RTCM server stability.
|
||||
- Improvements in the correctness of generated RINEX files.
|
||||
- The receiver can read and make use of Galileo almanac XML files published by the European GNSS Service Centre at https://www.gsc-europa.eu/system-status/almanac-data
|
||||
- Own-defined XML schemas for navigation data published at https://github.com/gnss-sdr/gnss-sdr/tree/next/docs/xml-schemas
|
||||
- Added program rinex2assist to convert RINEX navigation files into XML files usable for Assisted GNSS. Only available building from source. See https://github.com/gnss-sdr/gnss-sdr/tree/next/src/utils/rinex2assist
|
||||
|
||||
|
||||
### Improvements in Maintainability:
|
||||
@ -64,6 +71,8 @@ Next release will have several improvements in different dimensions, addition of
|
||||
- Improvement in C++ usage: The override special identifier is now used when overriding a virtual function. This helps the compiler to check for type changes in the base class, making the detection of errors easier.
|
||||
- Improvement in C++ usage: A number of unused includes have been removed. Order of includes set to: local (in-source) headers, then library headers, then system headers. This helps to detect missing includes.
|
||||
- Improvement in C++ usage: Enhanced const correctness. Misuses of those variables are detected by the compiler.
|
||||
- Applied some style rules to CMake scripts.
|
||||
- Minimal versions of dependencies identified and detected.
|
||||
|
||||
|
||||
### Improvements in Portability:
|
||||
@ -76,15 +85,16 @@ Next release will have several improvements in different dimensions, addition of
|
||||
- The Ninja build system can be used in replacement of make.
|
||||
- The volk_gnsssdr library can be built using Python 2.7 or Python 3.6.
|
||||
- The volk_gnsssdr library is now ready for AArch64 NEON instructions.
|
||||
- Ready for GNU Radio 3.8 C++ API (as per current next branch of GNU Radio upstream repository).
|
||||
- Ready for GNU Radio 3.8 C++ API (as per current master branch of GNU Radio upstream repository).
|
||||
- Improved detection of required and optional dependencies in many GNU/Linux distributions and processor architectures.
|
||||
- Improvement in C++ usage: The <ctime> library has been replaced by the more modern and portable <chrono>.
|
||||
- Improvement in C++ usage: The <ctime> library has been replaced by the more modern and portable <chrono> (except for the interaction with RTKLIB).
|
||||
- Improvement in C++ usage: The <stdio.h> library has been replaced by the more modern and portable <fstream> for file handling.
|
||||
- Improvement in C++ usage: C++ libraries preferred over C libraries (e.g., <cctype> instead of <ctype.h>, <cmath> instead of <math.h>).
|
||||
- Fixes required by Debian packaging.
|
||||
- Fixes required by Macports packaging.
|
||||
- A downside in portability: BLAS and LAPACK libraries are now required even in ARM devices.
|
||||
- A downside in portability: the matio library >= 1.5.3 is a new required dependency. If not found, it is downloaded and built automatically at building time, but this requires libtool, automake and hdf5 already installed in the system.
|
||||
- A downside in portability: the PugiXML library is a new required dependency. If not found, it is downloaded and built automatically at building time.
|
||||
|
||||
|
||||
### Improvements in Reliability:
|
||||
@ -93,6 +103,7 @@ Next release will have several improvements in different dimensions, addition of
|
||||
- Improved flow graph stabiliy.
|
||||
- Introduction of high-integrity C++ practices into the source code and included in the coding style guide. See https://gnss-sdr.org/coding-style/
|
||||
- Fixed a number of defects detected by Coverity Scan.
|
||||
- Improvement of QA code and addition of a number of new tests. Documented at https://gnss-sdr.org/docs/tutorials/testing-software-receiver-2/
|
||||
- Improvement in C++ usage: rand() function replaced by <random> library.
|
||||
- Improvement in C++ usage: strlen and strncpy have been replaced by safer C++ counterparts.
|
||||
- Improvement in C++ usage: Some destructors have been fixed, avoiding segmentation faults when exiting the program.
|
||||
@ -122,9 +133,10 @@ Next release will have several improvements in different dimensions, addition of
|
||||
|
||||
- All Observables block implementations have been merged into a single implementation for all kinds of GNSS signals, making it easier to configure.
|
||||
- All PVT block implementations have been merged into a single implementation for all kinds of GNSS signals, making it easier to configure.
|
||||
- Misleading parameter name GNSS-SDR.internal_fs_hz has been replaced by GNSS-SDR.internal_fs_sps. The old parameter name is still read. If found, a warning is provided to the user.
|
||||
- Updated and improved documentation of processing blocks at https://gnss-sdr.org/docs/sp-blocks/
|
||||
- Misleading parameter name GNSS-SDR.internal_fs_hz has been replaced by GNSS-SDR.internal_fs_sps. The old parameter name is still read. If found, a warning is provided to the user. The old name will be removed in future releases.
|
||||
- Updated and improved online documentation of processing blocks at https://gnss-sdr.org/docs/sp-blocks/
|
||||
- Improved documentation of required dependency packages in several GNU/Linux distributions.
|
||||
- Dump and output files can now be stored anywhere.
|
||||
- Parameter names with the same role have been harmonized within different block implementations.
|
||||
- Added a changelog, a code of conduct, a contributing guide and a pull-request template in the source tree.
|
||||
- Added colors to the commandline user interface.
|
||||
|
@ -12,14 +12,14 @@ GPS L1 C/A
|
||||
- [iono_model.xsd](./iono_model.xsd) - GPS NAV message ionospheric model parameters.
|
||||
- [utc_model.xsd](./utc_model.xsd) - GPS NAV message UTC model parameters.
|
||||
- [gps_almanac_map.xsd](./gps_almanac_map.xsd) - GPS NAV message almanac.
|
||||
|
||||
|
||||
|
||||
|
||||
GPS L2C and L5
|
||||
--------------
|
||||
|
||||
|
||||
- [cnav_ephemeris_map.xsd](./cnav_ephemeris_map.xsd) - GPS CNAV message ephemeris parameters.
|
||||
|
||||
|
||||
|
||||
|
||||
Galileo
|
||||
-------
|
||||
|
||||
@ -31,4 +31,5 @@ Galileo
|
||||
-------
|
||||
|
||||
Please check https://gnss-sdr.org/docs/sp-blocks/global-parameters/ for more information about the usage of XML files in GNSS-SDR.
|
||||
|
||||
|
||||
You could find useful the utility program [rinex2assist](https://github.com/gnss-sdr/gnss-sdr/tree/next/src/utils/rinex2assist) for the generation of compatible XML files from recent, publicly available RINEX navigation data files.
|
||||
|
@ -1,4 +1,4 @@
|
||||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="boost_serialization">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@ -16,6 +16,7 @@
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:byte" name="i_satellite_PRN"/>
|
||||
<xs:element type="xs:float" name="M0_1"/>
|
||||
<xs:element type="xs:float" name="delta_n_3"/>
|
||||
<xs:element type="xs:float" name="e_1"/>
|
||||
<xs:element type="xs:float" name="A_1"/>
|
||||
<xs:element type="xs:float" name="OMEGA_0_2"/>
|
||||
@ -34,6 +35,22 @@
|
||||
<xs:element type="xs:float" name="af0_4"/>
|
||||
<xs:element type="xs:float" name="af1_4"/>
|
||||
<xs:element type="xs:float" name="af2_4"/>
|
||||
<xs:element type="xs:float" name="WN_5"/>
|
||||
<xs:element type="xs:float" name="TOW_5"/>
|
||||
<xs:element type="xs:float" name="Galileo_satClkDrift"/>
|
||||
<xs:element type="xs:float" name="Galileo_dtr"/>
|
||||
<xs:element type="xs:byte" name="flag_all_ephemeris"/>
|
||||
<xs:element type="xs:byte" name="IOD_ephemeris"/>
|
||||
<xs:element type="xs:byte" name="IOD_nav_1"/>
|
||||
<xs:element type="xs:float" name="SISA_3"/>
|
||||
<xs:element type="xs:byte" name="E5a_HS"/>
|
||||
<xs:element type="xs:float" name="E5b_HS_5"/>
|
||||
<xs:element type="xs:float" name="E1B_HS_5"/>
|
||||
<xs:element type="xs:byte" name="E5a_DVS"/>
|
||||
<xs:element type="xs:float" name="E5b_DVS_5"/>
|
||||
<xs:element type="xs:float" name="E1B_DVS_5"/>
|
||||
<xs:element type="xs:float" name="BGD_E1E5a_5"/>
|
||||
<xs:element type="xs:float" name="BGD_E1E5b_5"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:byte" name="class_id" use="optional"/>
|
||||
<xs:attribute type="xs:byte" name="tracking_level" use="optional"/>
|
||||
|
@ -21,5 +21,5 @@ add_subdirectory(core)
|
||||
add_subdirectory(main)
|
||||
if(ENABLE_UNIT_TESTING OR ENABLE_SYSTEM_TESTING)
|
||||
add_subdirectory(tests)
|
||||
endif(ENABLE_UNIT_TESTING OR ENABLE_SYSTEM_TESTING)
|
||||
endif()
|
||||
add_subdirectory(utils)
|
||||
|
@ -18,33 +18,39 @@
|
||||
|
||||
|
||||
if(Boost_VERSION LESS 105800)
|
||||
add_definitions(-DOLD_BOOST=1)
|
||||
endif(Boost_VERSION LESS 105800)
|
||||
add_definitions(-DOLD_BOOST=1)
|
||||
endif()
|
||||
|
||||
set(PVT_ADAPTER_SOURCES
|
||||
rtklib_pvt.cc
|
||||
rtklib_pvt.cc
|
||||
)
|
||||
|
||||
set(PVT_ADAPTER_HEADERS
|
||||
rtklib_pvt.h
|
||||
rtklib_pvt.h
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/gnuradio_blocks
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/gnuradio_blocks
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_library(pvt_adapters ${PVT_ADAPTER_SOURCES} ${PVT_ADAPTER_HEADERS})
|
||||
|
||||
source_group(Headers FILES ${PVT_ADAPTER_HEADERS})
|
||||
target_link_libraries(pvt_adapters pvt_gr_blocks ${ARMADILLO_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES})
|
||||
|
||||
target_link_libraries(pvt_adapters
|
||||
pvt_gr_blocks
|
||||
${ARMADILLO_LIBRARIES}
|
||||
${GNURADIO_RUNTIME_LIBRARIES}
|
||||
)
|
||||
|
@ -49,30 +49,10 @@ namespace bc = boost::integer;
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
bool RtklibPvt::get_latest_PVT(double* longitude_deg,
|
||||
double* latitude_deg,
|
||||
double* height_m,
|
||||
double* ground_speed_kmh,
|
||||
double* course_over_ground_deg,
|
||||
time_t* UTC_time)
|
||||
{
|
||||
return pvt_->get_latest_PVT(longitude_deg,
|
||||
latitude_deg,
|
||||
height_m,
|
||||
ground_speed_kmh,
|
||||
course_over_ground_deg,
|
||||
UTC_time);
|
||||
}
|
||||
|
||||
void RtklibPvt::clear_ephemeris()
|
||||
{
|
||||
pvt_->clear_ephemeris();
|
||||
}
|
||||
|
||||
RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
||||
std::string role,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
unsigned int out_streams) : role_(std::move(role)),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
@ -100,27 +80,27 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
||||
|
||||
// RINEX version
|
||||
pvt_output_parameters.rinex_version = configuration->property(role + ".rinex_version", 3);
|
||||
if (FLAGS_RINEX_version.compare("3.01") == 0)
|
||||
if (FLAGS_RINEX_version == "3.01")
|
||||
{
|
||||
pvt_output_parameters.rinex_version = 3;
|
||||
}
|
||||
else if (FLAGS_RINEX_version.compare("3.02") == 0)
|
||||
else if (FLAGS_RINEX_version == "3.02")
|
||||
{
|
||||
pvt_output_parameters.rinex_version = 3;
|
||||
}
|
||||
else if (FLAGS_RINEX_version.compare("3") == 0)
|
||||
else if (FLAGS_RINEX_version == "3")
|
||||
{
|
||||
pvt_output_parameters.rinex_version = 3;
|
||||
}
|
||||
else if (FLAGS_RINEX_version.compare("2.11") == 0)
|
||||
else if (FLAGS_RINEX_version == "2.11")
|
||||
{
|
||||
pvt_output_parameters.rinex_version = 2;
|
||||
}
|
||||
else if (FLAGS_RINEX_version.compare("2.10") == 0)
|
||||
else if (FLAGS_RINEX_version == "2.10")
|
||||
{
|
||||
pvt_output_parameters.rinex_version = 2;
|
||||
}
|
||||
else if (FLAGS_RINEX_version.compare("2") == 0)
|
||||
else if (FLAGS_RINEX_version == "2")
|
||||
{
|
||||
pvt_output_parameters.rinex_version = 2;
|
||||
}
|
||||
@ -240,11 +220,11 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
||||
int positioning_mode = -1;
|
||||
std::string default_pos_mode("Single");
|
||||
std::string positioning_mode_str = configuration->property(role + ".positioning_mode", default_pos_mode); // (PMODE_XXX) see src/algorithms/libs/rtklib/rtklib.h
|
||||
if (positioning_mode_str.compare("Single") == 0) positioning_mode = PMODE_SINGLE;
|
||||
if (positioning_mode_str.compare("Static") == 0) positioning_mode = PMODE_STATIC;
|
||||
if (positioning_mode_str.compare("Kinematic") == 0) positioning_mode = PMODE_KINEMA;
|
||||
if (positioning_mode_str.compare("PPP_Static") == 0) positioning_mode = PMODE_PPP_STATIC;
|
||||
if (positioning_mode_str.compare("PPP_Kinematic") == 0) positioning_mode = PMODE_PPP_KINEMA;
|
||||
if (positioning_mode_str == "Single") positioning_mode = PMODE_SINGLE;
|
||||
if (positioning_mode_str == "Static") positioning_mode = PMODE_STATIC;
|
||||
if (positioning_mode_str == "Kinematic") positioning_mode = PMODE_KINEMA;
|
||||
if (positioning_mode_str == "PPP_Static") positioning_mode = PMODE_PPP_STATIC;
|
||||
if (positioning_mode_str == "PPP_Kinematic") positioning_mode = PMODE_PPP_KINEMA;
|
||||
|
||||
if (positioning_mode == -1)
|
||||
{
|
||||
@ -289,12 +269,12 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
||||
std::string default_iono_model("OFF");
|
||||
std::string iono_model_str = configuration->property(role + ".iono_model", default_iono_model); /* (IONOOPT_XXX) see src/algorithms/libs/rtklib/rtklib.h */
|
||||
int iono_model = -1;
|
||||
if (iono_model_str.compare("OFF") == 0) iono_model = IONOOPT_OFF;
|
||||
if (iono_model_str.compare("Broadcast") == 0) iono_model = IONOOPT_BRDC;
|
||||
if (iono_model_str.compare("SBAS") == 0) iono_model = IONOOPT_SBAS;
|
||||
if (iono_model_str.compare("Iono-Free-LC") == 0) iono_model = IONOOPT_IFLC;
|
||||
if (iono_model_str.compare("Estimate_STEC") == 0) iono_model = IONOOPT_EST;
|
||||
if (iono_model_str.compare("IONEX") == 0) iono_model = IONOOPT_TEC;
|
||||
if (iono_model_str == "OFF") iono_model = IONOOPT_OFF;
|
||||
if (iono_model_str == "Broadcast") iono_model = IONOOPT_BRDC;
|
||||
if (iono_model_str == "SBAS") iono_model = IONOOPT_SBAS;
|
||||
if (iono_model_str == "Iono-Free-LC") iono_model = IONOOPT_IFLC;
|
||||
if (iono_model_str == "Estimate_STEC") iono_model = IONOOPT_EST;
|
||||
if (iono_model_str == "IONEX") iono_model = IONOOPT_TEC;
|
||||
if (iono_model == -1)
|
||||
{
|
||||
//warn user and set the default
|
||||
@ -308,11 +288,11 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
||||
std::string default_trop_model("OFF");
|
||||
int trop_model = -1;
|
||||
std::string trop_model_str = configuration->property(role + ".trop_model", default_trop_model); /* (TROPOPT_XXX) see src/algorithms/libs/rtklib/rtklib.h */
|
||||
if (trop_model_str.compare("OFF") == 0) trop_model = TROPOPT_OFF;
|
||||
if (trop_model_str.compare("Saastamoinen") == 0) trop_model = TROPOPT_SAAS;
|
||||
if (trop_model_str.compare("SBAS") == 0) trop_model = TROPOPT_SBAS;
|
||||
if (trop_model_str.compare("Estimate_ZTD") == 0) trop_model = TROPOPT_EST;
|
||||
if (trop_model_str.compare("Estimate_ZTD_Grad") == 0) trop_model = TROPOPT_ESTG;
|
||||
if (trop_model_str == "OFF") trop_model = TROPOPT_OFF;
|
||||
if (trop_model_str == "Saastamoinen") trop_model = TROPOPT_SAAS;
|
||||
if (trop_model_str == "SBAS") trop_model = TROPOPT_SBAS;
|
||||
if (trop_model_str == "Estimate_ZTD") trop_model = TROPOPT_EST;
|
||||
if (trop_model_str == "Estimate_ZTD_Grad") trop_model = TROPOPT_ESTG;
|
||||
if (trop_model == -1)
|
||||
{
|
||||
//warn user and set the default
|
||||
@ -357,11 +337,11 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
||||
std::string default_gps_ar("Continuous");
|
||||
std::string integer_ambiguity_resolution_gps_str = configuration->property(role + ".AR_GPS", default_gps_ar); /* Integer Ambiguity Resolution mode for GPS (0:off,1:continuous,2:instantaneous,3:fix and hold,4:ppp-ar) */
|
||||
int integer_ambiguity_resolution_gps = -1;
|
||||
if (integer_ambiguity_resolution_gps_str.compare("OFF") == 0) integer_ambiguity_resolution_gps = ARMODE_OFF;
|
||||
if (integer_ambiguity_resolution_gps_str.compare("Continuous") == 0) integer_ambiguity_resolution_gps = ARMODE_CONT;
|
||||
if (integer_ambiguity_resolution_gps_str.compare("Instantaneous") == 0) integer_ambiguity_resolution_gps = ARMODE_INST;
|
||||
if (integer_ambiguity_resolution_gps_str.compare("Fix-and-Hold") == 0) integer_ambiguity_resolution_gps = ARMODE_FIXHOLD;
|
||||
if (integer_ambiguity_resolution_gps_str.compare("PPP-AR") == 0) integer_ambiguity_resolution_gps = ARMODE_PPPAR;
|
||||
if (integer_ambiguity_resolution_gps_str == "OFF") integer_ambiguity_resolution_gps = ARMODE_OFF;
|
||||
if (integer_ambiguity_resolution_gps_str == "Continuous") integer_ambiguity_resolution_gps = ARMODE_CONT;
|
||||
if (integer_ambiguity_resolution_gps_str == "Instantaneous") integer_ambiguity_resolution_gps = ARMODE_INST;
|
||||
if (integer_ambiguity_resolution_gps_str == "Fix-and-Hold") integer_ambiguity_resolution_gps = ARMODE_FIXHOLD;
|
||||
if (integer_ambiguity_resolution_gps_str == "PPP-AR") integer_ambiguity_resolution_gps = ARMODE_PPPAR;
|
||||
if (integer_ambiguity_resolution_gps == -1)
|
||||
{
|
||||
//warn user and set the default
|
||||
@ -391,7 +371,7 @@ RtklibPvt::RtklibPvt(ConfigurationInterface* configuration,
|
||||
double min_ratio_to_fix_ambiguity = configuration->property(role + ".min_ratio_to_fix_ambiguity", 3.0); /* Set the integer ambiguity validation threshold for ratio‐test,
|
||||
which uses the ratio of squared residuals of the best integer vector to the second‐best vector. */
|
||||
|
||||
int min_lock_to_fix_ambiguity = configuration->property(role + ".min_lock_to_fix_ambiguity", 0); /* Set the minimum lock count to fix integer ambiguity.
|
||||
int min_lock_to_fix_ambiguity = configuration->property(role + ".min_lock_to_fix_ambiguity", 0); /* Set the minimum lock count to fix integer ambiguity.FLAGS_RINEX_version.
|
||||
If the lock count is less than the value, the ambiguity is excluded from the fixed integer vector. */
|
||||
|
||||
double min_elevation_to_fix_ambiguity = configuration->property(role + ".min_elevation_to_fix_ambiguity", 0.0); /* Set the minimum elevation (deg) to fix integer ambiguity.
|
||||
@ -537,6 +517,28 @@ RtklibPvt::~RtklibPvt()
|
||||
}
|
||||
|
||||
|
||||
bool RtklibPvt::get_latest_PVT(double* longitude_deg,
|
||||
double* latitude_deg,
|
||||
double* height_m,
|
||||
double* ground_speed_kmh,
|
||||
double* course_over_ground_deg,
|
||||
time_t* UTC_time)
|
||||
{
|
||||
return pvt_->get_latest_PVT(longitude_deg,
|
||||
latitude_deg,
|
||||
height_m,
|
||||
ground_speed_kmh,
|
||||
course_over_ground_deg,
|
||||
UTC_time);
|
||||
}
|
||||
|
||||
|
||||
void RtklibPvt::clear_ephemeris()
|
||||
{
|
||||
pvt_->clear_ephemeris();
|
||||
}
|
||||
|
||||
|
||||
std::map<int, Gps_Ephemeris> RtklibPvt::get_gps_ephemeris() const
|
||||
{
|
||||
return pvt_->get_gps_ephemeris_map();
|
||||
|
@ -46,7 +46,7 @@ class RtklibPvt : public PvtInterface
|
||||
{
|
||||
public:
|
||||
RtklibPvt(ConfigurationInterface* configuration,
|
||||
std::string role,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
@ -95,8 +95,6 @@ public:
|
||||
private:
|
||||
rtklib_pvt_cc_sptr pvt_;
|
||||
rtk_t rtk;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::string role_;
|
||||
unsigned int in_streams_;
|
||||
unsigned int out_streams_;
|
||||
|
@ -18,30 +18,30 @@
|
||||
|
||||
|
||||
if(Boost_VERSION LESS 105800)
|
||||
add_definitions(-DOLD_BOOST=1)
|
||||
endif(Boost_VERSION LESS 105800)
|
||||
add_definitions(-DOLD_BOOST=1)
|
||||
endif()
|
||||
|
||||
set(PVT_GR_BLOCKS_SOURCES
|
||||
rtklib_pvt_cc.cc
|
||||
rtklib_pvt_cc.cc
|
||||
)
|
||||
|
||||
set(PVT_GR_BLOCKS_HEADERS
|
||||
rtklib_pvt_cc.h
|
||||
rtklib_pvt_cc.h
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_library(pvt_gr_blocks ${PVT_GR_BLOCKS_SOURCES} ${PVT_GR_BLOCKS_HEADERS})
|
||||
|
@ -29,11 +29,11 @@
|
||||
*/
|
||||
|
||||
#include "rtklib_pvt_cc.h"
|
||||
#include "display.h"
|
||||
#include "galileo_almanac.h"
|
||||
#include "galileo_almanac_helper.h"
|
||||
#include "pvt_conf.h"
|
||||
#include "display.h"
|
||||
#include "gnss_sdr_create_directory.h"
|
||||
#include "pvt_conf.h"
|
||||
#include <boost/archive/xml_oarchive.hpp>
|
||||
#include <boost/archive/xml_iarchive.hpp>
|
||||
#include <boost/exception/all.hpp>
|
||||
@ -59,7 +59,7 @@ using google::LogMessage;
|
||||
|
||||
rtklib_pvt_cc_sptr rtklib_make_pvt_cc(uint32_t nchannels,
|
||||
const Pvt_Conf& conf_,
|
||||
rtk_t& rtk)
|
||||
const rtk_t& rtk)
|
||||
{
|
||||
return rtklib_pvt_cc_sptr(new rtklib_pvt_cc(nchannels,
|
||||
conf_,
|
||||
@ -268,9 +268,9 @@ void rtklib_pvt_cc::clear_ephemeris()
|
||||
|
||||
rtklib_pvt_cc::rtklib_pvt_cc(uint32_t nchannels,
|
||||
const Pvt_Conf& conf_,
|
||||
rtk_t& rtk) : gr::sync_block("rtklib_pvt_cc",
|
||||
gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)),
|
||||
gr::io_signature::make(0, 0, 0))
|
||||
const rtk_t& rtk) : gr::sync_block("rtklib_pvt_cc",
|
||||
gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)),
|
||||
gr::io_signature::make(0, 0, 0))
|
||||
{
|
||||
d_output_rate_ms = conf_.output_rate_ms;
|
||||
d_display_rate_ms = conf_.display_rate_ms;
|
||||
@ -492,7 +492,7 @@ rtklib_pvt_cc::rtklib_pvt_cc(uint32_t nchannels,
|
||||
{
|
||||
xml_base_path = p.string();
|
||||
}
|
||||
if (xml_base_path.compare(".") != 0)
|
||||
if (xml_base_path != ".")
|
||||
{
|
||||
std::cout << "XML files will be stored at " << xml_base_path << std::endl;
|
||||
}
|
||||
@ -858,7 +858,7 @@ bool rtklib_pvt_cc::send_sys_v_ttff_msg(ttff_msgbuf ttff)
|
||||
}
|
||||
|
||||
|
||||
bool rtklib_pvt_cc::save_gnss_synchro_map_xml(const std::string file_name)
|
||||
bool rtklib_pvt_cc::save_gnss_synchro_map_xml(const std::string& file_name)
|
||||
{
|
||||
if (gnss_observables_map.empty() == false)
|
||||
{
|
||||
@ -885,7 +885,7 @@ bool rtklib_pvt_cc::save_gnss_synchro_map_xml(const std::string file_name)
|
||||
}
|
||||
|
||||
|
||||
bool rtklib_pvt_cc::load_gnss_synchro_map_xml(const std::string file_name)
|
||||
bool rtklib_pvt_cc::load_gnss_synchro_map_xml(const std::string& file_name)
|
||||
{
|
||||
// load from xml (boost serialize)
|
||||
std::ifstream ifs;
|
||||
@ -959,7 +959,13 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::map<int, Galileo_Ephemeris>::const_iterator tmp_eph_iter_gal = d_pvt_solver->galileo_ephemeris_map.find(in[i][epoch].PRN);
|
||||
std::map<int, Gps_CNAV_Ephemeris>::const_iterator tmp_eph_iter_cnav = d_pvt_solver->gps_cnav_ephemeris_map.find(in[i][epoch].PRN);
|
||||
std::map<int, Glonass_Gnav_Ephemeris>::const_iterator tmp_eph_iter_glo_gnav = d_pvt_solver->glonass_gnav_ephemeris_map.find(in[i][epoch].PRN);
|
||||
if (((tmp_eph_iter_gps->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal).compare("1C") == 0)) or ((tmp_eph_iter_cnav->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal).compare("2S") == 0)) or ((tmp_eph_iter_gal->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal).compare("1B") == 0)) or ((tmp_eph_iter_gal->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal).compare("5X") == 0)) or ((tmp_eph_iter_glo_gnav->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal).compare("1G") == 0)) or ((tmp_eph_iter_glo_gnav->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal).compare("2G") == 0)) or ((tmp_eph_iter_cnav->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal).compare("L5") == 0)))
|
||||
if (((tmp_eph_iter_gps->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal) == "1C")) or
|
||||
((tmp_eph_iter_cnav->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal) == "2S")) or
|
||||
((tmp_eph_iter_gal->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal) == "1B")) or
|
||||
((tmp_eph_iter_gal->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal) == "5X")) or
|
||||
((tmp_eph_iter_glo_gnav->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal) == "1G")) or
|
||||
((tmp_eph_iter_glo_gnav->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal) == "2G")) or
|
||||
((tmp_eph_iter_cnav->second.i_satellite_PRN == in[i][epoch].PRN) and (std::string(in[i][epoch].Signal) == "L5")))
|
||||
{
|
||||
// store valid observables in a map.
|
||||
gnss_observables_map.insert(std::pair<int, Gnss_Synchro>(i, in[i][epoch]));
|
||||
@ -1893,7 +1899,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gps_channel == 0)
|
||||
{
|
||||
if (system.compare("G") == 0)
|
||||
if (system == "G")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gps_eph_iter = d_pvt_solver->gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -1905,7 +1911,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (gal_channel == 0)
|
||||
{
|
||||
if (system.compare("E") == 0)
|
||||
if (system == "E")
|
||||
{
|
||||
gal_eph_iter = d_pvt_solver->galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (gal_eph_iter != d_pvt_solver->galileo_ephemeris_map.cend())
|
||||
@ -2013,7 +2019,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gps_channel == 0)
|
||||
{
|
||||
if (system.compare("G") == 0)
|
||||
if (system == "G")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gps_eph_iter = d_pvt_solver->gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2025,7 +2031,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (glo_channel == 0)
|
||||
{
|
||||
if (system.compare("R") == 0)
|
||||
if (system == "R")
|
||||
{
|
||||
glonass_gnav_eph_iter = d_pvt_solver->glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (glonass_gnav_eph_iter != d_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
@ -2073,7 +2079,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gal_channel == 0)
|
||||
{
|
||||
if (system.compare("E") == 0)
|
||||
if (system == "E")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gal_eph_iter = d_pvt_solver->galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2085,7 +2091,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (glo_channel == 0)
|
||||
{
|
||||
if (system.compare("R") == 0)
|
||||
if (system == "R")
|
||||
{
|
||||
glonass_gnav_eph_iter = d_pvt_solver->glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (glonass_gnav_eph_iter != d_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
@ -2132,7 +2138,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gps_channel == 0)
|
||||
{
|
||||
if (system.compare("G") == 0)
|
||||
if (system == "G")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gps_eph_iter = d_pvt_solver->gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2144,7 +2150,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (glo_channel == 0)
|
||||
{
|
||||
if (system.compare("R") == 0)
|
||||
if (system == "R")
|
||||
{
|
||||
glonass_gnav_eph_iter = d_pvt_solver->glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (glonass_gnav_eph_iter != d_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
@ -2191,7 +2197,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gal_channel == 0)
|
||||
{
|
||||
if (system.compare("E") == 0)
|
||||
if (system == "E")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gal_eph_iter = d_pvt_solver->galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2203,7 +2209,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (glo_channel == 0)
|
||||
{
|
||||
if (system.compare("R") == 0)
|
||||
if (system == "R")
|
||||
{
|
||||
glonass_gnav_eph_iter = d_pvt_solver->glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (glonass_gnav_eph_iter != d_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
@ -2250,7 +2256,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gal_channel == 0)
|
||||
{
|
||||
if (system.compare("E") == 0)
|
||||
if (system == "E")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gal_eph_iter = d_pvt_solver->galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2262,7 +2268,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (gps_channel == 0)
|
||||
{
|
||||
if (system.compare("G") == 0)
|
||||
if (system == "G")
|
||||
{
|
||||
gps_eph_iter = d_pvt_solver->gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (gps_eph_iter != d_pvt_solver->gps_ephemeris_map.cend())
|
||||
@ -2395,7 +2401,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gps_channel == 0)
|
||||
{
|
||||
if (system.compare("G") == 0)
|
||||
if (system == "G")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gps_eph_iter = d_pvt_solver->gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2407,7 +2413,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (gal_channel == 0)
|
||||
{
|
||||
if (system.compare("E") == 0)
|
||||
if (system == "E")
|
||||
{
|
||||
gal_eph_iter = d_pvt_solver->galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (gal_eph_iter != d_pvt_solver->galileo_ephemeris_map.cend())
|
||||
@ -2513,7 +2519,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gps_channel == 0)
|
||||
{
|
||||
if (system.compare("G") == 0)
|
||||
if (system == "G")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gps_eph_iter = d_pvt_solver->gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2525,7 +2531,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (glo_channel == 0)
|
||||
{
|
||||
if (system.compare("R") == 0)
|
||||
if (system == "R")
|
||||
{
|
||||
glonass_gnav_eph_iter = d_pvt_solver->glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (glonass_gnav_eph_iter != d_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
@ -2573,7 +2579,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gal_channel == 0)
|
||||
{
|
||||
if (system.compare("E") == 0)
|
||||
if (system == "E")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gal_eph_iter = d_pvt_solver->galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2585,7 +2591,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (glo_channel == 0)
|
||||
{
|
||||
if (system.compare("R") == 0)
|
||||
if (system == "R")
|
||||
{
|
||||
glonass_gnav_eph_iter = d_pvt_solver->glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (glonass_gnav_eph_iter != d_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
@ -2633,7 +2639,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gps_channel == 0)
|
||||
{
|
||||
if (system.compare("G") == 0)
|
||||
if (system == "G")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gps_eph_iter = d_pvt_solver->gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2645,7 +2651,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (glo_channel == 0)
|
||||
{
|
||||
if (system.compare("R") == 0)
|
||||
if (system == "R")
|
||||
{
|
||||
glonass_gnav_eph_iter = d_pvt_solver->glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (glonass_gnav_eph_iter != d_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
@ -2694,7 +2700,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gal_channel == 0)
|
||||
{
|
||||
if (system.compare("E") == 0)
|
||||
if (system == "E")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gal_eph_iter = d_pvt_solver->galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2706,7 +2712,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (glo_channel == 0)
|
||||
{
|
||||
if (system.compare("R") == 0)
|
||||
if (system == "R")
|
||||
{
|
||||
glonass_gnav_eph_iter = d_pvt_solver->glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (glonass_gnav_eph_iter != d_pvt_solver->glonass_gnav_ephemeris_map.cend())
|
||||
@ -2754,7 +2760,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
std::string system(&gnss_observables_iter->second.System, 1);
|
||||
if (gps_channel == 0)
|
||||
{
|
||||
if (system.compare("G") == 0)
|
||||
if (system == "G")
|
||||
{
|
||||
// This is a channel with valid GPS signal
|
||||
gps_eph_iter = d_pvt_solver->gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -2766,7 +2772,7 @@ int rtklib_pvt_cc::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
if (gal_channel == 0)
|
||||
{
|
||||
if (system.compare("E") == 0)
|
||||
if (system == "E")
|
||||
{
|
||||
gal_eph_iter = d_pvt_solver->galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (gal_eph_iter != d_pvt_solver->galileo_ephemeris_map.cend())
|
||||
|
@ -59,7 +59,7 @@ typedef boost::shared_ptr<rtklib_pvt_cc> rtklib_pvt_cc_sptr;
|
||||
|
||||
rtklib_pvt_cc_sptr rtklib_make_pvt_cc(uint32_t n_channels,
|
||||
const Pvt_Conf& conf_,
|
||||
rtk_t& rtk);
|
||||
const rtk_t& rtk);
|
||||
|
||||
/*!
|
||||
* \brief This class implements a block that computes the PVT solution using the RTKLIB integrated library
|
||||
@ -69,7 +69,7 @@ class rtklib_pvt_cc : public gr::sync_block
|
||||
private:
|
||||
friend rtklib_pvt_cc_sptr rtklib_make_pvt_cc(uint32_t nchannels,
|
||||
const Pvt_Conf& conf_,
|
||||
rtk_t& rtk);
|
||||
const rtk_t& rtk);
|
||||
|
||||
void msg_handler_telemetry(pmt::pmt_t msg);
|
||||
|
||||
@ -131,9 +131,9 @@ private:
|
||||
bool send_sys_v_ttff_msg(ttff_msgbuf ttff);
|
||||
std::chrono::time_point<std::chrono::system_clock> start, end;
|
||||
|
||||
bool save_gnss_synchro_map_xml(const std::string file_name); //debug helper function
|
||||
bool save_gnss_synchro_map_xml(const std::string& file_name); //debug helper function
|
||||
|
||||
bool load_gnss_synchro_map_xml(const std::string file_name); //debug helper function
|
||||
bool load_gnss_synchro_map_xml(const std::string& file_name); //debug helper function
|
||||
|
||||
bool d_xml_storage;
|
||||
std::string xml_base_path;
|
||||
@ -147,7 +147,7 @@ private:
|
||||
public:
|
||||
rtklib_pvt_cc(uint32_t nchannels,
|
||||
const Pvt_Conf& conf_,
|
||||
rtk_t& rtk);
|
||||
const rtk_t& rtk);
|
||||
|
||||
/*!
|
||||
* \brief Get latest set of ephemeris from PVT block
|
||||
|
@ -16,50 +16,49 @@
|
||||
# along with GNSS-SDR. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
add_definitions( -DGNSS_SDR_VERSION="${VERSION}" )
|
||||
add_definitions(-DGNSS_SDR_VERSION="${VERSION}")
|
||||
|
||||
set(PVT_LIB_SOURCES
|
||||
pvt_solution.cc
|
||||
ls_pvt.cc
|
||||
hybrid_ls_pvt.cc
|
||||
kml_printer.cc
|
||||
gpx_printer.cc
|
||||
rinex_printer.cc
|
||||
nmea_printer.cc
|
||||
rtcm_printer.cc
|
||||
geojson_printer.cc
|
||||
rtklib_solver.cc
|
||||
pvt_conf.cc
|
||||
pvt_solution.cc
|
||||
ls_pvt.cc
|
||||
hybrid_ls_pvt.cc
|
||||
kml_printer.cc
|
||||
gpx_printer.cc
|
||||
rinex_printer.cc
|
||||
nmea_printer.cc
|
||||
rtcm_printer.cc
|
||||
geojson_printer.cc
|
||||
rtklib_solver.cc
|
||||
pvt_conf.cc
|
||||
)
|
||||
|
||||
set(PVT_LIB_HEADERS
|
||||
pvt_solution.h
|
||||
ls_pvt.h
|
||||
hybrid_ls_pvt.h
|
||||
kml_printer.h
|
||||
gpx_printer.h
|
||||
rinex_printer.h
|
||||
nmea_printer.h
|
||||
rtcm_printer.h
|
||||
geojson_printer.h
|
||||
rtklib_solver.h
|
||||
pvt_conf.h
|
||||
pvt_solution.h
|
||||
ls_pvt.h
|
||||
hybrid_ls_pvt.h
|
||||
kml_printer.h
|
||||
gpx_printer.h
|
||||
rinex_printer.h
|
||||
nmea_printer.h
|
||||
rtcm_printer.h
|
||||
geojson_printer.h
|
||||
rtklib_solver.h
|
||||
pvt_conf.h
|
||||
)
|
||||
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/adapters
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${MATIO_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/PVT/adapters
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${MATIO_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
list(SORT PVT_LIB_HEADERS)
|
||||
@ -69,10 +68,17 @@ add_library(pvt_lib ${PVT_LIB_SOURCES} ${PVT_LIB_HEADERS})
|
||||
source_group(Headers FILES ${PVT_LIB_HEADERS})
|
||||
|
||||
if(MATIO_FOUND)
|
||||
add_dependencies(pvt_lib glog-${glog_RELEASE} armadillo-${armadillo_RELEASE})
|
||||
else(MATIO_FOUND)
|
||||
add_dependencies(pvt_lib glog-${glog_RELEASE} armadillo-${armadillo_RELEASE} matio-${GNSSSDR_MATIO_LOCAL_VERSION})
|
||||
endif(MATIO_FOUND)
|
||||
add_dependencies(pvt_lib
|
||||
glog-${glog_RELEASE}
|
||||
armadillo-${armadillo_RELEASE}
|
||||
)
|
||||
else()
|
||||
add_dependencies(pvt_lib
|
||||
glog-${glog_RELEASE}
|
||||
armadillo-${armadillo_RELEASE}
|
||||
matio-${GNSSSDR_MATIO_LOCAL_VERSION}
|
||||
)
|
||||
endif()
|
||||
|
||||
target_link_libraries(
|
||||
pvt_lib
|
||||
|
@ -68,7 +68,7 @@ GeoJSON_Printer::GeoJSON_Printer(const std::string& base_path)
|
||||
{
|
||||
geojson_base_path = p.string();
|
||||
}
|
||||
if (geojson_base_path.compare(".") != 0)
|
||||
if (geojson_base_path != ".")
|
||||
{
|
||||
std::cout << "GeoJSON files will be stored at " << geojson_base_path << std::endl;
|
||||
}
|
||||
@ -83,7 +83,7 @@ GeoJSON_Printer::~GeoJSON_Printer()
|
||||
}
|
||||
|
||||
|
||||
bool GeoJSON_Printer::set_headers(std::string filename, bool time_tag_name)
|
||||
bool GeoJSON_Printer::set_headers(const std::string& filename, bool time_tag_name)
|
||||
{
|
||||
boost::posix_time::ptime pt = boost::posix_time::second_clock::local_time();
|
||||
tm timeinfo = boost::posix_time::to_tm(pt);
|
||||
@ -140,7 +140,7 @@ bool GeoJSON_Printer::set_headers(std::string filename, bool time_tag_name)
|
||||
DLOG(INFO) << "GeoJSON printer writing on " << filename.c_str();
|
||||
|
||||
// Set iostream numeric format and precision
|
||||
geojson_file.setf(geojson_file.fixed, geojson_file.floatfield);
|
||||
geojson_file.setf(geojson_file.std::ofstream::fixed, geojson_file.std::ofstream::floatfield);
|
||||
geojson_file << std::setprecision(14);
|
||||
|
||||
// Writing the header
|
||||
@ -171,7 +171,7 @@ bool GeoJSON_Printer::print_position(const std::shared_ptr<Pvt_Solution>& positi
|
||||
double longitude;
|
||||
double height;
|
||||
|
||||
std::shared_ptr<Pvt_Solution> position_ = position;
|
||||
const std::shared_ptr<Pvt_Solution>& position_ = position;
|
||||
|
||||
if (print_average_values == false)
|
||||
{
|
||||
|
@ -55,7 +55,7 @@ private:
|
||||
public:
|
||||
GeoJSON_Printer(const std::string& base_path = ".");
|
||||
~GeoJSON_Printer();
|
||||
bool set_headers(std::string filename, bool time_tag_name = true);
|
||||
bool set_headers(const std::string& filename, bool time_tag_name = true);
|
||||
bool print_position(const std::shared_ptr<Pvt_Solution>& position, bool print_average_values);
|
||||
bool close_file();
|
||||
};
|
||||
|
@ -70,7 +70,7 @@ Gpx_Printer::Gpx_Printer(const std::string& base_path)
|
||||
{
|
||||
gpx_base_path = p.string();
|
||||
}
|
||||
if (gpx_base_path.compare(".") != 0)
|
||||
if (gpx_base_path != ".")
|
||||
{
|
||||
std::cout << "GPX files will be stored at " << gpx_base_path << std::endl;
|
||||
}
|
||||
@ -79,7 +79,7 @@ Gpx_Printer::Gpx_Printer(const std::string& base_path)
|
||||
}
|
||||
|
||||
|
||||
bool Gpx_Printer::set_headers(std::string filename, bool time_tag_name)
|
||||
bool Gpx_Printer::set_headers(const std::string& filename, bool time_tag_name)
|
||||
{
|
||||
boost::posix_time::ptime pt = boost::posix_time::second_clock::local_time();
|
||||
tm timeinfo = boost::posix_time::to_tm(pt);
|
||||
@ -134,7 +134,7 @@ bool Gpx_Printer::set_headers(std::string filename, bool time_tag_name)
|
||||
{
|
||||
DLOG(INFO) << "GPX printer writing on " << filename.c_str();
|
||||
// Set iostream numeric format and precision
|
||||
gpx_file.setf(gpx_file.fixed, gpx_file.floatfield);
|
||||
gpx_file.setf(gpx_file.std::ofstream::fixed, gpx_file.std::ofstream::floatfield);
|
||||
gpx_file << std::setprecision(14);
|
||||
gpx_file << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" << std::endl
|
||||
<< "<gpx version=\"1.1\" creator=\"GNSS-SDR\"" << std::endl
|
||||
@ -164,7 +164,7 @@ bool Gpx_Printer::print_position(const std::shared_ptr<rtklib_solver>& position,
|
||||
double height;
|
||||
|
||||
positions_printed = true;
|
||||
std::shared_ptr<rtklib_solver> position_ = position;
|
||||
const std::shared_ptr<rtklib_solver>& position_ = position;
|
||||
|
||||
double speed_over_ground = position_->get_speed_over_ground(); // expressed in m/s
|
||||
double course_over_ground = position_->get_course_over_ground(); // expressed in deg
|
||||
|
@ -57,7 +57,7 @@ private:
|
||||
public:
|
||||
Gpx_Printer(const std::string& base_path = ".");
|
||||
~Gpx_Printer();
|
||||
bool set_headers(std::string filename, bool time_tag_name = true);
|
||||
bool set_headers(const std::string& filename, bool time_tag_name = true);
|
||||
bool print_position(const std::shared_ptr<rtklib_solver>& position, bool print_average_values);
|
||||
bool close_file();
|
||||
};
|
||||
|
@ -173,7 +173,7 @@ bool hybrid_ls_pvt::get_PVT(std::map<int, Gnss_Synchro> gnss_observables_map, do
|
||||
{
|
||||
// 1 GPS - find the ephemeris for the current GPS SV observation. The SV PRN ID is the map key
|
||||
std::string sig_(gnss_observables_iter->second.Signal);
|
||||
if (sig_.compare("1C") == 0)
|
||||
if (sig_ == "1C")
|
||||
{
|
||||
gps_ephemeris_iter = gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (gps_ephemeris_iter != gps_ephemeris_map.end())
|
||||
@ -228,7 +228,7 @@ bool hybrid_ls_pvt::get_PVT(std::map<int, Gnss_Synchro> gnss_observables_map, do
|
||||
DLOG(INFO) << "No ephemeris data for SV " << gnss_observables_iter->first;
|
||||
}
|
||||
}
|
||||
if (sig_.compare("2S") == 0)
|
||||
if (sig_ == "2S")
|
||||
{
|
||||
gps_cnav_ephemeris_iter = gps_cnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (gps_cnav_ephemeris_iter != gps_cnav_ephemeris_map.end())
|
||||
|
@ -70,7 +70,7 @@ Kml_Printer::Kml_Printer(const std::string& base_path)
|
||||
{
|
||||
kml_base_path = p.string();
|
||||
}
|
||||
if (kml_base_path.compare(".") != 0)
|
||||
if (kml_base_path != ".")
|
||||
{
|
||||
std::cout << "KML files will be stored at " << kml_base_path << std::endl;
|
||||
}
|
||||
@ -87,7 +87,7 @@ Kml_Printer::Kml_Printer(const std::string& base_path)
|
||||
}
|
||||
|
||||
|
||||
bool Kml_Printer::set_headers(std::string filename, bool time_tag_name)
|
||||
bool Kml_Printer::set_headers(const std::string& filename, bool time_tag_name)
|
||||
{
|
||||
boost::posix_time::ptime pt = boost::posix_time::second_clock::local_time();
|
||||
tm timeinfo = boost::posix_time::to_tm(pt);
|
||||
@ -143,10 +143,10 @@ bool Kml_Printer::set_headers(std::string filename, bool time_tag_name)
|
||||
{
|
||||
DLOG(INFO) << "KML printer writing on " << filename.c_str();
|
||||
// Set iostream numeric format and precision
|
||||
kml_file.setf(kml_file.fixed, kml_file.floatfield);
|
||||
kml_file.setf(kml_file.std::ofstream::fixed, kml_file.std::ofstream::floatfield);
|
||||
kml_file << std::setprecision(14);
|
||||
|
||||
tmp_file.setf(tmp_file.fixed, tmp_file.floatfield);
|
||||
tmp_file.setf(tmp_file.std::ofstream::fixed, tmp_file.std::ofstream::floatfield);
|
||||
tmp_file << std::setprecision(14);
|
||||
|
||||
kml_file << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" << std::endl
|
||||
@ -222,7 +222,7 @@ bool Kml_Printer::print_position(const std::shared_ptr<rtklib_solver>& position,
|
||||
|
||||
positions_printed = true;
|
||||
|
||||
std::shared_ptr<rtklib_solver> position_ = position;
|
||||
const std::shared_ptr<rtklib_solver>& position_ = position;
|
||||
|
||||
double speed_over_ground = position_->get_speed_over_ground(); // expressed in m/s
|
||||
double course_over_ground = position_->get_course_over_ground(); // expressed in deg
|
||||
|
@ -60,7 +60,7 @@ private:
|
||||
public:
|
||||
Kml_Printer(const std::string& base_path = std::string("."));
|
||||
~Kml_Printer();
|
||||
bool set_headers(std::string filename, bool time_tag_name = true);
|
||||
bool set_headers(const std::string& filename, bool time_tag_name = true);
|
||||
bool print_position(const std::shared_ptr<rtklib_solver>& position, bool print_average_values);
|
||||
bool close_file();
|
||||
};
|
||||
|
@ -44,6 +44,7 @@ Ls_Pvt::Ls_Pvt() : Pvt_Solution()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
arma::vec Ls_Pvt::bancroftPos(const arma::mat& satpos, const arma::vec& obs)
|
||||
{
|
||||
// BANCROFT Calculation of preliminary coordinates for a GPS receiver based on pseudoranges
|
||||
@ -233,9 +234,9 @@ arma::vec Ls_Pvt::leastSquarePos(const arma::mat& satpos, const arma::vec& obs,
|
||||
Rot_X = Ls_Pvt::rotateSatellite(traveltime, X.col(i)); //armadillo
|
||||
|
||||
//--- Find DOA and range of satellites
|
||||
double* azim = 0;
|
||||
double* elev = 0;
|
||||
double* dist = 0;
|
||||
double* azim = nullptr;
|
||||
double* elev = nullptr;
|
||||
double* dist = nullptr;
|
||||
topocent(azim, elev, dist, pos.subvec(0, 2), Rot_X - pos.subvec(0, 2));
|
||||
|
||||
if (traveltime < 0.1 && nmbOfSatellites > 3)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file kml_printer.cc
|
||||
* \file nmea_printer.cc
|
||||
* \brief Implementation of a NMEA 2.1 printer for GNSS-SDR
|
||||
* This class provides a implementation of a subset of the NMEA-0183 standard for interfacing
|
||||
* marine electronic devices as defined by the National Marine Electronics Association (NMEA).
|
||||
@ -48,7 +48,7 @@
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
Nmea_Printer::Nmea_Printer(std::string filename, bool flag_nmea_output_file, bool flag_nmea_tty_port, std::string nmea_dump_devname, const std::string& base_path)
|
||||
Nmea_Printer::Nmea_Printer(const std::string& filename, bool flag_nmea_output_file, bool flag_nmea_tty_port, std::string nmea_dump_devname, const std::string& base_path)
|
||||
{
|
||||
nmea_base_path = base_path;
|
||||
d_flag_nmea_output_file = flag_nmea_output_file;
|
||||
@ -79,7 +79,7 @@ Nmea_Printer::Nmea_Printer(std::string filename, bool flag_nmea_output_file, boo
|
||||
nmea_base_path = p.string();
|
||||
}
|
||||
|
||||
if ((nmea_base_path.compare(".") != 0) and (d_flag_nmea_output_file == true))
|
||||
if ((nmea_base_path != ".") and (d_flag_nmea_output_file == true))
|
||||
{
|
||||
std::cout << "NMEA files will be stored at " << nmea_base_path << std::endl;
|
||||
}
|
||||
@ -99,7 +99,7 @@ Nmea_Printer::Nmea_Printer(std::string filename, bool flag_nmea_output_file, boo
|
||||
}
|
||||
}
|
||||
|
||||
nmea_devname = nmea_dump_devname;
|
||||
nmea_devname = std::move(nmea_dump_devname);
|
||||
if (flag_nmea_tty_port == true)
|
||||
{
|
||||
nmea_dev_descriptor = init_serial(nmea_devname.c_str());
|
||||
@ -126,20 +126,22 @@ Nmea_Printer::~Nmea_Printer()
|
||||
}
|
||||
|
||||
|
||||
int Nmea_Printer::init_serial(std::string serial_device)
|
||||
int Nmea_Printer::init_serial(const std::string& serial_device)
|
||||
{
|
||||
/*!
|
||||
* Opens the serial device and sets the default baud rate for a NMEA transmission (9600,8,N,1)
|
||||
*/
|
||||
int fd = 0;
|
||||
struct termios options;
|
||||
struct termios options
|
||||
{
|
||||
};
|
||||
int64_t BAUD;
|
||||
int64_t DATABITS;
|
||||
int64_t STOPBITS;
|
||||
int64_t PARITYON;
|
||||
int64_t PARITY;
|
||||
|
||||
fd = open(serial_device.c_str(), O_RDWR | O_NOCTTY | O_NDELAY);
|
||||
fd = open(serial_device.c_str(), O_RDWR | O_NOCTTY | O_NDELAY | O_CLOEXEC);
|
||||
if (fd == -1) return fd; // failed to open TTY port
|
||||
|
||||
if (fcntl(fd, F_SETFL, 0) == -1) LOG(INFO) << "Error enabling direct I/O"; // clear all flags on descriptor, enable direct I/O
|
||||
|
@ -53,12 +53,12 @@ public:
|
||||
/*!
|
||||
* \brief Default constructor.
|
||||
*/
|
||||
Nmea_Printer(std::string filename, bool flag_nmea_output_file, bool flag_nmea_tty_port, std::string nmea_dump_filename, const std::string& base_path = ".");
|
||||
Nmea_Printer(const std::string& filename, bool flag_nmea_output_file, bool flag_nmea_tty_port, std::string nmea_dump_devname, const std::string& base_path = ".");
|
||||
|
||||
/*!
|
||||
* \brief Print NMEA PVT and satellite info to the initialized device
|
||||
*/
|
||||
bool Print_Nmea_Line(const std::shared_ptr<rtklib_solver>& position, bool print_average_values);
|
||||
bool Print_Nmea_Line(const std::shared_ptr<rtklib_solver>& pvt_data, bool print_average_values);
|
||||
|
||||
/*!
|
||||
* \brief Default destructor.
|
||||
@ -72,7 +72,7 @@ private:
|
||||
std::string nmea_devname;
|
||||
int nmea_dev_descriptor; // NMEA serial device descriptor (i.e. COM port)
|
||||
std::shared_ptr<rtklib_solver> d_PVT_data;
|
||||
int init_serial(std::string serial_device); //serial port control
|
||||
int init_serial(const std::string& serial_device); //serial port control
|
||||
void close_serial();
|
||||
std::string get_GPGGA(); // fix data
|
||||
std::string get_GPGSV(); // satellite data
|
||||
|
@ -188,7 +188,7 @@ int Pvt_Solution::tropo(double *ddr_m, double sinel, double hsta_km, double p_mb
|
||||
double b;
|
||||
double rtop;
|
||||
|
||||
while (1)
|
||||
while (true)
|
||||
{
|
||||
rtop = pow((a_e + htop), 2) - pow((a_e + hsta_km), 2) * (1 - pow(sinel, 2));
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -547,7 +547,7 @@ private:
|
||||
*/
|
||||
inline double asDouble(const std::string& s)
|
||||
{
|
||||
return strtod(s.c_str(), 0);
|
||||
return strtod(s.c_str(), nullptr);
|
||||
}
|
||||
|
||||
|
||||
@ -560,7 +560,7 @@ private:
|
||||
*/
|
||||
inline int64_t asInt(const std::string& s)
|
||||
{
|
||||
return strtol(s.c_str(), 0, 10);
|
||||
return strtol(s.c_str(), nullptr, 10);
|
||||
}
|
||||
|
||||
|
||||
@ -796,7 +796,7 @@ inline std::string Rinex_Printer::asFixWidthString(const int x, const int width,
|
||||
|
||||
inline int64_t asInt(const std::string& s)
|
||||
{
|
||||
return strtol(s.c_str(), 0, 10);
|
||||
return strtol(s.c_str(), nullptr, 10);
|
||||
}
|
||||
|
||||
|
||||
|
@ -77,7 +77,7 @@ Rtcm_Printer::Rtcm_Printer(std::string filename, bool flag_rtcm_file_dump, bool
|
||||
{
|
||||
rtcm_base_path = p.string();
|
||||
}
|
||||
if (rtcm_base_path.compare(".") != 0)
|
||||
if (rtcm_base_path != ".")
|
||||
{
|
||||
std::cout << "RTCM binary file will be stored at " << rtcm_base_path << std::endl;
|
||||
}
|
||||
|
@ -63,7 +63,7 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
rtklib_solver::rtklib_solver(int nchannels, std::string dump_filename, bool flag_dump_to_file, bool flag_dump_to_mat, rtk_t &rtk)
|
||||
rtklib_solver::rtklib_solver(int nchannels, std::string dump_filename, bool flag_dump_to_file, bool flag_dump_to_mat, const rtk_t &rtk)
|
||||
{
|
||||
// init empty ephemeris for all the available GNSS channels
|
||||
d_nchannels = nchannels;
|
||||
@ -245,8 +245,8 @@ bool rtklib_solver::save_matfile()
|
||||
std::string filename = dump_filename;
|
||||
filename.erase(filename.length() - 4, 4);
|
||||
filename.append(".mat");
|
||||
matfp = Mat_CreateVer(filename.c_str(), NULL, MAT_FT_MAT73);
|
||||
if (reinterpret_cast<int64_t *>(matfp) != NULL)
|
||||
matfp = Mat_CreateVer(filename.c_str(), nullptr, MAT_FT_MAT73);
|
||||
if (reinterpret_cast<int64_t *>(matfp) != nullptr)
|
||||
{
|
||||
size_t dims[2] = {1, static_cast<size_t>(num_epoch)};
|
||||
matvar = Mat_VarCreate("TOW_at_current_symbol_ms", MAT_C_UINT32, MAT_T_UINT32, 2, dims, TOW_at_current_symbol_ms, 0);
|
||||
@ -473,11 +473,11 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
case 'G':
|
||||
{
|
||||
std::string sig_(gnss_observables_iter->second.Signal);
|
||||
if (sig_.compare("1C") == 0)
|
||||
if (sig_ == "1C")
|
||||
{
|
||||
band1 = true;
|
||||
}
|
||||
if (sig_.compare("2S") == 0)
|
||||
if (sig_ == "2S")
|
||||
{
|
||||
band2 = true;
|
||||
}
|
||||
@ -500,7 +500,7 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
{
|
||||
std::string sig_(gnss_observables_iter->second.Signal);
|
||||
// Galileo E1
|
||||
if (sig_.compare("1B") == 0)
|
||||
if (sig_ == "1B")
|
||||
{
|
||||
// 1 Gal - find the ephemeris for the current GALILEO SV observation. The SV PRN ID is the map key
|
||||
galileo_ephemeris_iter = galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -523,7 +523,7 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
}
|
||||
|
||||
// Galileo E5
|
||||
if (sig_.compare("5X") == 0)
|
||||
if (sig_ == "5X")
|
||||
{
|
||||
// 1 Gal - find the ephemeris for the current GALILEO SV observation. The SV PRN ID is the map key
|
||||
galileo_ephemeris_iter = galileo_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -571,7 +571,7 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
// GPS L1
|
||||
// 1 GPS - find the ephemeris for the current GPS SV observation. The SV PRN ID is the map key
|
||||
std::string sig_(gnss_observables_iter->second.Signal);
|
||||
if (sig_.compare("1C") == 0)
|
||||
if (sig_ == "1C")
|
||||
{
|
||||
gps_ephemeris_iter = gps_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (gps_ephemeris_iter != gps_ephemeris_map.cend())
|
||||
@ -592,7 +592,7 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
}
|
||||
}
|
||||
// GPS L2 (todo: solve NAV/CNAV clash)
|
||||
if ((sig_.compare("2S") == 0) and (gps_dual_band == false))
|
||||
if ((sig_ == "2S") and (gps_dual_band == false))
|
||||
{
|
||||
gps_cnav_ephemeris_iter = gps_cnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (gps_cnav_ephemeris_iter != gps_cnav_ephemeris_map.cend())
|
||||
@ -641,7 +641,7 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
}
|
||||
}
|
||||
// GPS L5
|
||||
if (sig_.compare("L5") == 0)
|
||||
if (sig_ == "L5")
|
||||
{
|
||||
gps_cnav_ephemeris_iter = gps_cnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
if (gps_cnav_ephemeris_iter != gps_cnav_ephemeris_map.cend())
|
||||
@ -693,7 +693,7 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
{
|
||||
std::string sig_(gnss_observables_iter->second.Signal);
|
||||
// GLONASS GNAV L1
|
||||
if (sig_.compare("1G") == 0)
|
||||
if (sig_ == "1G")
|
||||
{
|
||||
// 1 Glo - find the ephemeris for the current GLONASS SV observation. The SV Slot Number (PRN ID) is the map key
|
||||
glonass_gnav_ephemeris_iter = glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
@ -715,7 +715,7 @@ bool rtklib_solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
}
|
||||
}
|
||||
// GLONASS GNAV L2
|
||||
if (sig_.compare("2G") == 0)
|
||||
if (sig_ == "2G")
|
||||
{
|
||||
// 1 GLONASS - find the ephemeris for the current GLONASS SV observation. The SV PRN ID is the map key
|
||||
glonass_gnav_ephemeris_iter = glonass_gnav_ephemeris_map.find(gnss_observables_iter->second.PRN);
|
||||
|
@ -87,7 +87,7 @@ private:
|
||||
public:
|
||||
sol_t pvt_sol;
|
||||
ssat_t pvt_ssat[MAXSAT];
|
||||
rtklib_solver(int nchannels, std::string dump_filename, bool flag_dump_to_file, bool flag_dump_to_mat, rtk_t& rtk);
|
||||
rtklib_solver(int nchannels, std::string dump_filename, bool flag_dump_to_file, bool flag_dump_to_mat, const rtk_t& rtk);
|
||||
~rtklib_solver();
|
||||
|
||||
bool get_PVT(const std::map<int, Gnss_Synchro>& gnss_observables_map, bool flag_averaging);
|
||||
|
@ -55,45 +55,60 @@ set(ACQ_ADAPTER_HEADERS
|
||||
glonass_l2_ca_pcps_acquisition.h
|
||||
)
|
||||
|
||||
|
||||
if(ENABLE_FPGA)
|
||||
set(ACQ_ADAPTER_SOURCES ${ACQ_ADAPTER_SOURCES} gps_l1_ca_pcps_acquisition_fpga.cc
|
||||
gps_l2_m_pcps_acquisition_fpga.cc
|
||||
galileo_e1_pcps_ambiguous_acquisition_fpga.cc
|
||||
galileo_e5a_pcps_acquisition_fpga.cc
|
||||
gps_l5i_pcps_acquisition_fpga.cc)
|
||||
|
||||
set(ACQ_ADAPTER_HEADERS ${ACQ_ADAPTER_HEADERS} gps_l1_ca_pcps_acquisition_fpga.h
|
||||
gps_l2_m_pcps_acquisition_fpga.h
|
||||
galileo_e1_pcps_ambiguous_acquisition_fpga.h
|
||||
galileo_e5a_pcps_acquisition_fpga.h
|
||||
gps_l5i_pcps_acquisition_fpga.h)
|
||||
endif(ENABLE_FPGA)
|
||||
set(ACQ_ADAPTER_SOURCES ${ACQ_ADAPTER_SOURCES}
|
||||
gps_l1_ca_pcps_acquisition_fpga.cc
|
||||
gps_l2_m_pcps_acquisition_fpga.cc
|
||||
galileo_e1_pcps_ambiguous_acquisition_fpga.cc
|
||||
galileo_e5a_pcps_acquisition_fpga.cc
|
||||
gps_l5i_pcps_acquisition_fpga.cc
|
||||
)
|
||||
set(ACQ_ADAPTER_HEADERS ${ACQ_ADAPTER_HEADERS}
|
||||
gps_l1_ca_pcps_acquisition_fpga.h
|
||||
gps_l2_m_pcps_acquisition_fpga.h
|
||||
galileo_e1_pcps_ambiguous_acquisition_fpga.h
|
||||
galileo_e5a_pcps_acquisition_fpga.h
|
||||
gps_l5i_pcps_acquisition_fpga.h
|
||||
)
|
||||
endif()
|
||||
|
||||
if(OPENCL_FOUND)
|
||||
set(ACQ_ADAPTER_SOURCES ${ACQ_ADAPTER_SOURCES} gps_l1_ca_pcps_opencl_acquisition.cc)
|
||||
set(ACQ_ADAPTER_HEADERS ${ACQ_ADAPTER_HEADERS} gps_l1_ca_pcps_opencl_acquisition.h)
|
||||
endif(OPENCL_FOUND)
|
||||
set(ACQ_ADAPTER_SOURCES
|
||||
${ACQ_ADAPTER_SOURCES}
|
||||
gps_l1_ca_pcps_opencl_acquisition.cc
|
||||
)
|
||||
set(ACQ_ADAPTER_HEADERS ${ACQ_ADAPTER_HEADERS}
|
||||
gps_l1_ca_pcps_opencl_acquisition.h
|
||||
)
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/gnuradio_blocks
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
${GNURADIO_BLOCKS_INCLUDE_DIRS}
|
||||
${VOLK_GNSSSDR_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/gnuradio_blocks
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
${GNURADIO_BLOCKS_INCLUDE_DIRS}
|
||||
${VOLK_GNSSSDR_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
list(SORT ACQ_ADAPTER_HEADERS)
|
||||
list(SORT ACQ_ADAPTER_SOURCES)
|
||||
add_library(acq_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS})
|
||||
source_group(Headers FILES ${ACQ_ADAPTER_HEADERS})
|
||||
target_link_libraries(acq_adapters acquisition_lib gnss_sp_libs gnss_sdr_flags acq_gr_blocks ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES})
|
||||
target_link_libraries(acq_adapters
|
||||
acquisition_lib
|
||||
gnss_sp_libs
|
||||
gnss_sdr_flags
|
||||
acq_gr_blocks
|
||||
${Boost_LIBRARIES}
|
||||
${GNURADIO_RUNTIME_LIBRARIES}
|
||||
${GNURADIO_BLOCKS_LIBRARIES}
|
||||
)
|
||||
|
@ -30,7 +30,6 @@
|
||||
*/
|
||||
|
||||
#include "galileo_e1_pcps_8ms_ambiguous_acquisition.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
@ -40,12 +39,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
configuration_ = configuration;
|
||||
std::string default_item_type = "gr_complex";
|
||||
@ -56,7 +57,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
||||
item_type_ = configuration_->property(role + ".item_type",
|
||||
default_item_type);
|
||||
|
||||
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
@ -86,7 +87,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
||||
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = galileo_pcps_8ms_make_acquisition_cc(sampled_ms_, max_dwells_,
|
||||
@ -107,7 +108,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -125,10 +126,15 @@ GalileoE1Pcps8msAmbiguousAcquisition::~GalileoE1Pcps8msAmbiguousAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_channel(channel_);
|
||||
}
|
||||
@ -137,7 +143,7 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
||||
|
||||
@ -152,7 +158,7 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_threshold(float threshold)
|
||||
|
||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_threshold(threshold_);
|
||||
}
|
||||
@ -163,7 +169,7 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_doppler_max(unsigned int doppler_
|
||||
{
|
||||
doppler_max_ = doppler_max;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
||||
}
|
||||
@ -173,7 +179,7 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_doppler_max(unsigned int doppler_
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
@ -184,7 +190,7 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
||||
}
|
||||
@ -193,7 +199,7 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_gnss_synchro(
|
||||
|
||||
signed int GalileoE1Pcps8msAmbiguousAcquisition::mag()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_cc_->mag();
|
||||
}
|
||||
@ -213,10 +219,10 @@ void GalileoE1Pcps8msAmbiguousAcquisition::init()
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::set_local_code()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
bool cboc = configuration_->property(
|
||||
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
||||
|
||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||
|
||||
@ -238,7 +244,7 @@ void GalileoE1Pcps8msAmbiguousAcquisition::set_local_code()
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::reset()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_active(true);
|
||||
}
|
||||
@ -267,7 +273,7 @@ float GalileoE1Pcps8msAmbiguousAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
@ -276,7 +282,7 @@ void GalileoE1Pcps8msAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GalileoE1Pcps8msAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
|
@ -48,7 +48,8 @@ class GalileoE1Pcps8msAmbiguousAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GalileoE1Pcps8msAmbiguousAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GalileoE1Pcps8msAmbiguousAcquisition();
|
||||
@ -144,7 +145,7 @@ private:
|
||||
unsigned int doppler_step_;
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::complex<float>* code_;
|
||||
|
@ -35,20 +35,20 @@
|
||||
#include "Galileo_E1.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include "acq_conf.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
Acq_Conf acq_parameters;
|
||||
configuration_ = configuration;
|
||||
@ -59,7 +59,7 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition(
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
acq_parameters.fs_in = fs_in_;
|
||||
acq_parameters.samples_per_chip = static_cast<unsigned int>(ceil((1.0 / Galileo_E1_CODE_CHIP_RATE_HZ) * static_cast<float>(acq_parameters.fs_in)));
|
||||
@ -128,7 +128,7 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -146,6 +146,11 @@ GalileoE1PcpsAmbiguousAcquisition::~GalileoE1PcpsAmbiguousAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -155,7 +160,7 @@ void GalileoE1PcpsAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
||||
|
||||
@ -214,7 +219,7 @@ void GalileoE1PcpsAmbiguousAcquisition::init()
|
||||
void GalileoE1PcpsAmbiguousAcquisition::set_local_code()
|
||||
{
|
||||
bool cboc = configuration_->property(
|
||||
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
||||
|
||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||
|
||||
@ -277,15 +282,15 @@ float GalileoE1PcpsAmbiguousAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
// Since a byte-based acq implementation is not available,
|
||||
// we just convert cshorts to gr_complex
|
||||
@ -302,15 +307,15 @@ void GalileoE1PcpsAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||
@ -325,15 +330,15 @@ void GalileoE1PcpsAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
|
||||
gr::basic_block_sptr GalileoE1PcpsAmbiguousAcquisition::get_left_block()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
return cbyte_to_float_x2_;
|
||||
}
|
||||
|
@ -51,7 +51,8 @@ class GalileoE1PcpsAmbiguousAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GalileoE1PcpsAmbiguousAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GalileoE1PcpsAmbiguousAcquisition();
|
||||
@ -154,7 +155,7 @@ private:
|
||||
unsigned int doppler_step_;
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
bool blocking_;
|
||||
std::string dump_filename_;
|
||||
|
@ -41,13 +41,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
//printf("top acq constructor start\n");
|
||||
pcpsconf_fpga_t acq_parameters;
|
||||
@ -59,8 +60,8 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
|
||||
|
||||
// item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
long fs_in = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
int64_t fs_in = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
acq_parameters.fs_in = fs_in;
|
||||
//if_ = configuration_->property(role + ".if", 0);
|
||||
//acq_parameters.freq = if_;
|
||||
@ -296,7 +297,7 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
|
||||
channel_ = 0;
|
||||
//threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
//printf("top acq constructor end\n");
|
||||
}
|
||||
|
||||
@ -310,6 +311,11 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::~GalileoE1PcpsAmbiguousAcquisitionFpga()
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsAmbiguousAcquisitionFpga::set_channel(unsigned int channel)
|
||||
{
|
||||
//printf("top acq set channel start\n");
|
||||
|
@ -52,7 +52,8 @@ class GalileoE1PcpsAmbiguousAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GalileoE1PcpsAmbiguousAcquisitionFpga(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GalileoE1PcpsAmbiguousAcquisitionFpga();
|
||||
|
@ -30,7 +30,6 @@
|
||||
*/
|
||||
|
||||
#include "galileo_e1_pcps_cccwsr_ambiguous_acquisition.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
@ -40,13 +39,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
configuration_ = configuration;
|
||||
std::string default_item_type = "gr_complex";
|
||||
@ -56,7 +56,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
@ -88,7 +88,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
||||
code_data_ = new gr_complex[vector_length_];
|
||||
code_pilot_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = pcps_cccwsr_make_acquisition_cc(sampled_ms_, max_dwells_,
|
||||
@ -109,7 +109,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -128,10 +128,15 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::~GalileoE1PcpsCccwsrAmbiguousAcquisitio
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_channel(channel_);
|
||||
}
|
||||
@ -140,7 +145,7 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
// float pfa = configuration_->property(role_+ boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
// float pfa = configuration_->property(role_+ std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
// if(pfa==0.0) pfa = configuration_->property(role_+".pfa", 0.0);
|
||||
|
||||
@ -157,7 +162,7 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_threshold(float threshold)
|
||||
|
||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_threshold(threshold_);
|
||||
}
|
||||
@ -168,7 +173,7 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_doppler_max(unsigned int doppl
|
||||
{
|
||||
doppler_max_ = doppler_max;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
||||
}
|
||||
@ -178,7 +183,7 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_doppler_max(unsigned int doppl
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
@ -188,7 +193,7 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
||||
}
|
||||
@ -197,7 +202,7 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_gnss_synchro(
|
||||
|
||||
signed int GalileoE1PcpsCccwsrAmbiguousAcquisition::mag()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_cc_->mag();
|
||||
}
|
||||
@ -217,10 +222,10 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::init()
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_local_code()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
bool cboc = configuration_->property(
|
||||
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
||||
|
||||
char signal[3];
|
||||
|
||||
@ -241,7 +246,7 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_local_code()
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::reset()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_active(true);
|
||||
}
|
||||
@ -264,7 +269,7 @@ float GalileoE1PcpsCccwsrAmbiguousAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
@ -273,7 +278,7 @@ void GalileoE1PcpsCccwsrAmbiguousAcquisition::connect(gr::top_block_sptr top_blo
|
||||
|
||||
void GalileoE1PcpsCccwsrAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
|
@ -48,7 +48,8 @@ class GalileoE1PcpsCccwsrAmbiguousAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GalileoE1PcpsCccwsrAmbiguousAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GalileoE1PcpsCccwsrAmbiguousAcquisition();
|
||||
@ -145,7 +146,7 @@ private:
|
||||
unsigned int doppler_step_;
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::complex<float>* code_data_;
|
||||
|
@ -30,7 +30,6 @@
|
||||
*/
|
||||
|
||||
#include "galileo_e1_pcps_quicksync_ambiguous_acquisition.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
@ -40,13 +39,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
configuration_ = configuration;
|
||||
std::string default_item_type = "gr_complex";
|
||||
@ -57,7 +57,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
||||
item_type_ = configuration_->property(role + ".item_type",
|
||||
default_item_type);
|
||||
|
||||
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
@ -119,7 +119,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
||||
<< ", Folding factor: " << folding_factor_
|
||||
<< ", Sampled ms: " << sampled_ms_
|
||||
<< ", Code Length: " << code_length_;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = pcps_quicksync_make_acquisition_cc(folding_factor_,
|
||||
@ -142,7 +142,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -160,10 +160,15 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::~GalileoE1PcpsQuickSyncAmbiguousAcqu
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_channel(channel_);
|
||||
}
|
||||
@ -172,7 +177,7 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_channel(unsigned int channe
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
||||
|
||||
@ -187,7 +192,7 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_threshold(float threshold)
|
||||
|
||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_threshold(threshold_);
|
||||
}
|
||||
@ -198,7 +203,7 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_max(unsigned int do
|
||||
{
|
||||
doppler_max_ = doppler_max;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
||||
}
|
||||
@ -208,7 +213,7 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_max(unsigned int do
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
@ -218,7 +223,7 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
||||
}
|
||||
@ -228,7 +233,7 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_gnss_synchro(
|
||||
signed int
|
||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition::mag()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_cc_->mag();
|
||||
}
|
||||
@ -248,10 +253,10 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::init()
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_local_code()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
bool cboc = configuration_->property(
|
||||
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
||||
|
||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||
|
||||
@ -269,14 +274,14 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_local_code()
|
||||
acquisition_cc_->set_local_code(code_);
|
||||
|
||||
delete[] code;
|
||||
code = NULL;
|
||||
code = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::reset()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_active(true);
|
||||
}
|
||||
@ -284,7 +289,7 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::reset()
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_state(int state)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_state(state);
|
||||
}
|
||||
@ -314,7 +319,7 @@ float GalileoE1PcpsQuickSyncAmbiguousAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
@ -323,7 +328,7 @@ void GalileoE1PcpsQuickSyncAmbiguousAcquisition::connect(gr::top_block_sptr top_
|
||||
|
||||
void GalileoE1PcpsQuickSyncAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
|
@ -49,7 +49,8 @@ class GalileoE1PcpsQuickSyncAmbiguousAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GalileoE1PcpsQuickSyncAmbiguousAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GalileoE1PcpsQuickSyncAmbiguousAcquisition();
|
||||
@ -150,7 +151,7 @@ private:
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
unsigned int folding_factor_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::complex<float>* code_;
|
||||
|
@ -30,7 +30,6 @@
|
||||
*/
|
||||
|
||||
#include "galileo_e1_pcps_tong_ambiguous_acquisition.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "galileo_e1_signal_processing.h"
|
||||
@ -40,13 +39,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
configuration_ = configuration;
|
||||
std::string default_item_type = "gr_complex";
|
||||
@ -57,7 +57,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
||||
item_type_ = configuration_->property(role + ".item_type",
|
||||
default_item_type);
|
||||
|
||||
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000);
|
||||
fs_in_ = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
@ -90,7 +90,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
||||
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = pcps_tong_make_acquisition_cc(sampled_ms_, doppler_max_,
|
||||
@ -112,7 +112,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -130,10 +130,15 @@ GalileoE1PcpsTongAmbiguousAcquisition::~GalileoE1PcpsTongAmbiguousAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_channel(channel_);
|
||||
}
|
||||
@ -142,7 +147,7 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
||||
|
||||
@ -157,7 +162,7 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_threshold(float threshold)
|
||||
|
||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_threshold(threshold_);
|
||||
}
|
||||
@ -168,7 +173,7 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_doppler_max(unsigned int doppler
|
||||
{
|
||||
doppler_max_ = doppler_max;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
||||
}
|
||||
@ -178,7 +183,7 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_doppler_max(unsigned int doppler
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
@ -189,7 +194,7 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
||||
}
|
||||
@ -198,7 +203,7 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_gnss_synchro(
|
||||
|
||||
signed int GalileoE1PcpsTongAmbiguousAcquisition::mag()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_cc_->mag();
|
||||
}
|
||||
@ -218,10 +223,10 @@ void GalileoE1PcpsTongAmbiguousAcquisition::init()
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::set_local_code()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
bool cboc = configuration_->property(
|
||||
"Acquisition" + boost::lexical_cast<std::string>(channel_) + ".cboc", false);
|
||||
"Acquisition" + std::to_string(channel_) + ".cboc", false);
|
||||
|
||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||
|
||||
@ -243,7 +248,7 @@ void GalileoE1PcpsTongAmbiguousAcquisition::set_local_code()
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::reset()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_active(true);
|
||||
}
|
||||
@ -278,7 +283,7 @@ float GalileoE1PcpsTongAmbiguousAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
@ -287,7 +292,7 @@ void GalileoE1PcpsTongAmbiguousAcquisition::connect(gr::top_block_sptr top_block
|
||||
|
||||
void GalileoE1PcpsTongAmbiguousAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
|
@ -48,7 +48,8 @@ class GalileoE1PcpsTongAmbiguousAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GalileoE1PcpsTongAmbiguousAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GalileoE1PcpsTongAmbiguousAcquisition();
|
||||
@ -149,7 +150,7 @@ private:
|
||||
unsigned int tong_init_val_;
|
||||
unsigned int tong_max_val_;
|
||||
unsigned int tong_max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::complex<float>* code_;
|
||||
|
@ -36,7 +36,6 @@
|
||||
*/
|
||||
|
||||
#include "galileo_e5a_noncoherent_iq_acquisition_caf.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include "galileo_e5_signal_processing.h"
|
||||
@ -46,13 +45,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GalileoE5aNoncoherentIQAcquisitionCaf::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
configuration_ = configuration;
|
||||
std::string default_item_type = "gr_complex";
|
||||
@ -62,7 +62,7 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long 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);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration_->property(role + ".doppler_max", 5000);
|
||||
@ -101,7 +101,7 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
||||
{
|
||||
both_signal_components = true;
|
||||
}
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = galileo_e5a_noncoherentIQ_make_acquisition_caf_cc(sampled_ms_, max_dwells_,
|
||||
@ -117,7 +117,7 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -136,10 +136,15 @@ GalileoE5aNoncoherentIQAcquisitionCaf::~GalileoE5aNoncoherentIQAcquisitionCaf()
|
||||
}
|
||||
|
||||
|
||||
void GalileoE5aNoncoherentIQAcquisitionCaf::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GalileoE5aNoncoherentIQAcquisitionCaf::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_channel(channel_);
|
||||
}
|
||||
@ -148,7 +153,7 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_channel(unsigned int channel)
|
||||
|
||||
void GalileoE5aNoncoherentIQAcquisitionCaf::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0) pfa = configuration_->property(role_ + ".pfa", 0.0);
|
||||
|
||||
@ -163,7 +168,7 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_threshold(float threshold)
|
||||
|
||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_threshold(threshold_);
|
||||
}
|
||||
@ -174,7 +179,7 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_doppler_max(unsigned int doppler
|
||||
{
|
||||
doppler_max_ = doppler_max;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
||||
}
|
||||
@ -184,7 +189,7 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_doppler_max(unsigned int doppler
|
||||
void GalileoE5aNoncoherentIQAcquisitionCaf::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
@ -195,7 +200,7 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_gnss_synchro(
|
||||
Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
||||
}
|
||||
@ -204,7 +209,7 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_gnss_synchro(
|
||||
|
||||
signed int GalileoE5aNoncoherentIQAcquisitionCaf::mag()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_cc_->mag();
|
||||
}
|
||||
@ -224,7 +229,7 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::init()
|
||||
|
||||
void GalileoE5aNoncoherentIQAcquisitionCaf::set_local_code()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
std::complex<float>* codeI = new std::complex<float>[code_length_];
|
||||
std::complex<float>* codeQ = new std::complex<float>[code_length_];
|
||||
@ -281,7 +286,7 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_local_code()
|
||||
|
||||
void GalileoE5aNoncoherentIQAcquisitionCaf::reset()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_active(true);
|
||||
}
|
||||
|
@ -49,7 +49,8 @@ class GalileoE5aNoncoherentIQAcquisitionCaf : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GalileoE5aNoncoherentIQAcquisitionCaf(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GalileoE5aNoncoherentIQAcquisitionCaf();
|
||||
@ -150,7 +151,7 @@ private:
|
||||
unsigned int doppler_step_;
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
int Zero_padding;
|
||||
|
@ -34,7 +34,6 @@
|
||||
#include "Galileo_E5a.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include "acq_conf.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
||||
@ -42,12 +41,13 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GalileoE5aPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GalileoE5aPcpsAcquisition::GalileoE5aPcpsAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
Acq_Conf acq_parameters = Acq_Conf();
|
||||
configuration_ = configuration;
|
||||
@ -58,7 +58,7 @@ GalileoE5aPcpsAcquisition::GalileoE5aPcpsAcquisition(ConfigurationInterface* con
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long 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);
|
||||
acq_parameters.fs_in = fs_in_;
|
||||
acq_parameters.samples_per_chip = static_cast<unsigned int>(ceil((1.0 / Galileo_E5a_CODE_CHIP_RATE_HZ) * static_cast<float>(acq_parameters.fs_in)));
|
||||
@ -91,11 +91,11 @@ GalileoE5aPcpsAcquisition::GalileoE5aPcpsAcquisition(ConfigurationInterface* con
|
||||
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
item_size_ = sizeof(lv_16sc_t);
|
||||
}
|
||||
@ -118,7 +118,7 @@ GalileoE5aPcpsAcquisition::GalileoE5aPcpsAcquisition(ConfigurationInterface* con
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -136,6 +136,11 @@ GalileoE5aPcpsAcquisition::~GalileoE5aPcpsAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GalileoE5aPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GalileoE5aPcpsAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -145,7 +150,7 @@ void GalileoE5aPcpsAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GalileoE5aPcpsAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0)
|
||||
{
|
||||
@ -264,11 +269,11 @@ void GalileoE5aPcpsAcquisition::set_state(int state)
|
||||
|
||||
void GalileoE5aPcpsAcquisition::connect(gr::top_block_sptr top_block __attribute__((unused)))
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
@ -281,11 +286,11 @@ void GalileoE5aPcpsAcquisition::connect(gr::top_block_sptr top_block __attribute
|
||||
|
||||
void GalileoE5aPcpsAcquisition::disconnect(gr::top_block_sptr top_block __attribute__((unused)))
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
|
@ -43,7 +43,8 @@ class GalileoE5aPcpsAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GalileoE5aPcpsAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GalileoE5aPcpsAcquisition();
|
||||
@ -157,7 +158,7 @@ private:
|
||||
unsigned int in_streams_;
|
||||
unsigned int out_streams_;
|
||||
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
|
||||
float threshold_;
|
||||
|
||||
|
@ -33,7 +33,6 @@
|
||||
#include "galileo_e5_signal_processing.h"
|
||||
#include "Galileo_E5a.h"
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/math/distributions/exponential.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
||||
@ -41,12 +40,13 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GalileoE5aPcpsAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
//printf("creating the E5A acquisition");
|
||||
pcpsconf_fpga_t acq_parameters;
|
||||
@ -58,8 +58,8 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterf
|
||||
|
||||
//item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 32000000);
|
||||
long fs_in = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 32000000);
|
||||
int64_t fs_in = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
acq_parameters.fs_in = fs_in;
|
||||
//acq_parameters.freq = 0;
|
||||
|
||||
@ -209,7 +209,7 @@ GalileoE5aPcpsAcquisitionFpga::GalileoE5aPcpsAcquisitionFpga(ConfigurationInterf
|
||||
channel_ = 0;
|
||||
//threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
//printf("creating the E5A acquisition end");
|
||||
}
|
||||
|
||||
@ -221,6 +221,11 @@ GalileoE5aPcpsAcquisitionFpga::~GalileoE5aPcpsAcquisitionFpga()
|
||||
}
|
||||
|
||||
|
||||
void GalileoE5aPcpsAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GalileoE5aPcpsAcquisitionFpga::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -231,7 +236,7 @@ void GalileoE5aPcpsAcquisitionFpga::set_channel(unsigned int channel)
|
||||
|
||||
void GalileoE5aPcpsAcquisitionFpga::set_threshold(float threshold)
|
||||
{
|
||||
// float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
// float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
//
|
||||
// if (pfa == 0.0)
|
||||
// {
|
||||
|
@ -45,7 +45,8 @@ class GalileoE5aPcpsAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GalileoE5aPcpsAcquisitionFpga(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GalileoE5aPcpsAcquisitionFpga();
|
||||
@ -160,7 +161,7 @@ private:
|
||||
unsigned int in_streams_;
|
||||
unsigned int out_streams_;
|
||||
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
|
||||
|
||||
float threshold_;
|
||||
|
@ -43,13 +43,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GlonassL1CaPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
Acq_Conf acq_parameters = Acq_Conf();
|
||||
configuration_ = configuration;
|
||||
@ -60,7 +61,7 @@ GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long 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);
|
||||
acq_parameters.fs_in = fs_in_;
|
||||
acq_parameters.samples_per_chip = static_cast<unsigned int>(ceil(GLONASS_L1_CA_CHIP_PERIOD * static_cast<float>(acq_parameters.fs_in)));
|
||||
@ -94,7 +95,7 @@ GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
||||
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("cshort") == 0)
|
||||
if (item_type_ == "cshort")
|
||||
{
|
||||
item_size_ = sizeof(lv_16sc_t);
|
||||
}
|
||||
@ -114,7 +115,7 @@ GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
||||
acquisition_ = pcps_make_acquisition(acq_parameters);
|
||||
DLOG(INFO) << "acquisition(" << acquisition_->unique_id() << ")";
|
||||
|
||||
if (item_type_.compare("cbyte") == 0)
|
||||
if (item_type_ == "cbyte")
|
||||
{
|
||||
cbyte_to_float_x2_ = make_complex_byte_to_float_x2();
|
||||
float_to_complex_ = gr::blocks::float_to_complex::make();
|
||||
@ -123,7 +124,7 @@ GlonassL1CaPcpsAcquisition::GlonassL1CaPcpsAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -141,6 +142,11 @@ GlonassL1CaPcpsAcquisition::~GlonassL1CaPcpsAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GlonassL1CaPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GlonassL1CaPcpsAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -261,15 +267,15 @@ float GlonassL1CaPcpsAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GlonassL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
top_block->connect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||
top_block->connect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||
@ -284,15 +290,15 @@ void GlonassL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GlonassL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
// Since a byte-based acq implementation is not available,
|
||||
// we just convert cshorts to gr_complex
|
||||
@ -309,15 +315,15 @@ void GlonassL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
|
||||
gr::basic_block_sptr GlonassL1CaPcpsAcquisition::get_left_block()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
return cbyte_to_float_x2_;
|
||||
}
|
||||
|
@ -51,7 +51,8 @@ class GlonassL1CaPcpsAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GlonassL1CaPcpsAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GlonassL1CaPcpsAcquisition();
|
||||
@ -153,7 +154,7 @@ private:
|
||||
unsigned int doppler_step_;
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
bool blocking_;
|
||||
std::string dump_filename_;
|
||||
|
@ -42,13 +42,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GlonassL2CaPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GlonassL2CaPcpsAcquisition::GlonassL2CaPcpsAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
Acq_Conf acq_parameters = Acq_Conf();
|
||||
configuration_ = configuration;
|
||||
@ -59,7 +60,7 @@ GlonassL2CaPcpsAcquisition::GlonassL2CaPcpsAcquisition(
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long 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);
|
||||
acq_parameters.fs_in = fs_in_;
|
||||
acq_parameters.samples_per_chip = static_cast<unsigned int>(ceil(GLONASS_L2_CA_CHIP_PERIOD * static_cast<float>(acq_parameters.fs_in)));
|
||||
@ -93,7 +94,7 @@ GlonassL2CaPcpsAcquisition::GlonassL2CaPcpsAcquisition(
|
||||
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("cshort") == 0)
|
||||
if (item_type_ == "cshort")
|
||||
{
|
||||
item_size_ = sizeof(lv_16sc_t);
|
||||
}
|
||||
@ -113,7 +114,7 @@ GlonassL2CaPcpsAcquisition::GlonassL2CaPcpsAcquisition(
|
||||
acquisition_ = pcps_make_acquisition(acq_parameters);
|
||||
DLOG(INFO) << "acquisition(" << acquisition_->unique_id() << ")";
|
||||
|
||||
if (item_type_.compare("cbyte") == 0)
|
||||
if (item_type_ == "cbyte")
|
||||
{
|
||||
cbyte_to_float_x2_ = make_complex_byte_to_float_x2();
|
||||
float_to_complex_ = gr::blocks::float_to_complex::make();
|
||||
@ -122,7 +123,7 @@ GlonassL2CaPcpsAcquisition::GlonassL2CaPcpsAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -140,6 +141,11 @@ GlonassL2CaPcpsAcquisition::~GlonassL2CaPcpsAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GlonassL2CaPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GlonassL2CaPcpsAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -260,15 +266,15 @@ float GlonassL2CaPcpsAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GlonassL2CaPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
// Since a byte-based acq implementation is not available,
|
||||
// we just convert cshorts to gr_complex
|
||||
@ -285,15 +291,15 @@ void GlonassL2CaPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GlonassL2CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||
@ -308,15 +314,15 @@ void GlonassL2CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
|
||||
gr::basic_block_sptr GlonassL2CaPcpsAcquisition::get_left_block()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
return cbyte_to_float_x2_;
|
||||
}
|
||||
|
@ -50,7 +50,8 @@ class GlonassL2CaPcpsAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GlonassL2CaPcpsAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GlonassL2CaPcpsAcquisition();
|
||||
@ -152,7 +153,7 @@ private:
|
||||
unsigned int doppler_step_;
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
bool blocking_;
|
||||
std::string dump_filename_;
|
||||
|
@ -45,13 +45,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL1CaPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
Acq_Conf acq_parameters = Acq_Conf();
|
||||
configuration_ = configuration;
|
||||
@ -61,7 +62,7 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
||||
DLOG(INFO) << "role " << role;
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
long 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);
|
||||
acq_parameters.fs_in = fs_in_;
|
||||
acq_parameters.samples_per_chip = static_cast<unsigned int>(ceil(GPS_L1_CA_CHIP_PERIOD * static_cast<float>(acq_parameters.fs_in)));
|
||||
@ -95,7 +96,7 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
||||
vector_length_ = std::floor(acq_parameters.sampled_ms * acq_parameters.samples_per_ms) * (acq_parameters.bit_transition_flag ? 2 : 1);
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("cshort") == 0)
|
||||
if (item_type_ == "cshort")
|
||||
{
|
||||
item_size_ = sizeof(lv_16sc_t);
|
||||
}
|
||||
@ -109,7 +110,7 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
||||
acquisition_ = pcps_make_acquisition(acq_parameters);
|
||||
DLOG(INFO) << "acquisition(" << acquisition_->unique_id() << ")";
|
||||
|
||||
if (item_type_.compare("cbyte") == 0)
|
||||
if (item_type_ == "cbyte")
|
||||
{
|
||||
cbyte_to_float_x2_ = make_complex_byte_to_float_x2();
|
||||
float_to_complex_ = gr::blocks::float_to_complex::make();
|
||||
@ -118,7 +119,7 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -136,6 +137,11 @@ GpsL1CaPcpsAcquisition::~GpsL1CaPcpsAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -249,15 +255,15 @@ float GpsL1CaPcpsAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GpsL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
// Since a byte-based acq implementation is not available,
|
||||
// we just convert cshorts to gr_complex
|
||||
@ -274,15 +280,15 @@ void GpsL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GpsL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||
@ -297,15 +303,15 @@ void GpsL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
|
||||
gr::basic_block_sptr GpsL1CaPcpsAcquisition::get_left_block()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
return cbyte_to_float_x2_;
|
||||
}
|
||||
|
@ -55,7 +55,8 @@ class GpsL1CaPcpsAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL1CaPcpsAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL1CaPcpsAcquisition();
|
||||
@ -157,7 +158,7 @@ private:
|
||||
unsigned int doppler_step_;
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
bool blocking_;
|
||||
std::string dump_filename_;
|
||||
|
@ -42,13 +42,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL1CaPcpsAcquisitionFineDoppler::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
std::string default_item_type = "gr_complex";
|
||||
std::string default_dump_filename = "./acquisition.mat";
|
||||
@ -57,7 +58,7 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
||||
Acq_Conf acq_parameters = Acq_Conf();
|
||||
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
long 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);
|
||||
acq_parameters.fs_in = fs_in_;
|
||||
acq_parameters.samples_per_chip = static_cast<unsigned int>(ceil(GPS_L1_CA_CHIP_PERIOD * static_cast<float>(acq_parameters.fs_in)));
|
||||
@ -80,7 +81,7 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
||||
acq_parameters.samples_per_ms = vector_length_;
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = pcps_make_acquisition_fine_doppler_cc(acq_parameters);
|
||||
@ -94,7 +95,7 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -112,6 +113,11 @@ GpsL1CaPcpsAcquisitionFineDoppler::~GpsL1CaPcpsAcquisitionFineDoppler()
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAcquisitionFineDoppler::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAcquisitionFineDoppler::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
|
@ -49,7 +49,8 @@ class GpsL1CaPcpsAcquisitionFineDoppler : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL1CaPcpsAcquisitionFineDoppler(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL1CaPcpsAcquisitionFineDoppler();
|
||||
@ -142,7 +143,7 @@ private:
|
||||
unsigned int doppler_step_;
|
||||
unsigned int sampled_ms_;
|
||||
int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::complex<float>* code_;
|
||||
|
@ -48,13 +48,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL1CaPcpsAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
pcpsconf_fpga_t acq_parameters;
|
||||
configuration_ = configuration;
|
||||
@ -62,8 +63,8 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
||||
|
||||
DLOG(INFO) << "role " << role;
|
||||
|
||||
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000);
|
||||
long fs_in = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000);
|
||||
int64_t fs_in = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
//fs_in = fs_in/2.0; // downampling filter
|
||||
//printf("####### DEBUG Acq: fs_in = %d\n", fs_in);
|
||||
acq_parameters.fs_in = fs_in;
|
||||
@ -173,7 +174,7 @@ GpsL1CaPcpsAcquisitionFpga::GpsL1CaPcpsAcquisitionFpga(
|
||||
|
||||
channel_ = 0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
}
|
||||
|
||||
|
||||
@ -183,6 +184,11 @@ GpsL1CaPcpsAcquisitionFpga::~GpsL1CaPcpsAcquisitionFpga()
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAcquisitionFpga::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
|
@ -53,7 +53,8 @@ class GpsL1CaPcpsAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL1CaPcpsAcquisitionFpga(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL1CaPcpsAcquisitionFpga();
|
||||
|
@ -42,13 +42,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL1CaPcpsAssistedAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
std::string default_item_type = "gr_complex";
|
||||
std::string default_dump_filename = "./data/acquisition.dat";
|
||||
@ -56,7 +57,7 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
||||
DLOG(INFO) << "role " << role;
|
||||
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
long 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);
|
||||
dump_ = configuration->property(role + ".dump", false);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
@ -71,7 +72,7 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
||||
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = pcps_make_assisted_acquisition_cc(max_dwells_, sampled_ms_,
|
||||
@ -87,7 +88,7 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -105,6 +106,11 @@ GpsL1CaPcpsAssistedAcquisition::~GpsL1CaPcpsAssistedAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAssistedAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsAssistedAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
|
@ -49,7 +49,8 @@ class GpsL1CaPcpsAssistedAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL1CaPcpsAssistedAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL1CaPcpsAssistedAcquisition();
|
||||
@ -140,7 +141,7 @@ private:
|
||||
int doppler_min_;
|
||||
unsigned int sampled_ms_;
|
||||
int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::complex<float>* code_;
|
||||
|
@ -40,13 +40,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
configuration_ = configuration;
|
||||
std::string default_item_type = "gr_complex";
|
||||
@ -57,7 +58,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
||||
item_type_ = configuration_->property(role + ".item_type",
|
||||
default_item_type);
|
||||
|
||||
long 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);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
@ -85,7 +86,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
||||
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = pcps_make_opencl_acquisition_cc(sampled_ms_, max_dwells_,
|
||||
@ -106,7 +107,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -124,10 +125,15 @@ GpsL1CaPcpsOpenClAcquisition::~GpsL1CaPcpsOpenClAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_channel(channel_);
|
||||
}
|
||||
@ -136,7 +142,7 @@ void GpsL1CaPcpsOpenClAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0)
|
||||
{
|
||||
@ -153,7 +159,7 @@ void GpsL1CaPcpsOpenClAcquisition::set_threshold(float threshold)
|
||||
|
||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_threshold(threshold_);
|
||||
}
|
||||
@ -163,7 +169,7 @@ void GpsL1CaPcpsOpenClAcquisition::set_threshold(float threshold)
|
||||
void GpsL1CaPcpsOpenClAcquisition::set_doppler_max(unsigned int doppler_max)
|
||||
{
|
||||
doppler_max_ = doppler_max;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
||||
}
|
||||
@ -173,7 +179,7 @@ void GpsL1CaPcpsOpenClAcquisition::set_doppler_max(unsigned int doppler_max)
|
||||
void GpsL1CaPcpsOpenClAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
@ -183,7 +189,7 @@ void GpsL1CaPcpsOpenClAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
void GpsL1CaPcpsOpenClAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
||||
}
|
||||
@ -192,7 +198,7 @@ void GpsL1CaPcpsOpenClAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
|
||||
signed int GpsL1CaPcpsOpenClAcquisition::mag()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_cc_->mag();
|
||||
}
|
||||
@ -212,7 +218,7 @@ void GpsL1CaPcpsOpenClAcquisition::init()
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::set_local_code()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||
|
||||
@ -233,7 +239,7 @@ void GpsL1CaPcpsOpenClAcquisition::set_local_code()
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::reset()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_active(true);
|
||||
}
|
||||
@ -265,7 +271,7 @@ float GpsL1CaPcpsOpenClAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
@ -274,7 +280,7 @@ void GpsL1CaPcpsOpenClAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GpsL1CaPcpsOpenClAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
|
@ -48,7 +48,8 @@ class GpsL1CaPcpsOpenClAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL1CaPcpsOpenClAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL1CaPcpsOpenClAcquisition();
|
||||
@ -144,7 +145,7 @@ private:
|
||||
unsigned int doppler_step_;
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::complex<float>* code_;
|
||||
|
@ -41,13 +41,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
configuration_ = configuration;
|
||||
std::string default_item_type = "gr_complex";
|
||||
@ -56,7 +57,7 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition(
|
||||
DLOG(INFO) << "role " << role;
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
long 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);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
@ -112,7 +113,7 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition(
|
||||
<< ", Sampled ms: " << sampled_ms_
|
||||
<< ", Code Length: " << code_length_;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = pcps_quicksync_make_acquisition_cc(folding_factor_,
|
||||
@ -135,7 +136,7 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -153,10 +154,15 @@ GpsL1CaPcpsQuickSyncAcquisition::~GpsL1CaPcpsQuickSyncAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_channel(channel_);
|
||||
}
|
||||
@ -165,9 +171,7 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ +
|
||||
boost::lexical_cast<std::string>(channel_) + ".pfa",
|
||||
0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0)
|
||||
{
|
||||
@ -184,7 +188,7 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_threshold(float threshold)
|
||||
|
||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_threshold(threshold_);
|
||||
}
|
||||
@ -194,7 +198,7 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_threshold(float threshold)
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::set_doppler_max(unsigned int doppler_max)
|
||||
{
|
||||
doppler_max_ = doppler_max;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
||||
}
|
||||
@ -204,7 +208,7 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_doppler_max(unsigned int doppler_max)
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
@ -214,7 +218,7 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_doppler_step(unsigned int doppler_step
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
||||
}
|
||||
@ -223,7 +227,7 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchr
|
||||
|
||||
signed int GpsL1CaPcpsQuickSyncAcquisition::mag()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_cc_->mag();
|
||||
}
|
||||
@ -243,13 +247,12 @@ void GpsL1CaPcpsQuickSyncAcquisition::init()
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::set_local_code()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
std::complex<float>* code = new std::complex<float>[code_length_]();
|
||||
|
||||
gps_l1_ca_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_, 0);
|
||||
|
||||
|
||||
for (unsigned int i = 0; i < (sampled_ms_ / folding_factor_); i++)
|
||||
{
|
||||
memcpy(&(code_[i * code_length_]), code,
|
||||
@ -266,7 +269,7 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_local_code()
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::reset()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_active(true);
|
||||
}
|
||||
@ -275,7 +278,7 @@ void GpsL1CaPcpsQuickSyncAcquisition::reset()
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::set_state(int state)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_state(state);
|
||||
}
|
||||
@ -304,7 +307,7 @@ float GpsL1CaPcpsQuickSyncAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
@ -313,7 +316,7 @@ void GpsL1CaPcpsQuickSyncAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GpsL1CaPcpsQuickSyncAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
|
@ -50,7 +50,8 @@ class GpsL1CaPcpsQuickSyncAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL1CaPcpsQuickSyncAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL1CaPcpsQuickSyncAcquisition();
|
||||
@ -151,7 +152,7 @@ private:
|
||||
unsigned int sampled_ms_;
|
||||
unsigned int max_dwells_;
|
||||
unsigned int folding_factor_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::complex<float>* code_;
|
||||
|
@ -40,13 +40,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
configuration_ = configuration;
|
||||
std::string default_item_type = "gr_complex";
|
||||
@ -56,7 +57,7 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition(
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long 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);
|
||||
dump_ = configuration_->property(role + ".dump", false);
|
||||
doppler_max_ = configuration->property(role + ".doppler_max", 5000);
|
||||
@ -76,7 +77,7 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition(
|
||||
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
acquisition_cc_ = pcps_tong_make_acquisition_cc(sampled_ms_, doppler_max_, fs_in_,
|
||||
@ -97,7 +98,7 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -115,10 +116,15 @@ GpsL1CaPcpsTongAcquisition::~GpsL1CaPcpsTongAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_channel(channel_);
|
||||
}
|
||||
@ -127,7 +133,7 @@ void GpsL1CaPcpsTongAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0)
|
||||
{
|
||||
@ -144,7 +150,7 @@ void GpsL1CaPcpsTongAcquisition::set_threshold(float threshold)
|
||||
|
||||
DLOG(INFO) << "Channel " << channel_ << " Threshold = " << threshold_;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_threshold(threshold_);
|
||||
}
|
||||
@ -154,7 +160,7 @@ void GpsL1CaPcpsTongAcquisition::set_threshold(float threshold)
|
||||
void GpsL1CaPcpsTongAcquisition::set_doppler_max(unsigned int doppler_max)
|
||||
{
|
||||
doppler_max_ = doppler_max;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_max(doppler_max_);
|
||||
}
|
||||
@ -164,7 +170,7 @@ void GpsL1CaPcpsTongAcquisition::set_doppler_max(unsigned int doppler_max)
|
||||
void GpsL1CaPcpsTongAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
{
|
||||
doppler_step_ = doppler_step;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_doppler_step(doppler_step_);
|
||||
}
|
||||
@ -174,7 +180,7 @@ void GpsL1CaPcpsTongAcquisition::set_doppler_step(unsigned int doppler_step)
|
||||
void GpsL1CaPcpsTongAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
{
|
||||
gnss_synchro_ = gnss_synchro;
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_gnss_synchro(gnss_synchro_);
|
||||
}
|
||||
@ -183,7 +189,7 @@ void GpsL1CaPcpsTongAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro)
|
||||
|
||||
signed int GpsL1CaPcpsTongAcquisition::mag()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_cc_->mag();
|
||||
}
|
||||
@ -202,7 +208,7 @@ void GpsL1CaPcpsTongAcquisition::init()
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::set_local_code()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
std::complex<float>* code = new std::complex<float>[code_length_];
|
||||
|
||||
@ -223,7 +229,7 @@ void GpsL1CaPcpsTongAcquisition::set_local_code()
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::reset()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_active(true);
|
||||
}
|
||||
@ -232,7 +238,7 @@ void GpsL1CaPcpsTongAcquisition::reset()
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::set_state(int state)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
acquisition_cc_->set_state(state);
|
||||
}
|
||||
@ -263,7 +269,7 @@ float GpsL1CaPcpsTongAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
@ -272,7 +278,7 @@ void GpsL1CaPcpsTongAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GpsL1CaPcpsTongAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0);
|
||||
}
|
||||
|
@ -49,7 +49,8 @@ class GpsL1CaPcpsTongAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL1CaPcpsTongAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL1CaPcpsTongAcquisition();
|
||||
@ -150,7 +151,7 @@ private:
|
||||
unsigned int tong_init_val_;
|
||||
unsigned int tong_max_val_;
|
||||
unsigned int tong_max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
std::complex<float>* code_;
|
||||
|
@ -43,13 +43,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL2MPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
Acq_Conf acq_parameters = Acq_Conf();
|
||||
configuration_ = configuration;
|
||||
@ -61,7 +62,7 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition(
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
//float pfa = configuration_->property(role + ".pfa", 0.0);
|
||||
|
||||
long 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);
|
||||
acq_parameters.fs_in = fs_in_;
|
||||
acq_parameters.samples_per_chip = static_cast<unsigned int>(ceil((1.0 / GPS_L2_M_CODE_RATE_HZ) * static_cast<float>(acq_parameters.fs_in)));
|
||||
@ -97,7 +98,7 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition(
|
||||
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("cshort") == 0)
|
||||
if (item_type_ == "cshort")
|
||||
{
|
||||
item_size_ = sizeof(lv_16sc_t);
|
||||
}
|
||||
@ -116,7 +117,7 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition(
|
||||
acquisition_ = pcps_make_acquisition(acq_parameters);
|
||||
DLOG(INFO) << "acquisition(" << acquisition_->unique_id() << ")";
|
||||
|
||||
if (item_type_.compare("cbyte") == 0)
|
||||
if (item_type_ == "cbyte")
|
||||
{
|
||||
cbyte_to_float_x2_ = make_complex_byte_to_float_x2();
|
||||
float_to_complex_ = gr::blocks::float_to_complex::make();
|
||||
@ -125,7 +126,7 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
num_codes_ = acq_parameters.sampled_ms / acq_parameters.ms_per_code;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
@ -144,6 +145,11 @@ GpsL2MPcpsAcquisition::~GpsL2MPcpsAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GpsL2MPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL2MPcpsAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -153,7 +159,7 @@ void GpsL2MPcpsAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GpsL2MPcpsAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0)
|
||||
{
|
||||
@ -263,15 +269,15 @@ float GpsL2MPcpsAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GpsL2MPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
// Since a byte-based acq implementation is not available,
|
||||
// we just convert cshorts to gr_complex
|
||||
@ -288,15 +294,15 @@ void GpsL2MPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GpsL2MPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||
@ -311,15 +317,15 @@ void GpsL2MPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
|
||||
gr::basic_block_sptr GpsL2MPcpsAcquisition::get_left_block()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
return cbyte_to_float_x2_;
|
||||
}
|
||||
|
@ -53,7 +53,8 @@ class GpsL2MPcpsAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL2MPcpsAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL2MPcpsAcquisition();
|
||||
@ -154,7 +155,7 @@ private:
|
||||
unsigned int doppler_max_;
|
||||
unsigned int doppler_step_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
bool blocking_;
|
||||
std::string dump_filename_;
|
||||
|
@ -43,13 +43,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL2MPcpsAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
//pcpsconf_t acq_parameters;
|
||||
pcpsconf_fpga_t acq_parameters;
|
||||
@ -62,7 +63,7 @@ GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
//float pfa = configuration_->property(role + ".pfa", 0.0);
|
||||
|
||||
long 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);
|
||||
acq_parameters.fs_in = fs_in_;
|
||||
//if_ = configuration_->property(role + ".if", 0);
|
||||
@ -153,7 +154,7 @@ GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
|
||||
|
||||
channel_ = 0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
|
||||
|
||||
// vector_length_ = code_length_;
|
||||
@ -206,6 +207,11 @@ GpsL2MPcpsAcquisitionFpga::~GpsL2MPcpsAcquisitionFpga()
|
||||
}
|
||||
|
||||
|
||||
void GpsL2MPcpsAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL2MPcpsAcquisitionFpga::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -215,7 +221,7 @@ void GpsL2MPcpsAcquisitionFpga::set_channel(unsigned int channel)
|
||||
|
||||
void GpsL2MPcpsAcquisitionFpga::set_threshold(float threshold)
|
||||
{
|
||||
// float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
// float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
//
|
||||
// if (pfa == 0.0)
|
||||
// {
|
||||
|
@ -54,7 +54,8 @@ class GpsL2MPcpsAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL2MPcpsAcquisitionFpga(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL2MPcpsAcquisitionFpga();
|
||||
@ -157,7 +158,7 @@ private:
|
||||
unsigned int doppler_max_;
|
||||
unsigned int doppler_step_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
//long if_;
|
||||
bool dump_;
|
||||
bool blocking_;
|
||||
|
@ -43,13 +43,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL5iPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL5iPcpsAcquisition::GpsL5iPcpsAcquisition(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
Acq_Conf acq_parameters = Acq_Conf();
|
||||
configuration_ = configuration;
|
||||
@ -60,7 +61,7 @@ GpsL5iPcpsAcquisition::GpsL5iPcpsAcquisition(
|
||||
|
||||
item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long 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);
|
||||
acq_parameters.fs_in = fs_in_;
|
||||
acq_parameters.samples_per_chip = static_cast<unsigned int>(ceil((1.0 / GPS_L5i_CODE_RATE_HZ) * static_cast<float>(acq_parameters.fs_in)));
|
||||
@ -89,7 +90,7 @@ GpsL5iPcpsAcquisition::GpsL5iPcpsAcquisition(
|
||||
vector_length_ = std::floor(acq_parameters.sampled_ms * acq_parameters.samples_per_ms) * (acq_parameters.bit_transition_flag ? 2 : 1);
|
||||
code_ = new gr_complex[vector_length_];
|
||||
|
||||
if (item_type_.compare("cshort") == 0)
|
||||
if (item_type_ == "cshort")
|
||||
{
|
||||
item_size_ = sizeof(lv_16sc_t);
|
||||
}
|
||||
@ -108,7 +109,7 @@ GpsL5iPcpsAcquisition::GpsL5iPcpsAcquisition(
|
||||
acquisition_ = pcps_make_acquisition(acq_parameters);
|
||||
DLOG(INFO) << "acquisition(" << acquisition_->unique_id() << ")";
|
||||
|
||||
if (item_type_.compare("cbyte") == 0)
|
||||
if (item_type_ == "cbyte")
|
||||
{
|
||||
cbyte_to_float_x2_ = make_complex_byte_to_float_x2();
|
||||
float_to_complex_ = gr::blocks::float_to_complex::make();
|
||||
@ -116,7 +117,7 @@ GpsL5iPcpsAcquisition::GpsL5iPcpsAcquisition(
|
||||
channel_ = 0;
|
||||
threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
if (in_streams_ > 1)
|
||||
{
|
||||
LOG(ERROR) << "This implementation only supports one input stream";
|
||||
@ -134,6 +135,11 @@ GpsL5iPcpsAcquisition::~GpsL5iPcpsAcquisition()
|
||||
}
|
||||
|
||||
|
||||
void GpsL5iPcpsAcquisition::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL5iPcpsAcquisition::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -143,7 +149,7 @@ void GpsL5iPcpsAcquisition::set_channel(unsigned int channel)
|
||||
|
||||
void GpsL5iPcpsAcquisition::set_threshold(float threshold)
|
||||
{
|
||||
float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
|
||||
if (pfa == 0.0)
|
||||
{
|
||||
@ -251,15 +257,15 @@ float GpsL5iPcpsAcquisition::calculate_threshold(float pfa)
|
||||
|
||||
void GpsL5iPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to connect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
// Since a byte-based acq implementation is not available,
|
||||
// we just convert cshorts to gr_complex
|
||||
@ -276,15 +282,15 @@ void GpsL5iPcpsAcquisition::connect(gr::top_block_sptr top_block)
|
||||
|
||||
void GpsL5iPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
// nothing to disconnect
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0);
|
||||
top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1);
|
||||
@ -299,15 +305,15 @@ void GpsL5iPcpsAcquisition::disconnect(gr::top_block_sptr top_block)
|
||||
|
||||
gr::basic_block_sptr GpsL5iPcpsAcquisition::get_left_block()
|
||||
{
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
return acquisition_;
|
||||
}
|
||||
else if (item_type_.compare("cbyte") == 0)
|
||||
else if (item_type_ == "cbyte")
|
||||
{
|
||||
return cbyte_to_float_x2_;
|
||||
}
|
||||
|
@ -53,7 +53,8 @@ class GpsL5iPcpsAcquisition : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL5iPcpsAcquisition(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL5iPcpsAcquisition();
|
||||
@ -154,7 +155,7 @@ private:
|
||||
unsigned int doppler_max_;
|
||||
unsigned int doppler_step_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
bool dump_;
|
||||
bool blocking_;
|
||||
std::string dump_filename_;
|
||||
|
@ -43,13 +43,14 @@
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
void GpsL5iPcpsAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga(
|
||||
ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams) : role_(role), in_streams_(in_streams), out_streams_(out_streams)
|
||||
ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams)
|
||||
{
|
||||
//printf("L5 ACQ CLASS CREATED\n");
|
||||
pcpsconf_fpga_t acq_parameters;
|
||||
@ -61,8 +62,8 @@ GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga(
|
||||
|
||||
//item_type_ = configuration_->property(role + ".item_type", default_item_type);
|
||||
|
||||
long fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000);
|
||||
long fs_in = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
int64_t fs_in_deprecated = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000);
|
||||
int64_t fs_in = configuration_->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
acq_parameters.fs_in = fs_in;
|
||||
//if_ = configuration_->property(role + ".if", 0);
|
||||
//acq_parameters.freq = if_;
|
||||
@ -207,7 +208,7 @@ GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga(
|
||||
channel_ = 0;
|
||||
// threshold_ = 0.0;
|
||||
doppler_step_ = 0;
|
||||
gnss_synchro_ = 0;
|
||||
gnss_synchro_ = nullptr;
|
||||
//printf("L5 ACQ CLASS FINISHED\n");
|
||||
}
|
||||
|
||||
@ -219,6 +220,11 @@ GpsL5iPcpsAcquisitionFpga::~GpsL5iPcpsAcquisitionFpga()
|
||||
}
|
||||
|
||||
|
||||
void GpsL5iPcpsAcquisitionFpga::stop_acquisition()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void GpsL5iPcpsAcquisitionFpga::set_channel(unsigned int channel)
|
||||
{
|
||||
channel_ = channel;
|
||||
@ -228,7 +234,7 @@ void GpsL5iPcpsAcquisitionFpga::set_channel(unsigned int channel)
|
||||
|
||||
void GpsL5iPcpsAcquisitionFpga::set_threshold(float threshold)
|
||||
{
|
||||
// float pfa = configuration_->property(role_ + boost::lexical_cast<std::string>(channel_) + ".pfa", 0.0);
|
||||
// float pfa = configuration_->property(role_ + std::to_string(channel_) + ".pfa", 0.0);
|
||||
//
|
||||
// if (pfa == 0.0)
|
||||
// {
|
||||
|
@ -54,7 +54,8 @@ class GpsL5iPcpsAcquisitionFpga : public AcquisitionInterface
|
||||
{
|
||||
public:
|
||||
GpsL5iPcpsAcquisitionFpga(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams);
|
||||
|
||||
virtual ~GpsL5iPcpsAcquisitionFpga();
|
||||
@ -157,7 +158,7 @@ private:
|
||||
unsigned int doppler_max_;
|
||||
unsigned int doppler_step_;
|
||||
unsigned int max_dwells_;
|
||||
long fs_in_;
|
||||
int64_t fs_in_;
|
||||
//long if_;
|
||||
bool dump_;
|
||||
bool blocking_;
|
||||
|
@ -42,38 +42,37 @@ set(ACQ_GR_BLOCKS_HEADERS
|
||||
if(ENABLE_FPGA)
|
||||
set(ACQ_GR_BLOCKS_SOURCES ${ACQ_GR_BLOCKS_SOURCES} pcps_acquisition_fpga.cc)
|
||||
set(ACQ_GR_BLOCKS_HEADERS ${ACQ_GR_BLOCKS_HEADERS} pcps_acquisition_fpga.h)
|
||||
endif(ENABLE_FPGA)
|
||||
endif()
|
||||
|
||||
if(OPENCL_FOUND)
|
||||
set(ACQ_GR_BLOCKS_SOURCES ${ACQ_GR_BLOCKS_SOURCES} pcps_opencl_acquisition_cc.cc)
|
||||
set(ACQ_GR_BLOCKS_HEADERS ${ACQ_GR_BLOCKS_HEADERS} pcps_opencl_acquisition_cc.h)
|
||||
endif(OPENCL_FOUND)
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
${VOLK_GNSSSDR_INCLUDE_DIRS}
|
||||
${MATIO_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/src/core/system_parameters
|
||||
${CMAKE_SOURCE_DIR}/src/core/interfaces
|
||||
${CMAKE_SOURCE_DIR}/src/core/receiver
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/libs
|
||||
${CMAKE_SOURCE_DIR}/src/algorithms/libs
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${GLOG_INCLUDE_DIRS}
|
||||
${GFlags_INCLUDE_DIRS}
|
||||
${ARMADILLO_INCLUDE_DIRS}
|
||||
${GNURADIO_RUNTIME_INCLUDE_DIRS}
|
||||
${VOLK_GNSSSDR_INCLUDE_DIRS}
|
||||
${MATIO_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
|
||||
if(OPENCL_FOUND)
|
||||
include_directories( ${OPENCL_INCLUDE_DIRS} )
|
||||
include_directories(${OPENCL_INCLUDE_DIRS})
|
||||
if(OS_IS_MACOSX)
|
||||
set(OPT_LIBRARIES ${OPT_LIBRARIES} "-framework OpenCL")
|
||||
else(OS_IS_MACOSX)
|
||||
set(OPT_LIBRARIES ${OPT_LIBRARIES} ${OPENCL_LIBRARIES})
|
||||
endif(OS_IS_MACOSX)
|
||||
endif(OPENCL_FOUND)
|
||||
set(OPT_LIBRARIES ${OPT_LIBRARIES} "-framework OpenCL")
|
||||
else()
|
||||
set(OPT_LIBRARIES ${OPT_LIBRARIES} ${OPENCL_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
list(SORT ACQ_GR_BLOCKS_HEADERS)
|
||||
list(SORT ACQ_GR_BLOCKS_SOURCES)
|
||||
@ -81,11 +80,31 @@ add_library(acq_gr_blocks ${ACQ_GR_BLOCKS_SOURCES} ${ACQ_GR_BLOCKS_HEADERS})
|
||||
source_group(Headers FILES ${ACQ_GR_BLOCKS_HEADERS})
|
||||
|
||||
if(ENABLE_FPGA)
|
||||
target_link_libraries(acq_gr_blocks acquisition_lib gnss_sp_libs gnss_system_parameters ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_FFT_LIBRARIES} ${VOLK_LIBRARIES} ${VOLK_GNSSSDR_LIBRARIES} ${OPT_LIBRARIES} ${OPT_ACQUISITION_LIBRARIES})
|
||||
else(ENABLE_FPGA)
|
||||
target_link_libraries(acq_gr_blocks gnss_sp_libs gnss_system_parameters ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_FFT_LIBRARIES} ${VOLK_LIBRARIES} ${VOLK_GNSSSDR_LIBRARIES} ${OPT_LIBRARIES} ${OPT_ACQUISITION_LIBRARIES} ${MATIO_LIBRARIES})
|
||||
endif(ENABLE_FPGA)
|
||||
target_link_libraries(acq_gr_blocks
|
||||
acquisition_lib
|
||||
gnss_sp_libs
|
||||
gnss_system_parameters
|
||||
${GNURADIO_RUNTIME_LIBRARIES}
|
||||
${GNURADIO_FFT_LIBRARIES}
|
||||
${VOLK_LIBRARIES}
|
||||
${VOLK_GNSSSDR_LIBRARIES}
|
||||
${OPT_LIBRARIES}
|
||||
${OPT_ACQUISITION_LIBRARIES}
|
||||
)
|
||||
else()
|
||||
target_link_libraries(acq_gr_blocks
|
||||
gnss_sp_libs
|
||||
gnss_system_parameters
|
||||
${GNURADIO_RUNTIME_LIBRARIES}
|
||||
${GNURADIO_FFT_LIBRARIES}
|
||||
${VOLK_LIBRARIES}
|
||||
${VOLK_GNSSSDR_LIBRARIES}
|
||||
${OPT_LIBRARIES}
|
||||
${MATIO_LIBRARIES}
|
||||
${OPT_ACQUISITION_LIBRARIES}
|
||||
)
|
||||
endif()
|
||||
|
||||
if(NOT VOLK_GNSSSDR_FOUND)
|
||||
if(NOT VOLKGNSSSDR_FOUND)
|
||||
add_dependencies(acq_gr_blocks volk_gnsssdr_module)
|
||||
endif(NOT VOLK_GNSSSDR_FOUND)
|
||||
endif()
|
||||
|
@ -117,8 +117,8 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisit
|
||||
}
|
||||
else
|
||||
{
|
||||
d_fft_code_Q_A = 0;
|
||||
d_magnitudeQA = 0;
|
||||
d_fft_code_Q_A = nullptr;
|
||||
d_magnitudeQA = nullptr;
|
||||
}
|
||||
// IF COHERENT INTEGRATION TIME > 1
|
||||
if (d_sampled_ms > 1)
|
||||
@ -132,16 +132,16 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisit
|
||||
}
|
||||
else
|
||||
{
|
||||
d_fft_code_Q_B = 0;
|
||||
d_magnitudeQB = 0;
|
||||
d_fft_code_Q_B = nullptr;
|
||||
d_magnitudeQB = nullptr;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
d_fft_code_I_B = 0;
|
||||
d_magnitudeIB = 0;
|
||||
d_fft_code_Q_B = 0;
|
||||
d_magnitudeQB = 0;
|
||||
d_fft_code_I_B = nullptr;
|
||||
d_magnitudeIB = nullptr;
|
||||
d_fft_code_Q_B = nullptr;
|
||||
d_magnitudeQB = nullptr;
|
||||
}
|
||||
|
||||
// Direct FFT
|
||||
@ -157,14 +157,14 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisit
|
||||
d_doppler_resolution = 0;
|
||||
d_threshold = 0;
|
||||
d_doppler_step = 250;
|
||||
d_grid_doppler_wipeoffs = 0;
|
||||
d_gnss_synchro = 0;
|
||||
d_grid_doppler_wipeoffs = nullptr;
|
||||
d_gnss_synchro = nullptr;
|
||||
d_code_phase = 0;
|
||||
d_doppler_freq = 0;
|
||||
d_test_statistics = 0;
|
||||
d_CAF_vector = 0;
|
||||
d_CAF_vector_I = 0;
|
||||
d_CAF_vector_Q = 0;
|
||||
d_CAF_vector = nullptr;
|
||||
d_CAF_vector_I = nullptr;
|
||||
d_CAF_vector_Q = nullptr;
|
||||
d_channel = 0;
|
||||
d_gr_stream_buffer = 0;
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user