From fc85b2df8ebddfdaa056d82f0d7dc0dbf556c901 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Wed, 11 Aug 2021 11:56:33 +0200 Subject: [PATCH 1/8] Improve detection of the cpu_features library --- .../volk_gnsssdr/CMakeLists.txt | 6 +- .../cmake/Modules/FindCPUFEATURES.cmake | 92 +++++++++++++++++++ 2 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/FindCPUFEATURES.cmake diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt index 38c9d4284..7fbe44397 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt @@ -278,10 +278,10 @@ if(CMAKE_VERSION VERSION_GREATER 3.0 AND SUPPORTED_CPU_FEATURES_ARCH) set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}") set(BUILD_SHARED_LIBS OFF) if(NOT ENABLE_OWN_CPUFEATURES) - find_package(CpuFeatures QUIET) + find_package(CPUFEATURES QUIET) endif() - if(CpuFeatures_FOUND) - message(STATUS "Found CpuFeatures: (found version ${CpuFeatures_VERSION})") + if(CPUFEATURES_FOUND) + message(STATUS "Found CpuFeatures: (found version ${CPUFEATURES_VERSION})") else() add_subdirectory(cpu_features) endif() diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/FindCPUFEATURES.cmake b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/FindCPUFEATURES.cmake new file mode 100644 index 000000000..89936ee59 --- /dev/null +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/FindCPUFEATURES.cmake @@ -0,0 +1,92 @@ +# GNSS-SDR is a Global Navigation Satellite System software-defined receiver. +# This file is part of GNSS-SDR. +# +# SPDX-FileCopyrightText: 2021 C. Fernandez-Prades cfernandez(at)cttc.es +# SPDX-License-Identifier: BSD-3-Clause + +set(FPHSA_NAME_MISMATCHED ON) + +find_library(CPUFEATURES_LIBRARIES + NAMES cpu_features + PATHS /usr/lib + /usr/lib64 + /usr/lib/x86_64-linux-gnu + /usr/lib/i386-linux-gnu + /usr/lib/arm-linux-gnueabihf + /usr/lib/arm-linux-gnueabi + /usr/lib/aarch64-linux-gnu + /usr/lib/mipsel-linux-gnu + /usr/lib/mips-linux-gnu + /usr/lib/mips64el-linux-gnuabi64 + /usr/lib/powerpc-linux-gnu + /usr/lib/powerpc64-linux-gnu + /usr/lib/powerpc64le-linux-gnu + /usr/lib/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/lib/riscv64-linux-gnu + /usr/local/lib + /usr/local/lib64 + /opt/local/lib +) + +find_path(CPUFEATURES_INCLUDE_DIR cpu_features_macros.h + PATHS $ENV{CPUFEATURES_DIR}/include + $ENV{CPUFEATURES_DIR} + /usr/include + /usr/local/include + ~/Library/Frameworks + /Library/Frameworks + /sw/include # Fink + /opt/local/include # MacPorts + /opt/csw/include # Blastwave + PATH_SUFFIXES cpu_features +) + +if(CPUFEATURES_INCLUDE_DIR AND CPUFEATURES_LIBRARIES) + if(NOT PACKAGE_VERSION) + set(PACKAGE_VERSION "") + endif() + set(OLD_PACKAGE_VERSION ${PACKAGE_VERSION}) + unset(PACKAGE_VERSION) + list(GET CPUFEATURES_LIBRARIES 0 FIRST_DIR) + get_filename_component(CPUFEATURES_LIBRARIES_PATH ${FIRST_DIR} DIRECTORY) + if(EXISTS ${CPUFEATURES_LIBRARIES_PATH}/cmake/CpuFeatures/CpuFeaturesConfigVersion.cmake) + include(${CPUFEATURES_LIBRARIES_PATH}/cmake/CpuFeatures/CpuFeaturesConfigVersion.cmake) + endif() + if(PACKAGE_VERSION) + set(CPUFEATURES_VERSION ${PACKAGE_VERSION}) + else() + set(CPUFEATURES_VERSION "Unknown") + endif() + set(PACKAGE_VERSION ${OLD_PACKAGE_VERSION}) +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(CPUFEATURES + DEFAULT_MSG + CPUFEATURES_LIBRARIES + CPUFEATURES_INCLUDE_DIR +) + +if(CPUFEATURES_FOUND AND NOT TARGET CpuFeature::cpu_features) + add_library(CpuFeature::cpu_features STATIC IMPORTED) + set_target_properties(CpuFeature::cpu_features PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${CPUFEATURES_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${CPUFEATURES_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${CPUFEATURES_LIBRARIES}" + ) + add_library(cpu_features ALIAS CpuFeature::cpu_features) +endif() + +mark_as_advanced(CPUFEATURES_LIBRARIES) From 8982e4d7ad17c546239825cabc355103eda5bf84 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Wed, 11 Aug 2021 13:01:25 +0200 Subject: [PATCH 2/8] Enable NEON kernels in aarch64 architecture --- docs/CHANGELOG.md | 2 + .../volk_gnsssdr_neon_intrinsics.h | 198 ++++++++++++++++-- .../volk_gnsssdr_16i_resamplerxnpuppet_16i.h | 2 +- .../volk_gnsssdr_16i_xn_resampler_16i_xn.h | 2 +- .../volk_gnsssdr_16ic_convert_32fc.h | 4 +- .../volk_gnsssdr_16ic_resampler_fast_16ic.h | 4 +- ...lk_gnsssdr_16ic_resamplerfastpuppet_16ic.h | 4 +- ..._gnsssdr_16ic_resamplerfastxnpuppet_16ic.h | 2 +- ...volk_gnsssdr_16ic_resamplerxnpuppet_16ic.h | 2 +- .../volk_gnsssdr_16ic_rotatorpuppet_16ic.h | 8 +- .../volk_gnsssdr_16ic_s32fc_x2_rotator_16ic.h | 8 +- .../volk_gnsssdr_16ic_x2_dot_prod_16ic.h | 12 +- .../volk_gnsssdr_16ic_x2_dot_prod_16ic_xn.h | 12 +- ...olk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic.h | 6 +- .../volk_gnsssdr_16ic_x2_multiply_16ic.h | 4 +- ...gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h | 18 +- ...sdr_16ic_x2_rotator_dotprodxnpuppet_16ic.h | 4 +- .../volk_gnsssdr_16ic_xn_resampler_16ic_xn.h | 2 +- ...k_gnsssdr_16ic_xn_resampler_fast_16ic_xn.h | 4 +- .../volk_gnsssdr_32f_index_max_32u.h | 6 +- .../volk_gnsssdr_32f_resamplerxnpuppet_32f.h | 2 +- .../volk_gnsssdr_32f_sincos_32fc.h | 4 +- ...dr_32f_xn_high_dynamics_resampler_32f_xn.h | 2 +- .../volk_gnsssdr_32f_xn_resampler_32f_xn.h | 2 +- .../volk_gnsssdr_32fc_convert_16ic.h | 4 +- .../volk_gnsssdr_32fc_convert_8ic.h | 4 +- ...volk_gnsssdr_32fc_resamplerxnpuppet_32fc.h | 2 +- ...gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn.h | 4 +- ...sdr_32fc_x2_rotator_dotprodxnpuppet_32fc.h | 4 +- .../volk_gnsssdr_32fc_xn_resampler_32fc_xn.h | 2 +- .../volk_gnsssdr_8ic_conjugate_8ic.h | 4 +- .../volk_gnsssdr_8ic_x2_dot_prod_8ic.h | 4 +- .../volk_gnsssdr_s32f_sincos_32fc.h | 4 +- .../volk_gnsssdr_s32f_sincospuppet_32fc.h | 4 +- 34 files changed, 260 insertions(+), 90 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 3d4233b31..44e72cca3 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -77,6 +77,8 @@ All notable changes to GNSS-SDR will be documented in this file. x86, improved AMD microarchitecture detection. - CMake now selects the C++23 standard if the environment allows for it. - Improved detection of Gnuplot and `gnss_sim` when cross-compiling. +- NEON kernel implementations of the `volk_gnsssdr` library are now enabled in + aarch64 architectures. ### Improvements in Reliability diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/include/volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/include/volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h index efda4358a..2356631bf 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/include/volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/include/volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h @@ -17,7 +17,8 @@ #include -static inline float32x4_t vdivq_f32(float32x4_t num, float32x4_t den) +/* Division */ +static inline float32x4_t _vdivq_f32(float32x4_t num, float32x4_t den) { const float32x4_t q_inv0 = vrecpeq_f32(den); const float32x4_t q_step0 = vrecpsq_f32(q_inv0, den); @@ -26,8 +27,28 @@ static inline float32x4_t vdivq_f32(float32x4_t num, float32x4_t den) return vmulq_f32(num, q_inv1); } +/* Inverse */ +static inline float32x4_t _vinvq_f32(float32x4_t x) +{ + // Newton's method + float32x4_t recip = vrecpeq_f32(x); + recip = vmulq_f32(vrecpsq_f32(x, recip), recip); + recip = vmulq_f32(vrecpsq_f32(x, recip), recip); + return recip; +} -static inline float32x4_t vsqrtq_f32(float32x4_t q_x) +/* Magnitude squared for float32x4x2_t */ +static inline float32x4_t _vmagnitudesquaredq_f32(float32x4x2_t cmplxValue) +{ + float32x4_t iValue, qValue, result; + iValue = vmulq_f32(cmplxValue.val[0], cmplxValue.val[0]); // Square the values + qValue = vmulq_f32(cmplxValue.val[1], cmplxValue.val[1]); // Square the values + result = vaddq_f32(iValue, qValue); // Add the I2 and Q2 values + return result; +} + +/* Square root for float32x4_t */ +static inline float32x4_t _vsqrtq_f32(float32x4_t q_x) { const float32x4_t q_step_0 = vrsqrteq_f32(q_x); // step @@ -43,18 +64,6 @@ static inline float32x4_t vsqrtq_f32(float32x4_t q_x) return vmulq_f32(q_x, q_step_2); } - -/* Magnitude squared for float32x4x2_t */ -static inline float32x4_t _vmagnitudesquaredq_f32(float32x4x2_t cmplxValue) -{ - float32x4_t iValue, qValue, result; - iValue = vmulq_f32(cmplxValue.val[0], cmplxValue.val[0]); // Square the values - qValue = vmulq_f32(cmplxValue.val[1], cmplxValue.val[1]); // Square the values - result = vaddq_f32(iValue, qValue); // Add the I2 and Q2 values - return result; -} - - /* Inverse square root for float32x4_t */ static inline float32x4_t _vinvsqrtq_f32(float32x4_t x) { @@ -65,7 +74,6 @@ static inline float32x4_t _vinvsqrtq_f32(float32x4_t x) return sqrt_reciprocal; } - /* Complex multiplication for float32x4x2_t */ static inline float32x4x2_t _vmultiply_complexq_f32(float32x4x2_t a_val, float32x4x2_t b_val) { @@ -89,4 +97,164 @@ static inline float32x4x2_t _vmultiply_complexq_f32(float32x4x2_t a_val, float32 return c_val; } +/* From ARM Compute Library, MIT license */ +static inline float32x4_t _vtaylor_polyq_f32(float32x4_t x, const float32x4_t coeffs[8]) +{ + float32x4_t cA = vmlaq_f32(coeffs[0], coeffs[4], x); + float32x4_t cB = vmlaq_f32(coeffs[2], coeffs[6], x); + float32x4_t cC = vmlaq_f32(coeffs[1], coeffs[5], x); + float32x4_t cD = vmlaq_f32(coeffs[3], coeffs[7], x); + float32x4_t x2 = vmulq_f32(x, x); + float32x4_t x4 = vmulq_f32(x2, x2); + float32x4_t res = vmlaq_f32(vmlaq_f32(cA, cB, x2), vmlaq_f32(cC, cD, x2), x4); + return res; +} + +/* Natural logarithm. + * From ARM Compute Library, MIT license */ +static inline float32x4_t _vlogq_f32(float32x4_t x) +{ + const float32x4_t log_tab[8] = { + vdupq_n_f32(-2.29561495781f), + vdupq_n_f32(-2.47071170807f), + vdupq_n_f32(-5.68692588806f), + vdupq_n_f32(-0.165253549814f), + vdupq_n_f32(5.17591238022f), + vdupq_n_f32(0.844007015228f), + vdupq_n_f32(4.58445882797f), + vdupq_n_f32(0.0141278216615f), + }; + + const int32x4_t CONST_127 = vdupq_n_s32(127); // 127 + const float32x4_t CONST_LN2 = vdupq_n_f32(0.6931471805f); // ln(2) + + // Extract exponent + int32x4_t m = vsubq_s32( + vreinterpretq_s32_u32(vshrq_n_u32(vreinterpretq_u32_f32(x), 23)), CONST_127); + float32x4_t val = + vreinterpretq_f32_s32(vsubq_s32(vreinterpretq_s32_f32(x), vshlq_n_s32(m, 23))); + + // Polynomial Approximation + float32x4_t poly = _vtaylor_polyq_f32(val, log_tab); + + // Reconstruct + poly = vmlaq_f32(poly, vcvtq_f32_s32(m), CONST_LN2); + + return poly; +} + +/* Evaluation of 4 sines & cosines at once. + * Optimized from here (zlib license) + * http://gruntthepeon.free.fr/ssemath/ */ +static inline float32x4x2_t _vsincosq_f32(float32x4_t x) +{ + const float32x4_t c_minus_cephes_DP1 = vdupq_n_f32(-0.78515625); + const float32x4_t c_minus_cephes_DP2 = vdupq_n_f32(-2.4187564849853515625e-4); + const float32x4_t c_minus_cephes_DP3 = vdupq_n_f32(-3.77489497744594108e-8); + const float32x4_t c_sincof_p0 = vdupq_n_f32(-1.9515295891e-4); + const float32x4_t c_sincof_p1 = vdupq_n_f32(8.3321608736e-3); + const float32x4_t c_sincof_p2 = vdupq_n_f32(-1.6666654611e-1); + const float32x4_t c_coscof_p0 = vdupq_n_f32(2.443315711809948e-005); + const float32x4_t c_coscof_p1 = vdupq_n_f32(-1.388731625493765e-003); + const float32x4_t c_coscof_p2 = vdupq_n_f32(4.166664568298827e-002); + const float32x4_t c_cephes_FOPI = vdupq_n_f32(1.27323954473516); // 4 / M_PI + + const float32x4_t CONST_1 = vdupq_n_f32(1.f); + const float32x4_t CONST_1_2 = vdupq_n_f32(0.5f); + const float32x4_t CONST_0 = vdupq_n_f32(0.f); + const uint32x4_t CONST_2 = vdupq_n_u32(2); + const uint32x4_t CONST_4 = vdupq_n_u32(4); + + uint32x4_t emm2; + + uint32x4_t sign_mask_sin, sign_mask_cos; + sign_mask_sin = vcltq_f32(x, CONST_0); + x = vabsq_f32(x); + // scale by 4/pi + float32x4_t y = vmulq_f32(x, c_cephes_FOPI); + + // store the integer part of y in mm0 + emm2 = vcvtq_u32_f32(y); + /* j=(j+1) & (~1) (see the cephes sources) */ + emm2 = vaddq_u32(emm2, vdupq_n_u32(1)); + emm2 = vandq_u32(emm2, vdupq_n_u32(~1)); + y = vcvtq_f32_u32(emm2); + + /* get the polynom selection mask + there is one polynom for 0 <= x <= Pi/4 + and another one for Pi/4 static inline void volk_gnsssdr_16i_xn_resampler_16i_xn_neon(int16_t** result, const int16_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points) { diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_convert_32fc.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_convert_32fc.h index 1cbfe081e..453f11e70 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_convert_32fc.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_convert_32fc.h @@ -233,7 +233,7 @@ static inline void volk_gnsssdr_16ic_convert_32fc_u_avx2(lv_32fc_t* outputVector #endif /* LV_HAVE_AVX2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_convert_32fc_neon(lv_32fc_t* outputVector, const lv_16sc_t* inputVector, unsigned int num_points) @@ -263,6 +263,6 @@ static inline void volk_gnsssdr_16ic_convert_32fc_neon(lv_32fc_t* outputVector, _in++; } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_32fc_convert_16ic_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resampler_fast_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resampler_fast_16ic.h index ea7f03d24..e953663ff 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resampler_fast_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resampler_fast_16ic.h @@ -242,7 +242,7 @@ static inline void volk_gnsssdr_16ic_resampler_fast_16ic_u_sse2(lv_16sc_t* resul #endif /* LV_HAVE_SSE2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_resampler_fast_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, int code_length_chips, unsigned int num_output_samples) //, int* scratch_buffer, float* scratch_buffer_float) @@ -328,6 +328,6 @@ static inline void volk_gnsssdr_16ic_resampler_fast_16ic_neon(lv_16sc_t* result, } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_16ic_resampler_fast_16ic_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerfastpuppet_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerfastpuppet_16ic.h index 14585318b..23822dd14 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerfastpuppet_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerfastpuppet_16ic.h @@ -58,7 +58,7 @@ static inline void volk_gnsssdr_16ic_resamplerfastpuppet_16ic_u_sse2(lv_16sc_t* #endif /* LV_HAVE_SSE2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_resamplerfastpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, unsigned int num_points) { @@ -68,6 +68,6 @@ static inline void volk_gnsssdr_16ic_resamplerfastpuppet_16ic_neon(lv_16sc_t* re volk_gnsssdr_16ic_resampler_fast_16ic_neon(result, local_code, rem_code_phase_chips, code_phase_step_chips, code_length_chips, num_points); } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif // INCLUDED_volk_gnsssdr_16ic_resamplerfastpuppet_16ic_H diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerfastxnpuppet_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerfastxnpuppet_16ic.h index 563b6009b..620e551b9 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerfastxnpuppet_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerfastxnpuppet_16ic.h @@ -114,7 +114,7 @@ static inline void volk_gnsssdr_16ic_resamplerfastxnpuppet_16ic_u_sse2(lv_16sc_t #endif -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_resamplerfastxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, unsigned int num_points) { float code_phase_step_chips = 0.1; diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerxnpuppet_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerxnpuppet_16ic.h index 381a6c797..b5cb38369 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerxnpuppet_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_resamplerxnpuppet_16ic.h @@ -236,7 +236,7 @@ static inline void volk_gnsssdr_16ic_resamplerxnpuppet_16ic_a_avx(lv_16sc_t* res #endif -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_resamplerxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, unsigned int num_points) { int code_length_chips = 2046; diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_rotatorpuppet_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_rotatorpuppet_16ic.h index 49ffc1f32..75bcdb87e 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_rotatorpuppet_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_rotatorpuppet_16ic.h @@ -123,7 +123,7 @@ static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_u_sse3_reload(lv_16sc_t* #endif /* LV_HAVE_SSE3 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon(lv_16sc_t* outVector, const lv_16sc_t* inVector, unsigned int num_points) { // phases must be normalized. Phase rotator expects a complex exponential input! @@ -136,10 +136,10 @@ static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon(lv_16sc_t* outVecto volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon(outVector, inVector, phase_inc[0], phase, num_points); } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon_reload(lv_16sc_t* outVector, const lv_16sc_t* inVector, unsigned int num_points) { // phases must be normalized. Phase rotator expects a complex exponential input! @@ -152,7 +152,7 @@ static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon_reload(lv_16sc_t* o volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon_reload(outVector, inVector, phase_inc[0], phase, num_points); } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_16ic_rotatorpuppet_16ic_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_s32fc_x2_rotator_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_s32fc_x2_rotator_16ic.h index c5eaa201d..81e5bd7aa 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_s32fc_x2_rotator_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_s32fc_x2_rotator_16ic.h @@ -631,7 +631,7 @@ static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_u_sse3_reload(lv_16sc #endif /* LV_HAVE_SSE3 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon(lv_16sc_t* outVector, const lv_16sc_t* inVector, const lv_32fc_t phase_inc, lv_32fc_t* phase, unsigned int num_points) @@ -764,10 +764,10 @@ static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon(lv_16sc_t* outVe } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon_reload(lv_16sc_t* outVector, const lv_16sc_t* inVector, const lv_32fc_t phase_inc, lv_32fc_t* phase, unsigned int num_points) @@ -958,6 +958,6 @@ static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon_reload(lv_16sc_t } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic.h index 17a6d3097..674d0544a 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic.h @@ -377,7 +377,7 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_a_axv2(lv_16sc_t* out, con #endif /* LV_HAVE_AVX2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points) @@ -446,10 +446,10 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon(lv_16sc_t* out, const } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_vma(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points) @@ -499,10 +499,10 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_vma(lv_16sc_t* out, c } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_optvma(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points) @@ -553,6 +553,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_optvma(lv_16sc_t* out } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_16ic_x2_dot_prod_16ic_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic_xn.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic_xn.h index 711f47647..e791fc4ec 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic_xn.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dot_prod_16ic_xn.h @@ -473,7 +473,7 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_u_avx2(lv_16sc_t* resul #endif /* LV_HAVE_AVX2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points) @@ -559,10 +559,10 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon(lv_16sc_t* result, } } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_vma(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points) @@ -637,10 +637,10 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_vma(lv_16sc_t* res } } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_optvma(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points) @@ -720,6 +720,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_optvma(lv_16sc_t* } } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_16ic_xn_dot_prod_16ic_xn_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic.h index 71879af61..88dcab62e 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic.h @@ -174,7 +174,7 @@ static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_u_avx2(lv_16sc_t* r #endif /* LV_HAVE_AVX2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points) { @@ -199,7 +199,7 @@ static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon(lv_16sc_t* res #endif // NEON -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points) { @@ -223,7 +223,7 @@ static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t* #endif // NEON -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon_optvma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points) { diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_multiply_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_multiply_16ic.h index caa01db72..56c2efeeb 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_multiply_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_multiply_16ic.h @@ -278,7 +278,7 @@ static inline void volk_gnsssdr_16ic_x2_multiply_16ic_a_avx2(lv_16sc_t* out, con #endif /* LV_HAVE_AVX2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_x2_multiply_16ic_neon(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points) @@ -324,6 +324,6 @@ static inline void volk_gnsssdr_16ic_x2_multiply_16ic_neon(lv_16sc_t* out, const *out++ = (*a_ptr++) * (*b_ptr++); } } -#endif /* LV_HAVE_NEONV7*/ +#endif /* LV_HAVE_NEON*/ #endif /* INCLUDED_volk_gnsssdr_16ic_x2_multiply_16ic_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h index 840b6e745..72916fefa 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn.h @@ -1286,7 +1286,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_a_avx2_reload(l #endif /* LV_HAVE_AVX2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_32fc_t phase_inc, lv_32fc_t* phase, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points) @@ -1472,10 +1472,10 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon(lv_16sc_t* } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include #include @@ -1610,11 +1610,11 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon_vma(lv_16s // Round = vmulq_f32(_phase_real, _phase_real); // Round = vmlaq_f32(Round, _phase_imag, _phase_imag); - // Round = vsqrtq_f32(Round);// printf("sqrt: %f \n", Round[0]); + // Round = _vsqrtq_f32(Round);// printf("sqrt: %f \n", Round[0]); // Round = vrsqrteq_f32(Round);printf("1/sqtr: %f \n",Round[0]); // Round = vrecpeq_f32((Round); - // _phase_real = vdivq_f32(_phase_real, Round); - // _phase_imag = vdivq_f32(_phase_imag, Round); + // _phase_real = _vdivq_f32(_phase_real, Round); + // _phase_imag = _vdivq_f32(_phase_imag, Round); // _phase_real = vmulq_f32(_phase_real, Round); // _phase_imag = vmulq_f32(_phase_imag, Round); // printf("After %i: %f,%f, %f\n\n", number, _phase_real[0], _phase_imag[0], sqrt(_phase_real[0]*_phase_real[0]+_phase_imag[0]*_phase_imag[0])); @@ -1669,10 +1669,10 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon_vma(lv_16s } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include #include @@ -1858,6 +1858,6 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon_optvma(lv_ } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic.h index dc3238776..849cd376f 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic.h @@ -303,7 +303,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_u_avx2_relo #endif // AVX2 -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points) { // phases must be normalized. Phase rotator expects a complex exponential input! @@ -334,7 +334,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_neon(lv_16s #endif // NEON -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points) { // phases must be normalized. Phase rotator expects a complex exponential input! diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_xn_resampler_16ic_xn.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_xn_resampler_16ic_xn.h index b6ed10f91..32c3e3291 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_xn_resampler_16ic_xn.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_xn_resampler_16ic_xn.h @@ -511,7 +511,7 @@ static inline void volk_gnsssdr_16ic_xn_resampler_16ic_xn_u_avx(lv_16sc_t** resu #endif -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_xn_resampler_16ic_xn_neon(lv_16sc_t** result, const lv_16sc_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points) { diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn.h index e97dfdf1b..532f15256 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn.h @@ -271,7 +271,7 @@ static inline void volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_u_sse2(lv_16sc_t* #endif /* LV_HAVE_SSE2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_neon(lv_16sc_t** result, const lv_16sc_t* local_code, float* rem_code_phase_chips, float code_phase_step_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_output_samples) @@ -370,6 +370,6 @@ static inline void volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_neon(lv_16sc_t** } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_index_max_32u.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_index_max_32u.h index 48edd8f17..8d2ae5c1f 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_index_max_32u.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_index_max_32u.h @@ -467,7 +467,7 @@ static inline void volk_gnsssdr_32f_index_max_32u_generic(uint32_t* target, cons #endif /*LV_HAVE_GENERIC*/ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_32f_index_max_32u_neon(uint32_t* target, const float* src0, uint32_t num_points) @@ -532,6 +532,6 @@ static inline void volk_gnsssdr_32f_index_max_32u_neon(uint32_t* target, const f } } -#endif /*LV_HAVE_NEONV7*/ +#endif /* LV_HAVE_NEON */ -#endif /*INCLUDED_volk_gnsssdr_32f_index_max_32u_H*/ +#endif /* INCLUDED_volk_gnsssdr_32f_index_max_32u_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_resamplerxnpuppet_32f.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_resamplerxnpuppet_32f.h index 2218f6e63..53e2c0dcf 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_resamplerxnpuppet_32f.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_resamplerxnpuppet_32f.h @@ -232,7 +232,7 @@ static inline void volk_gnsssdr_32f_resamplerxnpuppet_32f_u_avx(float* result, c } #endif -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_32f_resamplerxnpuppet_32f_neon(float* result, const float* local_code, unsigned int num_points) { int code_length_chips = 2046; diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_sincos_32fc.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_sincos_32fc.h index e8b2917a8..ef8faa84c 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_sincos_32fc.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_sincos_32fc.h @@ -627,7 +627,7 @@ static inline void volk_gnsssdr_32f_sincos_32fc_generic_fxpt(lv_32fc_t* out, con #endif /* LV_HAVE_GENERIC */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_32f_sincos_32fc_neon(lv_32fc_t* out, const float* in, unsigned int num_points) @@ -731,7 +731,7 @@ static inline void volk_gnsssdr_32f_sincos_32fc_neon(lv_32fc_t* out, const float } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_32f_sincos_32fc_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn.h index 717026269..a97938345 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn.h @@ -600,7 +600,7 @@ static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_u_avx(floa #endif // // -// #ifdef LV_HAVE_NEONV7 +// #ifdef LV_HAVE_NEON // #include // // static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_neon(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points) diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_xn_resampler_32f_xn.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_xn_resampler_32f_xn.h index cf6d495e4..8666ebed8 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_xn_resampler_32f_xn.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32f_xn_resampler_32f_xn.h @@ -513,7 +513,7 @@ static inline void volk_gnsssdr_32f_xn_resampler_32f_xn_u_avx(float** result, co #endif -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_32f_xn_resampler_32f_xn_neon(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points) diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_16ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_16ic.h index 31f8aab1b..8a9fec8d0 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_16ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_16ic.h @@ -372,7 +372,7 @@ static inline void volk_gnsssdr_32fc_convert_16ic_a_avx2(lv_16sc_t* outputVector #endif /* LV_HAVE_AVX2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_32fc_convert_16ic_neon(lv_16sc_t* outputVector, const lv_32fc_t* inputVector, unsigned int num_points) @@ -436,7 +436,7 @@ static inline void volk_gnsssdr_32fc_convert_16ic_neon(lv_16sc_t* outputVector, } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #ifdef LV_HAVE_GENERIC diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_8ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_8ic.h index d2f212041..bca78f3fe 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_8ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_convert_8ic.h @@ -359,7 +359,7 @@ static inline void volk_gnsssdr_32fc_convert_8ic_a_sse2(lv_8sc_t* outputVector, #endif /* LV_HAVE_SSE2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_32fc_convert_8ic_neon(lv_8sc_t* outputVector, const lv_32fc_t* inputVector, unsigned int num_points) @@ -450,6 +450,6 @@ static inline void volk_gnsssdr_32fc_convert_8ic_neon(lv_8sc_t* outputVector, co } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_32fc_convert_8ic_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_resamplerxnpuppet_32fc.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_resamplerxnpuppet_32fc.h index 9f948e086..2450f96be 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_resamplerxnpuppet_32fc.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_resamplerxnpuppet_32fc.h @@ -292,7 +292,7 @@ static inline void volk_gnsssdr_32fc_resamplerxnpuppet_32fc_u_avx2(lv_32fc_t* re #endif -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_32fc_resamplerxnpuppet_32fc_neon(lv_32fc_t* result, const lv_32fc_t* local_code, unsigned int num_points) { int code_length_chips = 2046; diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn.h index 6b795ee88..8c9fae23a 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn.h @@ -633,7 +633,7 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_a_avx(lv_32fc_t #endif /* LV_HAVE_AVX */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_neon(lv_32fc_t* result, const lv_32fc_t* in_common, const lv_32fc_t phase_inc, lv_32fc_t* phase, const lv_32fc_t** in_a, int num_a_vectors, unsigned int num_points) @@ -786,6 +786,6 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_neon(lv_32fc_t* (*phase) = _phase; } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc.h index 94ce64683..69f40f925 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc.h @@ -206,7 +206,7 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc_a_avx(lv_32 #endif // AVX -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc_neon(lv_32fc_t* result, const lv_32fc_t* local_code, const lv_32fc_t* in, unsigned int num_points) { // phases must be normalized. Phase rotator expects a complex exponential input! @@ -233,7 +233,7 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc_neon(lv_32f volk_gnsssdr_free(in_a); } -#endif // AVX +#endif // LV_HAVE_NEON #endif // INCLUDED_volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc_H diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_xn_resampler_32fc_xn.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_xn_resampler_32fc_xn.h index a0f5ee03f..9842c7f5c 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_xn_resampler_32fc_xn.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_32fc_xn_resampler_32fc_xn.h @@ -668,7 +668,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_a_avx2(lv_32fc_t** res #endif -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_neon(lv_32fc_t** result, const lv_32fc_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points) diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_8ic_conjugate_8ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_8ic_conjugate_8ic.h index 0ab8b49e7..57ceaba72 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_8ic_conjugate_8ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_8ic_conjugate_8ic.h @@ -334,7 +334,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_u_orc(lv_8sc_t* cVector, const #endif /* LV_HAVE_ORC */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_8ic_conjugate_8ic_neon(lv_8sc_t* cVector, const lv_8sc_t* aVector, unsigned int num_points) @@ -360,6 +360,6 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_neon(lv_8sc_t* cVector, const *c++ = lv_conj(*a++); } } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_8ic_conjugate_8ic_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_8ic_x2_dot_prod_8ic.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_8ic_x2_dot_prod_8ic.h index 6af667263..fb420821b 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_8ic_x2_dot_prod_8ic.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_8ic_x2_dot_prod_8ic.h @@ -422,7 +422,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_u_orc(lv_8sc_t* result, cons #endif /* LV_HAVE_ORC */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_neon(lv_8sc_t* result, const lv_8sc_t* in_a, const lv_8sc_t* in_b, unsigned int num_points) @@ -481,6 +481,6 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_neon(lv_8sc_t* result, const *result += dotProduct; } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /*INCLUDED_volk_gnsssdr_8ic_x2_dot_prod_8ic_H*/ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_s32f_sincos_32fc.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_s32f_sincos_32fc.h index f3188a6f6..93bc0747d 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_s32f_sincos_32fc.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_s32f_sincos_32fc.h @@ -816,7 +816,7 @@ static inline void volk_gnsssdr_s32f_sincos_32fc_u_avx2(lv_32fc_t *out, const fl #endif /* LV_HAVE_AVX2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON #include static inline void volk_gnsssdr_s32f_sincos_32fc_neon(lv_32fc_t *out, const float phase_inc, float *phase, unsigned int num_points) @@ -930,6 +930,6 @@ static inline void volk_gnsssdr_s32f_sincos_32fc_neon(lv_32fc_t *out, const floa (*phase) = _phase; } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_s32f_sincos_32fc_H */ diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_s32f_sincospuppet_32fc.h b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_s32f_sincospuppet_32fc.h index cedb20073..95411147d 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_s32f_sincospuppet_32fc.h +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/kernels/volk_gnsssdr/volk_gnsssdr_s32f_sincospuppet_32fc.h @@ -89,13 +89,13 @@ static inline void volk_gnsssdr_s32f_sincospuppet_32fc_u_avx2(lv_32fc_t* out, co #endif /* LV_HAVE_AVX2 */ -#ifdef LV_HAVE_NEONV7 +#ifdef LV_HAVE_NEON static inline void volk_gnsssdr_s32f_sincospuppet_32fc_neon(lv_32fc_t* out, const float phase_inc, unsigned int num_points) { float phase[1]; phase[0] = 3; volk_gnsssdr_s32f_sincos_32fc_neon(out, phase_inc, phase, num_points); } -#endif /* LV_HAVE_NEONV7 */ +#endif /* LV_HAVE_NEON */ #endif /* INCLUDED_volk_gnsssdr_s32f_sincospuppet_32fc_H */ From e0d41e96e9736120f8efd810a277f63a6335d007 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Wed, 11 Aug 2021 16:35:05 +0200 Subject: [PATCH 3/8] Add --num_channels parameter to position_test --- src/tests/system-tests/position_test.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/tests/system-tests/position_test.cc b/src/tests/system-tests/position_test.cc index 948808e63..29fc4b2e0 100644 --- a/src/tests/system-tests/position_test.cc +++ b/src/tests/system-tests/position_test.cc @@ -54,6 +54,8 @@ using namespace google; } #endif +DEFINE_int32(num_channels, 11, "Number of channels"); + // For GPS NAVIGATION (L1) Concurrent_Queue global_gps_acq_assist_queue; Concurrent_Map global_gps_acq_assist_map; @@ -177,7 +179,7 @@ int PositionSystemTest::configure_receiver() const int grid_density = 16; const float zero = 0.0; - const int number_of_channels = 11; + const int number_of_channels = FLAGS_num_channels; const int in_acquisition = 1; const float threshold = 2.5; @@ -205,7 +207,7 @@ int PositionSystemTest::configure_receiver() { config->set_property("GNSS-SDR.use_acquisition_resampler", "true"); } - + config->set_property("GNSS-SDR.GPS_banned_prns", std::to_string(1)); // Set the assistance system parameters config->set_property("GNSS-SDR.SUPL_read_gps_assistance_xml", "false"); config->set_property("GNSS-SDR.SUPL_gps_enabled", "false"); @@ -322,7 +324,7 @@ int PositionSystemTest::configure_receiver() config->set_property("PVT.iono_model", "OFF"); config->set_property("PVT.trop_model", "OFF"); config->set_property("PVT.AR_GPS", "PPP-AR"); - config->set_property("PVT.elevation_mask", std::to_string(15)); + config->set_property("PVT.elevation_mask", std::to_string(5)); config_f = nullptr; } From e2efc7e9f1500f46dfaab6c6bcdb3a5f000a282a Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Wed, 11 Aug 2021 19:01:09 +0200 Subject: [PATCH 4/8] Stop receiver if no channels have been assigned --- src/core/receiver/gnss_flowgraph.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/core/receiver/gnss_flowgraph.cc b/src/core/receiver/gnss_flowgraph.cc index ea87d7fa2..c5376dd18 100644 --- a/src/core/receiver/gnss_flowgraph.cc +++ b/src/core/receiver/gnss_flowgraph.cc @@ -785,6 +785,15 @@ int GNSSFlowgraph::disconnect_signal_conditioners() int GNSSFlowgraph::connect_channels() { + if (channels_count_ <= 0) + { + LOG(ERROR) << "No channels have been assigned."; + help_hint_ += " * No channels have been assigned, check your configuration file.\n"; + help_hint_ += " At least one of the Channels_XX.count must be > 0.\n"; + help_hint_ += " Channels documentation at https://gnss-sdr.org/docs/sp-blocks/channels/\n"; + top_block_->disconnect_all(); + return 1; + } for (int i = 0; i < channels_count_; i++) { if (channels_.at(i) != nullptr) From 13115e2c7e8ad585c89ed3c2db0c526db239718e Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Wed, 11 Aug 2021 19:02:58 +0200 Subject: [PATCH 5/8] Update google-benchmarks to 1.5.6 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ca7f6f73e..ef635c743 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -333,7 +333,7 @@ set(GNSSSDR_GPSTK_LOCAL_VERSION "8.0.0") set(GNSSSDR_MATIO_LOCAL_VERSION "1.5.21") set(GNSSSDR_PUGIXML_LOCAL_VERSION "1.11.4") set(GNSSSDR_PROTOCOLBUFFERS_LOCAL_VERSION "3.17.3") -set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.5.5") +set(GNSSSDR_BENCHMARK_LOCAL_VERSION "1.5.6") set(GNSSSDR_MATHJAX_EXTERNAL_VERSION "2.7.7") if(CMAKE_VERSION VERSION_LESS "3.3") From f3a22de83046c977ca84a5ed6f3c7ad1ecfc9aa5 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 20 Aug 2021 22:52:13 +0200 Subject: [PATCH 6/8] Make Coverity Scan happy --- .../gnuradio_blocks/galileo_telemetry_decoder_gs.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc index 41db4747b..d50648070 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc @@ -806,6 +806,7 @@ int galileo_telemetry_decoder_gs::general_work(int noutput_items __attribute__(( if ((d_CRC_error_counter > CRC_ERROR_LIMIT) and (d_frame_type != 3)) { DLOG(INFO) << "Lost of frame sync SAT " << this->d_satellite; + gr::thread::scoped_lock lock(d_setlock); d_flag_frame_sync = false; d_stat = 0; d_TOW_at_current_symbol_ms = 0; From 4e9bdd83b7538bbdfec34ee12a7293e8a97fab84 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 23 Aug 2021 14:28:30 +0200 Subject: [PATCH 7/8] Bump version to 0.0.15 --- CMakeLists.txt | 6 +++--- docs/CHANGELOG.md | 6 +++--- docs/manpage/gnss-sdr-manpage | 2 +- .../libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt | 2 +- .../cmake/Packaging/volk_gnsssdr-config-info-manpage | 2 +- .../cmake/Packaging/volk_gnsssdr_profile-manpage | 2 +- src/main/main.cc | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ef635c743..ffd9cd035 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,7 +120,7 @@ option(ENABLE_EXTERNAL_MATHJAX "Use MathJax from an external CDN in HTML docs" O ################################################################################ # GNSS-SDR version information ################################################################################ -set(THIS_IS_A_RELEASE OFF) # only related to version name, no further implications. +set(THIS_IS_A_RELEASE ON) # only related to version name, no further implications. if(NOT ${THIS_IS_A_RELEASE}) find_package(Git) set_package_properties(Git PROPERTIES @@ -156,9 +156,9 @@ endif() set(VERSION_INFO_MAJOR_VERSION 0) set(VERSION_INFO_API_COMPAT 0) if(${THIS_IS_A_RELEASE}) - set(VERSION_INFO_MINOR_VERSION 14) + set(VERSION_INFO_MINOR_VERSION 15) else() - set(VERSION_INFO_MINOR_VERSION 14.git-${GIT_BRANCH}-${GIT_COMMIT_HASH}) + set(VERSION_INFO_MINOR_VERSION 15.git-${GIT_BRANCH}-${GIT_COMMIT_HASH}) endif() set(VERSION ${VERSION_INFO_MAJOR_VERSION}.${VERSION_INFO_API_COMPAT}.${VERSION_INFO_MINOR_VERSION}) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 44e72cca3..1104463c0 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -12,7 +12,7 @@ SPDX-FileCopyrightText: 2011-2021 Carles Fernandez-Prades .\" Contact carles.fernandez@cttc.es to correct errors or typos. -.TH gnss\-sdr 1 "29 Jul 2020" "0.0.14" "gnss\-sdr man page" +.TH gnss\-sdr 1 "23 Aug 2021" "0.0.15" "gnss\-sdr man page" .SH NAME \fBgnss\-sdr\fR \- GNSS Software Defined Receiver. .SH SYNOPSIS diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt index 7fbe44397..ef5834643 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt @@ -209,7 +209,7 @@ message(STATUS "Build type set to ${CMAKE_BUILD_TYPE}.") set(VERSION_INFO_MAJOR_VERSION 0) set(VERSION_INFO_MINOR_VERSION 0) -set(VERSION_INFO_MAINT_VERSION 14.git) +set(VERSION_INFO_MAINT_VERSION 15) include(VolkGnsssdrVersion) # setup version info diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr-config-info-manpage b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr-config-info-manpage index 8dacdb572..94d3ca45e 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr-config-info-manpage +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr-config-info-manpage @@ -2,7 +2,7 @@ .\" SPDX-License-Identifier: GPL-3.0-or-later .\" SPDX-FileCopyrightText: Carles Fernandez-Prades .\" Contact carles.fernandez@cttc.es to correct errors or typos. -.TH volk_gnsssdr\-config\-info 1 "29 Jul 2020" "0.0.14" "volk_gnsssdr\-config\-info man page" +.TH volk_gnsssdr\-config\-info 1 "23 Aug 2021" "0.0.15" "volk_gnsssdr\-config\-info man page" .SH NAME \fBvolk_gnsssdr\-config\-info\fR \- Prints configuration information of libvolk_gnsssdr functions. .SH SYNOPSIS diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr_profile-manpage b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr_profile-manpage index 36613142d..8df340a7c 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr_profile-manpage +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr_profile-manpage @@ -2,7 +2,7 @@ .\" SPDX-License-Identifier: GPL-3.0-or-later .\" SPDX-FileCopyrightText: Carles Fernandez-Prades .\" Contact carles.fernandez@cttc.es to correct errors or typos. -.TH volk_gnsssdr_profile 1 "29 Jul 2020" "0.0.14" "volk_gnsssdr_profile man page" +.TH volk_gnsssdr_profile 1 "23 Aug 2021" "0.0.15" "volk_gnsssdr_profile man page" .SH NAME \fBvolk_gnsssdr_profile\fR \- Profiler application for libvolk_gnsssdr functions. .SH SYNOPSIS diff --git a/src/main/main.cc b/src/main/main.cc index 685af0c18..ca3bc6477 100644 --- a/src/main/main.cc +++ b/src/main/main.cc @@ -18,7 +18,7 @@ */ #ifndef GNSS_SDR_VERSION -#define GNSS_SDR_VERSION "0.0.14" +#define GNSS_SDR_VERSION "0.0.15" #endif #ifndef GOOGLE_STRIP_LOG From 0fc18f13f98c72e4e4808f044490253b71bd9e0d Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 24 Aug 2021 09:42:19 +0200 Subject: [PATCH 8/8] The action continues in the next branch --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ffd9cd035..873e92d7d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,7 +120,7 @@ option(ENABLE_EXTERNAL_MATHJAX "Use MathJax from an external CDN in HTML docs" O ################################################################################ # GNSS-SDR version information ################################################################################ -set(THIS_IS_A_RELEASE ON) # only related to version name, no further implications. +set(THIS_IS_A_RELEASE OFF) # only related to version name, no further implications. if(NOT ${THIS_IS_A_RELEASE}) find_package(Git) set_package_properties(Git PROPERTIES