mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-06-26 07:02:59 +00:00
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
This commit is contained in:
commit
5f6bcdf90e
3
.gitignore
vendored
3
.gitignore
vendored
@ -14,3 +14,6 @@ cmake-build-debug/
|
|||||||
/install
|
/install
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.pydevproject
|
.pydevproject
|
||||||
|
.vscode/
|
||||||
|
.vs/
|
||||||
|
Testing/
|
||||||
|
@ -410,7 +410,7 @@ set(GNSSSDR_GNSS_SIM_LOCAL_VERSION "master")
|
|||||||
set(GNSSSDR_GPSTK_LOCAL_VERSION "2.12")
|
set(GNSSSDR_GPSTK_LOCAL_VERSION "2.12")
|
||||||
set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.17")
|
set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.17")
|
||||||
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.10")
|
set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.10")
|
||||||
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "3.10.1")
|
set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "3.11.0")
|
||||||
|
|
||||||
if(CMAKE_VERSION VERSION_LESS "3.0.2")
|
if(CMAKE_VERSION VERSION_LESS "3.0.2")
|
||||||
set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.1") # Fix for CentOS 7
|
set(GNSSSDR_GFLAGS_LOCAL_VERSION "2.2.1") # Fix for CentOS 7
|
||||||
|
@ -302,9 +302,9 @@ $ sudo apt-get install autoconf automake libtool curl make g++ unzip
|
|||||||
and then:
|
and then:
|
||||||
|
|
||||||
~~~~~~
|
~~~~~~
|
||||||
$ wget https://github.com/protocolbuffers/protobuf/releases/download/v3.10.1/protobuf-cpp-3.10.1.tar.gz
|
$ wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.0/protobuf-cpp-3.11.0.tar.gz
|
||||||
$ tar xvfz protobuf-cpp-3.10.1.tar.gz
|
$ tar xvfz protobuf-cpp-3.11.0.tar.gz
|
||||||
$ cd protobuf-3.10.1
|
$ cd protobuf-3.11.0
|
||||||
$ ./autogen.sh
|
$ ./autogen.sh
|
||||||
$ ./configure
|
$ ./configure
|
||||||
$ make
|
$ make
|
||||||
|
@ -140,6 +140,9 @@ endif()
|
|||||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11"))
|
if((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11"))
|
||||||
set(CMAKE_REQUIRED_FLAGS "-std=c++17")
|
set(CMAKE_REQUIRED_FLAGS "-std=c++17")
|
||||||
endif()
|
endif()
|
||||||
|
if(MSVC AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "18"))
|
||||||
|
set(CMAKE_REQUIRED_FLAGS "/std:c++17")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Normalize and check the component list we were given
|
# Normalize and check the component list we were given
|
||||||
set(want_components ${FILESYSTEM_FIND_COMPONENTS})
|
set(want_components ${FILESYSTEM_FIND_COMPONENTS})
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
- Fixed building in some ARM-based devices. Now Clang and ARMClang can be used for native building.
|
- Fixed building in some ARM-based devices. Now Clang and ARMClang can be used for native building.
|
||||||
- Added toolchain files for building gnss-sdr and the volk_gnsssdr library in several ARM processor architectures, including those in Raspberry Pi 3 and 4.
|
- Added toolchain files for building gnss-sdr and the volk_gnsssdr library in several ARM processor architectures, including those in Raspberry Pi 3 and 4.
|
||||||
- The software can now be built using Xcode (passing -GXcode to CMake) without previous manual installation of volk_gnsssdr.
|
- The software can now be built using Xcode (passing -GXcode to CMake) without previous manual installation of volk_gnsssdr.
|
||||||
|
- Now the volk_gnsssdr library can be built on Microsoft Windows.
|
||||||
|
|
||||||
|
|
||||||
### Improvements in Reliability:
|
### Improvements in Reliability:
|
||||||
|
@ -160,15 +160,7 @@ pcps_acquisition::pcps_acquisition(const Acq_Conf& conf_) : gr::block("pcps_acqu
|
|||||||
|
|
||||||
d_samplesPerChip = acq_parameters.samples_per_chip;
|
d_samplesPerChip = acq_parameters.samples_per_chip;
|
||||||
d_buffer_count = 0U;
|
d_buffer_count = 0U;
|
||||||
// todo: CFAR statistic not available for non-coherent integration
|
|
||||||
//if (acq_parameters.max_dwells == 1)
|
|
||||||
//{
|
|
||||||
d_use_CFAR_algorithm_flag = acq_parameters.use_CFAR_algorithm_flag;
|
d_use_CFAR_algorithm_flag = acq_parameters.use_CFAR_algorithm_flag;
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
//d_use_CFAR_algorithm_flag = false;
|
|
||||||
//}
|
|
||||||
d_dump_number = 0LL;
|
d_dump_number = 0LL;
|
||||||
d_dump_channel = acq_parameters.dump_channel;
|
d_dump_channel = acq_parameters.dump_channel;
|
||||||
d_dump = acq_parameters.dump;
|
d_dump = acq_parameters.dump;
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <cstdbool> // for bool
|
|
||||||
#include <iosfwd> // for ofstream
|
#include <iosfwd> // for ofstream
|
||||||
#include <string> // for string
|
#include <string> // for string
|
||||||
#include <vector> // for vector
|
#include <vector> // for vector
|
||||||
|
@ -139,6 +139,9 @@ endif()
|
|||||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11"))
|
if((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11"))
|
||||||
set(CMAKE_REQUIRED_FLAGS "-std=c++17")
|
set(CMAKE_REQUIRED_FLAGS "-std=c++17")
|
||||||
endif()
|
endif()
|
||||||
|
if(MSVC AND NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "18"))
|
||||||
|
set(CMAKE_REQUIRED_FLAGS "/std:c++17")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Normalize and check the component list we were given
|
# Normalize and check the component list we were given
|
||||||
set(want_components ${FILESYSTEM_FIND_COMPONENTS})
|
set(want_components ${FILESYSTEM_FIND_COMPONENTS})
|
||||||
|
@ -45,6 +45,9 @@
|
|||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#include <complex.h>
|
||||||
|
#endif
|
||||||
#include <complex>
|
#include <complex>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ static inline void volk_gnsssdr_32fc_32f_high_dynamic_rotator_dot_prod_32fc_xn_g
|
|||||||
}
|
}
|
||||||
tmp32_1 = *in_common++ * (*phase);
|
tmp32_1 = *in_common++ * (*phase);
|
||||||
phase_doppler *= phase_inc;
|
phase_doppler *= phase_inc;
|
||||||
phase_doppler_rate = cpowf(phase_inc_rate, lv_cmake(n * n, 0.0f));
|
phase_doppler_rate = cpowf(phase_inc_rate, lv_cmake((float)(n * n), 0.0f));
|
||||||
phase_doppler_rate /= hypotf(lv_creal(phase_doppler_rate), lv_cimag(phase_doppler_rate));
|
phase_doppler_rate /= hypotf(lv_creal(phase_doppler_rate), lv_cimag(phase_doppler_rate));
|
||||||
(*phase) = phase_doppler * phase_doppler_rate;
|
(*phase) = phase_doppler * phase_doppler_rate;
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ if(HAVE_POSIX_MEMALIGN)
|
|||||||
add_definitions(-DHAVE_POSIX_MEMALIGN)
|
add_definitions(-DHAVE_POSIX_MEMALIGN)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT DEFINED _XOPEN_SOURCE)
|
if(NOT DEFINED _XOPEN_SOURCE AND NOT MSVC)
|
||||||
add_definitions(-D_XOPEN_SOURCE=700)
|
add_definitions(-D_XOPEN_SOURCE=700)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ if(CPU_IS_x86)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Disable SSE4a if Clang is less than version 3.2
|
# Disable SSE4a if Clang is less than version 3.2
|
||||||
if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
# Figure out the version of Clang
|
# Figure out the version of Clang
|
||||||
if(CMAKE_VERSION VERSION_LESS "2.8.10")
|
if(CMAKE_VERSION VERSION_LESS "2.8.10")
|
||||||
# Extract the Clang version from the --version string.
|
# Extract the Clang version from the --version string.
|
||||||
@ -564,7 +564,8 @@ list(APPEND volk_gnsssdr_sources
|
|||||||
set_source_files_properties(
|
set_source_files_properties(
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr.c
|
${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr.c
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_machines.c
|
${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_machines.c
|
||||||
PROPERTIES COMPILE_DEFINITIONS "${machine_defs}")
|
PROPERTIES COMPILE_DEFINITIONS "${machine_defs}"
|
||||||
|
)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
#add compatibility includes for stdint types
|
#add compatibility includes for stdint types
|
||||||
@ -583,7 +584,7 @@ if(NOT (CMAKE_GENERATOR STREQUAL Xcode))
|
|||||||
PUBLIC $<INSTALL_INTERFACE:include>
|
PUBLIC $<INSTALL_INTERFACE:include>
|
||||||
PRIVATE ${PROJECT_SOURCE_DIR}/kernels
|
PRIVATE ${PROJECT_SOURCE_DIR}/kernels
|
||||||
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
|
|
||||||
#include "volk_gnsssdr/volk_gnsssdr.h" // for volk_gnsssdr_func_desc_t
|
#include "volk_gnsssdr/volk_gnsssdr.h" // for volk_gnsssdr_func_desc_t
|
||||||
#include "volk_gnsssdr/volk_gnsssdr_complex.h" // for lv_32fc_t
|
#include "volk_gnsssdr/volk_gnsssdr_complex.h" // for lv_32fc_t
|
||||||
#include <cstdbool> // for bool, false
|
|
||||||
#include <cstdlib> // for NULL
|
#include <cstdlib> // for NULL
|
||||||
#include <map> // for map
|
#include <map> // for map
|
||||||
#include <string> // for string, basic_string
|
#include <string> // for string, basic_string
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
#include "kernel_tests.h" // for init_test_list
|
#include "kernel_tests.h" // for init_test_list
|
||||||
#include "qa_utils.h" // for volk_gnsssdr_test_case_t, volk_gnsssdr_test_results_t
|
#include "qa_utils.h" // for volk_gnsssdr_test_case_t, volk_gnsssdr_test_results_t
|
||||||
#include "volk_gnsssdr/volk_gnsssdr_complex.h" // for lv_32fc_t
|
#include "volk_gnsssdr/volk_gnsssdr_complex.h" // for lv_32fc_t
|
||||||
#include <cstdbool> // for bool, false, true
|
|
||||||
#include <fstream> // IWYU pragma: keep
|
#include <fstream> // IWYU pragma: keep
|
||||||
#include <iostream> // for operator<<, basic_ostream, endl, char...
|
#include <iostream> // for operator<<, basic_ostream, endl, char...
|
||||||
#include <map> // for map, map<>::iterator, _Rb_tree_iterator
|
#include <map> // for map, map<>::iterator, _Rb_tree_iterator
|
||||||
|
@ -59,6 +59,7 @@ static inline unsigned long long _xgetbv(unsigned int index)
|
|||||||
#elif defined(_MSC_VER) && defined(HAVE_INTRIN_H)
|
#elif defined(_MSC_VER) && defined(HAVE_INTRIN_H)
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#define cpuid_x86(op, r) __cpuid(((int *)r), op)
|
#define cpuid_x86(op, r) __cpuid(((int *)r), op)
|
||||||
|
#define cpuid_x86_count(op, count, regs) __cpuidex((int *)regs, op, count)
|
||||||
|
|
||||||
#if defined(_XCR_XFEATURE_ENABLED_MASK)
|
#if defined(_XCR_XFEATURE_ENABLED_MASK)
|
||||||
#define __xgetbv() _xgetbv(_XCR_XFEATURE_ENABLED_MASK)
|
#define __xgetbv() _xgetbv(_XCR_XFEATURE_ENABLED_MASK)
|
||||||
|
@ -92,7 +92,7 @@ DECLARE_string(log_dir);
|
|||||||
#include "unit-tests/signal-processing-blocks/sources/gnss_sdr_valve_test.cc"
|
#include "unit-tests/signal-processing-blocks/sources/gnss_sdr_valve_test.cc"
|
||||||
#include "unit-tests/signal-processing-blocks/sources/unpack_2bit_samples_test.cc"
|
#include "unit-tests/signal-processing-blocks/sources/unpack_2bit_samples_test.cc"
|
||||||
// #include "unit-tests/signal-processing-blocks/acquisition/glonass_l2_ca_pcps_acquisition_test.cc"
|
// #include "unit-tests/signal-processing-blocks/acquisition/glonass_l2_ca_pcps_acquisition_test.cc"
|
||||||
#include "unit-tests/signal-processing-blocks/libs/item_type_helpers.cc"
|
#include "unit-tests/signal-processing-blocks/libs/item_type_helpers_test.cc"
|
||||||
|
|
||||||
#if OPENCL_BLOCKS_TEST
|
#if OPENCL_BLOCKS_TEST
|
||||||
#include "unit-tests/signal-processing-blocks/acquisition/gps_l1_ca_pcps_opencl_acquisition_gsoc2013_test.cc"
|
#include "unit-tests/signal-processing-blocks/acquisition/gps_l1_ca_pcps_opencl_acquisition_gsoc2013_test.cc"
|
||||||
|
@ -72,6 +72,7 @@ public:
|
|||||||
std::array<float, 2 * N> float_array_out;
|
std::array<float, 2 * N> float_array_out;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
TEST_F(ItemTypeHelpersTest, CheckValidTypes)
|
TEST_F(ItemTypeHelpersTest, CheckValidTypes)
|
||||||
{
|
{
|
||||||
for (auto &valid_type : valid_item_types)
|
for (auto &valid_type : valid_item_types)
|
||||||
@ -85,6 +86,7 @@ TEST_F(ItemTypeHelpersTest, CheckValidTypes)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST_F(ItemTypeHelpersTest, CheckSizes)
|
TEST_F(ItemTypeHelpersTest, CheckSizes)
|
||||||
{
|
{
|
||||||
EXPECT_EQ(item_type_size("byte"), 1);
|
EXPECT_EQ(item_type_size("byte"), 1);
|
||||||
@ -98,13 +100,13 @@ TEST_F(ItemTypeHelpersTest, CheckSizes)
|
|||||||
EXPECT_EQ(item_type_size("float"), 4);
|
EXPECT_EQ(item_type_size("float"), 4);
|
||||||
EXPECT_EQ(item_type_size("gr_complex"), 8);
|
EXPECT_EQ(item_type_size("gr_complex"), 8);
|
||||||
|
|
||||||
|
|
||||||
for (auto &invalid_type : invalid_item_types)
|
for (auto &invalid_type : invalid_item_types)
|
||||||
{
|
{
|
||||||
EXPECT_EQ(item_type_size(invalid_type), 0);
|
EXPECT_EQ(item_type_size(invalid_type), 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST_F(ItemTypeHelpersTest, CheckMakeConverters)
|
TEST_F(ItemTypeHelpersTest, CheckMakeConverters)
|
||||||
{
|
{
|
||||||
for (auto &input_type : valid_item_types)
|
for (auto &input_type : valid_item_types)
|
||||||
@ -126,6 +128,7 @@ TEST_F(ItemTypeHelpersTest, CheckMakeConverters)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST_F(ItemTypeHelpersTest, CheckConversionsReal)
|
TEST_F(ItemTypeHelpersTest, CheckConversionsReal)
|
||||||
{
|
{
|
||||||
std::string input_type = "byte";
|
std::string input_type = "byte";
|
||||||
@ -180,6 +183,7 @@ TEST_F(ItemTypeHelpersTest, CheckConversionsReal)
|
|||||||
EXPECT_TRUE(std::equal(float_array_in.begin(), float_array_in.begin() + N, float_array_out.begin()));
|
EXPECT_TRUE(std::equal(float_array_in.begin(), float_array_in.begin() + N, float_array_out.begin()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST_F(ItemTypeHelpersTest, CheckConversionsComplex)
|
TEST_F(ItemTypeHelpersTest, CheckConversionsComplex)
|
||||||
{
|
{
|
||||||
std::string input_type = "cbyte";
|
std::string input_type = "cbyte";
|
Loading…
x
Reference in New Issue
Block a user