From 31f9a87ee48471ef4e5a51197eab426f0293a7c0 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 26 Apr 2019 09:02:03 +0200 Subject: [PATCH 01/10] Emit mat file generation message only if there is data to save --- src/algorithms/PVT/libs/rtklib_solver.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/algorithms/PVT/libs/rtklib_solver.cc b/src/algorithms/PVT/libs/rtklib_solver.cc index eb7c9c6bd..46c195718 100644 --- a/src/algorithms/PVT/libs/rtklib_solver.cc +++ b/src/algorithms/PVT/libs/rtklib_solver.cc @@ -148,7 +148,6 @@ bool Rtklib_Solver::save_matfile() sizeof(uint8_t) * number_of_uint8_vars + sizeof(float) * number_of_float_vars; std::ifstream dump_file; - std::cout << "Generating .mat file for " << dump_filename << std::endl; dump_file.exceptions(std::ifstream::failbit | std::ifstream::badbit); try { @@ -163,6 +162,7 @@ bool Rtklib_Solver::save_matfile() int64_t num_epoch = 0LL; if (dump_file.is_open()) { + std::cout << "Generating .mat file for " << dump_filename << std::endl; size = dump_file.tellg(); num_epoch = static_cast(size) / static_cast(epoch_size_bytes); dump_file.seekg(0, std::ios::beg); From e03bed59829a61f5d8d0dd330b7e448ccb36f419 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 27 Apr 2019 12:19:15 +0200 Subject: [PATCH 02/10] Shorten protobuf description --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 865a04e2a..8b047e18d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1818,7 +1818,7 @@ endif() find_package(Protobuf) set_package_properties(Protobuf PROPERTIES URL "https://developers.google.com/protocol-buffers/" - DESCRIPTION "A language-neutral, platform-neutral extensible mechanism for serializing structured data" + DESCRIPTION "Structured data serialization mechanism" PURPOSE "Used to serialize output data in a way that can be read by other applications." TYPE REQUIRED ) From d1298d67c87f8952a60ed217dabd47be2b708fae Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 27 Apr 2019 12:43:34 +0200 Subject: [PATCH 03/10] Remove unused buffer --- .../gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.cc | 10 ++++------ .../gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.h | 5 ++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.cc index 3bc7b0325..2859ae975 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.cc @@ -83,8 +83,7 @@ gps_l1_ca_telemetry_decoder_gs::gps_l1_ca_telemetry_decoder_gs( // preamble bits to sampled symbols d_preamble_samples = static_cast(volk_gnsssdr_malloc(d_samples_per_preamble * sizeof(int32_t), volk_gnsssdr_get_alignment())); d_frame_length_symbols = GPS_SUBFRAME_BITS * GPS_CA_TELEMETRY_SYMBOLS_PER_BIT; - d_max_symbols_without_valid_frame = d_required_symbols * 10; //rise alarm 1 minute without valid tlm - d_page_part_symbols = static_cast(volk_gnsssdr_malloc(d_frame_length_symbols * sizeof(double), volk_gnsssdr_get_alignment())); + d_max_symbols_without_valid_frame = d_required_symbols * 10; // rise alarm 1 minute without valid tlm int32_t n = 0; for (int32_t i = 0; i < d_bits_per_preamble; i++) { @@ -127,7 +126,6 @@ gps_l1_ca_telemetry_decoder_gs::gps_l1_ca_telemetry_decoder_gs( gps_l1_ca_telemetry_decoder_gs::~gps_l1_ca_telemetry_decoder_gs() { volk_gnsssdr_free(d_preamble_samples); - volk_gnsssdr_free(d_page_part_symbols); if (d_dump_file.is_open() == true) { try @@ -285,7 +283,7 @@ bool gps_l1_ca_telemetry_decoder_gs::decode_subframe() // NEW GPS SUBFRAME HAS ARRIVED! if (subframe_synchro_confirmation) { - int32_t subframe_ID = d_nav.subframe_decoder(subframe); //decode the subframe + int32_t subframe_ID = d_nav.subframe_decoder(subframe); // decode the subframe if (subframe_ID > 0 and subframe_ID < 6) { std::cout << "New GPS NAV message received in channel " << this->d_channel << ": " @@ -377,7 +375,7 @@ int gps_l1_ca_telemetry_decoder_gs::general_work(int noutput_items __attribute__ { case 0: // no preamble information { - //correlate with preamble + // correlate with preamble int32_t corr_value = 0; if (d_symbol_history.size() >= GPS_CA_PREAMBLE_LENGTH_SYMBOLS) { @@ -405,7 +403,7 @@ int gps_l1_ca_telemetry_decoder_gs::general_work(int noutput_items __attribute__ } case 1: // possible preamble lock { - //correlate with preamble + // correlate with preamble int32_t corr_value = 0; int32_t preamble_diff = 0; if (d_symbol_history.size() >= GPS_CA_PREAMBLE_LENGTH_SYMBOLS) diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.h index f3d7790ff..cc01fb6b6 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.h @@ -62,6 +62,7 @@ public: void set_satellite(const Gnss_Satellite &satellite); //!< Set satellite PRN void set_channel(int channel); //!< Set receiver's channel void reset(); + /*! * \brief This is where all signal processing takes place */ @@ -76,15 +77,14 @@ private: bool gps_word_parityCheck(uint32_t gpsword); bool decode_subframe(); - // new int32_t d_bits_per_preamble; int32_t d_samples_per_preamble; int32_t d_preamble_period_symbols; int32_t *d_preamble_samples; uint32_t d_required_symbols; uint32_t d_frame_length_symbols; - double *d_page_part_symbols; bool flag_PLL_180_deg_phase_locked; + // navigation message vars Gps_Navigation_Message d_nav; uint32_t d_prev_GPS_frame_4bytes; @@ -103,7 +103,6 @@ private: bool d_flag_preamble; int32_t d_CRC_error_counter; - Gnss_Satellite d_satellite; int32_t d_channel; From baeb326f84aa9c88a7e9d12fb4f6b6a17e96f513 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 27 Apr 2019 12:49:37 +0200 Subject: [PATCH 04/10] Avoid unnecessary copy --- .../signal_source/gnuradio_blocks/labsat23_source.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/algorithms/signal_source/gnuradio_blocks/labsat23_source.cc b/src/algorithms/signal_source/gnuradio_blocks/labsat23_source.cc index 2918fcf1b..fb70c2775 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/labsat23_source.cc +++ b/src/algorithms/signal_source/gnuradio_blocks/labsat23_source.cc @@ -35,11 +35,12 @@ #include #include #include +#include labsat23_source_sptr labsat23_make_source_sptr(const char *signal_file_basename, int channel_selector, gr::msg_queue::sptr queue) { - return labsat23_source_sptr(new labsat23_source(signal_file_basename, channel_selector, queue)); + return labsat23_source_sptr(new labsat23_source(signal_file_basename, channel_selector, std::move(queue))); } @@ -48,7 +49,7 @@ labsat23_source::labsat23_source(const char *signal_file_basename, gr::msg_queue::sptr queue) : gr::block("labsat23_source", gr::io_signature::make(0, 0, 0), gr::io_signature::make(1, 1, sizeof(gr_complex))), - d_queue(queue) + d_queue(std::move(queue)) { if (channel_selector < 1 or channel_selector > 2) { From 19fcd6052206ac161d64ef51614ed16e2e209069 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 27 Apr 2019 13:09:36 +0200 Subject: [PATCH 05/10] Clean files --- src/algorithms/channel/adapters/channel.cc | 7 +++---- src/algorithms/channel/adapters/channel.h | 9 +++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/algorithms/channel/adapters/channel.cc b/src/algorithms/channel/adapters/channel.cc index d632be535..6abaf2229 100644 --- a/src/algorithms/channel/adapters/channel.cc +++ b/src/algorithms/channel/adapters/channel.cc @@ -38,10 +38,9 @@ #include "tracking_interface.h" #include #include // for memcpy -#include +#include // for std::move -// Constructor Channel::Channel(ConfigurationInterface* configuration, uint32_t channel, std::shared_ptr acq, std::shared_ptr trk, std::shared_ptr nav, std::string role, std::string implementation, gr::msg_queue::sptr queue) @@ -120,7 +119,6 @@ Channel::Channel(ConfigurationInterface* configuration, uint32_t channel, std::s } -// Destructor Channel::~Channel() = default; @@ -133,8 +131,9 @@ void Channel::connect(gr::top_block_sptr top_block) trk_->connect(top_block); nav_->connect(top_block); - //Synchronous ports + // Synchronous ports top_block->connect(trk_->get_right_block(), 0, nav_->get_left_block(), 0); + // Message ports top_block->msg_connect(nav_->get_left_block(), pmt::mp("telemetry_to_trk"), trk_->get_right_block(), pmt::mp("telemetry_to_trk")); DLOG(INFO) << "tracking -> telemetry_decoder"; diff --git a/src/algorithms/channel/adapters/channel.h b/src/algorithms/channel/adapters/channel.h index 975122852..a238f490c 100644 --- a/src/algorithms/channel/adapters/channel.h +++ b/src/algorithms/channel/adapters/channel.h @@ -34,6 +34,7 @@ #ifndef GNSS_SDR_CHANNEL_H_ #define GNSS_SDR_CHANNEL_H_ + #include "channel_fsm.h" #include "channel_interface.h" #include "channel_msg_receiver_cc.h" @@ -51,7 +52,7 @@ class ConfigurationInterface; class AcquisitionInterface; class TrackingInterface; class TelemetryDecoderInterface; -//class ChannelFsm; + /*! * \brief This class represents a GNSS channel. It wraps an AcquisitionInterface, @@ -66,8 +67,8 @@ public: Channel(ConfigurationInterface* configuration, uint32_t channel, std::shared_ptr acq, std::shared_ptr trk, std::shared_ptr nav, std::string role, std::string implementation, gr::msg_queue::sptr queue); - //! Virtual destructor - virtual ~Channel(); + + virtual ~Channel(); //!< Virtual destructor void connect(gr::top_block_sptr top_block) override; //!< connects the tracking block to the top_block and to the telemetry void disconnect(gr::top_block_sptr top_block) override; @@ -108,4 +109,4 @@ private: std::mutex mx; }; -#endif /*GNSS_SDR_CHANNEL_H_*/ +#endif // GNSS_SDR_CHANNEL_H_ From 3602f9772cb2729a6dea4e320c663d03aa2a5d9c Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 27 Apr 2019 13:34:21 +0200 Subject: [PATCH 06/10] Use constant iterators --- src/algorithms/tracking/libs/exponential_smoother.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/algorithms/tracking/libs/exponential_smoother.cc b/src/algorithms/tracking/libs/exponential_smoother.cc index e05ff9c9b..f8f19be64 100644 --- a/src/algorithms/tracking/libs/exponential_smoother.cc +++ b/src/algorithms/tracking/libs/exponential_smoother.cc @@ -100,8 +100,8 @@ void Exponential_Smoother::set_min_value(float value) double Exponential_Smoother::smooth(double raw) { - float raw_f = static_cast(raw); - double smooth_d = static_cast((this)->smooth(raw_f)); + auto raw_f = static_cast(raw); + auto smooth_d = static_cast((this)->smooth(raw_f)); return smooth_d; } @@ -116,7 +116,7 @@ float Exponential_Smoother::smooth(float raw) init_buffer_.push_back(smoothed_value); if (init_counter_ == samples_for_initialization_) { - old_value_ = std::accumulate(std::begin(init_buffer_), std::end(init_buffer_), 0.0f) / static_cast(init_buffer_.size()); + old_value_ = std::accumulate(std::cbegin(init_buffer_), std::cend(init_buffer_), 0.0F) / static_cast(init_buffer_.size()); if (old_value_ < (min_value_ + offset_)) { // flush buffer and start again From f9c54e57ccd4f97ef0ab73dfc4c9d5b10727b685 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 27 Apr 2019 13:35:50 +0200 Subject: [PATCH 07/10] Reorder public interface --- src/core/receiver/gnss_block_factory.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/core/receiver/gnss_block_factory.h b/src/core/receiver/gnss_block_factory.h index cb7154591..3076c879d 100644 --- a/src/core/receiver/gnss_block_factory.h +++ b/src/core/receiver/gnss_block_factory.h @@ -57,19 +57,20 @@ class GNSSBlockFactory public: GNSSBlockFactory(); virtual ~GNSSBlockFactory(); + std::unique_ptr GetSignalSource(const std::shared_ptr& configuration, const gr::msg_queue::sptr queue, int ID = -1); // NOLINT(performance-unnecessary-value-param) std::unique_ptr GetSignalConditioner(const std::shared_ptr& configuration, int ID = -1); - std::unique_ptr GetPVT(const std::shared_ptr& configuration); - - std::unique_ptr GetObservables(const std::shared_ptr& configuration); - std::unique_ptr>> GetChannels(const std::shared_ptr& configuration, const gr::msg_queue::sptr queue); // NOLINT(performance-unnecessary-value-param) - /* + std::unique_ptr GetObservables(const std::shared_ptr& configuration); + + std::unique_ptr GetPVT(const std::shared_ptr& configuration); + + /*! * \brief Returns the block with the required configuration and implementation */ std::unique_ptr GetBlock(const std::shared_ptr& configuration, @@ -133,4 +134,4 @@ private: unsigned int out_streams); }; -#endif /*GNSS_SDR_BLOCK_FACTORY_H_*/ +#endif // GNSS_SDR_BLOCK_FACTORY_H_ From c1b48d675af0e92d69672621ce2a4c31093b4916 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 27 Apr 2019 17:28:49 +0200 Subject: [PATCH 08/10] Improve GNU Radio 3.7 / 3.8 handling --- CMakeLists.txt | 11 ++++---- cmake/Modules/FindGNURADIO.cmake | 25 ++++++++----------- .../input_filter/adapters/CMakeLists.txt | 2 +- .../resampler/adapters/CMakeLists.txt | 2 +- .../signal_source/adapters/CMakeLists.txt | 15 +++-------- src/core/receiver/CMakeLists.txt | 6 +---- src/core/receiver/gnss_block_factory.cc | 2 -- src/tests/CMakeLists.txt | 2 +- 8 files changed, 24 insertions(+), 41 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b047e18d..e44d56392 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -695,7 +695,7 @@ endif() ################################################################################ # GNU Radio - https://gnuradio.org ################################################################################ -set(GR_REQUIRED_COMPONENTS RUNTIME ANALOG BLOCKS FFT FILTER PMT) +set(GR_REQUIRED_COMPONENTS RUNTIME PMT BLOCKS FFT FILTER ANALOG) find_package(UHD) set_package_properties(UHD PROPERTIES @@ -719,10 +719,10 @@ set_package_properties(GNURADIO PROPERTIES PURPOSE "Implements flowgraph scheduler, provides some processing blocks and classes to create new ones." TYPE REQUIRED ) -if(PC_GNURADIO_RUNTIME_VERSION) - if(PC_GNURADIO_RUNTIME_VERSION VERSION_LESS ${GNSSSDR_GNURADIO_MIN_VERSION}) +if(GNURADIO_VERSION) + if(GNURADIO_VERSION VERSION_LESS ${GNSSSDR_GNURADIO_MIN_VERSION}) unset(GNURADIO_RUNTIME_FOUND) - message(STATUS "The GNU Radio version installed in your system is too old.") + message(STATUS "The GNU Radio version installed in your system (v${GNURADIO_VERSION}) is too old.") endif() endif() if(NOT GNURADIO_RUNTIME_FOUND) @@ -730,15 +730,14 @@ if(NOT GNURADIO_RUNTIME_FOUND) if(OS_IS_LINUX) message("Go to https://github.com/gnuradio/pybombs") message("and follow the instructions to install GNU Radio in your system.") - message(FATAL_ERROR "GNU Radio ${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr") endif() if(OS_IS_MACOSX) message("You can install it easily via Macports:") message(" sudo port install gnuradio ") message("Alternatively, you can use homebrew:") message(" brew install gnuradio") - message(FATAL_ERROR "GNU Radio ${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr") endif() + message(FATAL_ERROR "GNU Radio v${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr.") else() if(NOT TARGET Gnuradio::runtime) add_library(Gnuradio::runtime SHARED IMPORTED) diff --git a/cmake/Modules/FindGNURADIO.cmake b/cmake/Modules/FindGNURADIO.cmake index f56223662..d58e87c85 100644 --- a/cmake/Modules/FindGNURADIO.cmake +++ b/cmake/Modules/FindGNURADIO.cmake @@ -24,7 +24,7 @@ include(FindPackageHandleStandardArgs) # if GR_REQUIRED_COMPONENTS is not defined, it will be set to the following list if(NOT GR_REQUIRED_COMPONENTS) - set(GR_REQUIRED_COMPONENTS RUNTIME ANALOG BLOCKS DIGITAL FFT FILTER PMT FEC TRELLIS UHD) + set(GR_REQUIRED_COMPONENTS RUNTIME PMT BLOCKS FFT FILTER ANALOG) endif() # Allows us to use all .cmake files in this directory @@ -43,9 +43,6 @@ macro(LIST_CONTAINS var value) endforeach() endmacro() -# Trick for feature_summary -set(GNURADIO_FOUND TRUE) - function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE) list_contains(REQUIRED_MODULE ${EXTVAR} ${GR_REQUIRED_COMPONENTS}) if(NOT REQUIRED_MODULE) @@ -150,24 +147,21 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE) endfunction() gr_module(RUNTIME gnuradio-runtime gnuradio/top_block.h gnuradio-runtime) -gr_module(ANALOG gnuradio-analog gnuradio/analog/api.h gnuradio-analog) -gr_module(AUDIO gnuradio-audio gnuradio/audio/api.h gnuradio-audio) +gr_module(PMT gnuradio-runtime pmt/pmt.h gnuradio-pmt) gr_module(BLOCKS gnuradio-blocks gnuradio/blocks/api.h gnuradio-blocks) -gr_module(CHANNELS gnuradio-channels gnuradio/channels/api.h gnuradio-channels) -gr_module(DIGITAL gnuradio-digital gnuradio/digital/api.h gnuradio-digital) -gr_module(FCD gnuradio-fcd gnuradio/fcd_api.h gnuradio-fcd) gr_module(FEC gnuradio-fec gnuradio/fec/api.h gnuradio-fec) gr_module(FFT gnuradio-fft gnuradio/fft/api.h gnuradio-fft) gr_module(FILTER gnuradio-filter gnuradio/filter/api.h gnuradio-filter) -gr_module(NOAA gnuradio-noaa gnuradio/noaa/api.h gnuradio-noaa) -gr_module(PAGER gnuradio-pager gnuradio/pager/api.h gnuradio-pager) +gr_module(ANALOG gnuradio-analog gnuradio/analog/api.h gnuradio-analog) +gr_module(DIGITAL gnuradio-digital gnuradio/digital/api.h gnuradio-digital) +gr_module(AUDIO gnuradio-audio gnuradio/audio/api.h gnuradio-audio) +gr_module(CHANNELS gnuradio-channels gnuradio/channels/api.h gnuradio-channels) gr_module(QTGUI gnuradio-qtgui gnuradio/qtgui/api.h gnuradio-qtgui) gr_module(TRELLIS gnuradio-trellis gnuradio/trellis/api.h gnuradio-trellis) gr_module(UHD gnuradio-uhd gnuradio/uhd/api.h gnuradio-uhd) gr_module(VOCODER gnuradio-vocoder gnuradio/vocoder/api.h gnuradio-vocoder) gr_module(WAVELET gnuradio-wavelet gnuradio/wavelet/api.h gnuradio-wavelet) -gr_module(WXGUI gnuradio-wxgui gnuradio/wxgui/api.h gnuradio-wxgui) -gr_module(PMT gnuradio-runtime pmt/pmt.h gnuradio-pmt) + list(REMOVE_DUPLICATES GNURADIO_ALL_INCLUDE_DIRS) list(REMOVE_DUPLICATES GNURADIO_ALL_LIBRARIES) @@ -206,4 +200,7 @@ if(NOT PC_GNURADIO_RUNTIME_VERSION) endif() # Trick for feature_summary -set(GNURADIO_FOUND TRUE) +if(NOT DEFINED GNURADIO_FOUND) + set(GNURADIO_FOUND TRUE) +endif() +set(GNURADIO_VERSION ${PC_GNURADIO_RUNTIME_VERSION}) diff --git a/src/algorithms/input_filter/adapters/CMakeLists.txt b/src/algorithms/input_filter/adapters/CMakeLists.txt index 19583570e..ac8699ffe 100644 --- a/src/algorithms/input_filter/adapters/CMakeLists.txt +++ b/src/algorithms/input_filter/adapters/CMakeLists.txt @@ -62,7 +62,7 @@ target_include_directories(input_filter_adapters ${CMAKE_SOURCE_DIR}/src/core/interfaces ) -if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.20") +if(NOT (GNURADIO_VERSION VERSION_LESS "3.8")) target_compile_definitions(input_filter_adapters PUBLIC -DGR_GREATER_38=1) endif() diff --git a/src/algorithms/resampler/adapters/CMakeLists.txt b/src/algorithms/resampler/adapters/CMakeLists.txt index 398187b46..44cf04297 100644 --- a/src/algorithms/resampler/adapters/CMakeLists.txt +++ b/src/algorithms/resampler/adapters/CMakeLists.txt @@ -52,7 +52,7 @@ target_include_directories(resampler_adapters ${CMAKE_SOURCE_DIR}/src/core/interfaces ) -if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.20") +if(NOT (GNURADIO_VERSION VERSION_LESS "3.8")) target_compile_definitions(resampler_adapters PUBLIC -DGR_GREATER_38=1) endif() diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt index a8f515aec..fb00b503f 100644 --- a/src/algorithms/signal_source/adapters/CMakeLists.txt +++ b/src/algorithms/signal_source/adapters/CMakeLists.txt @@ -135,6 +135,8 @@ set(SIGNAL_SOURCE_ADAPTER_SOURCES spir_gss6450_file_signal_source.cc rtl_tcp_signal_source.cc labsat_signal_source.cc + two_bit_cpx_file_signal_source.cc + two_bit_packed_file_signal_source.cc ${OPT_DRIVER_SOURCES} ) @@ -146,20 +148,11 @@ set(SIGNAL_SOURCE_ADAPTER_HEADERS spir_gss6450_file_signal_source.h rtl_tcp_signal_source.h labsat_signal_source.h + two_bit_cpx_file_signal_source.h + two_bit_packed_file_signal_source.h ${OPT_DRIVER_HEADERS} ) -if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) - set(SIGNAL_SOURCE_ADAPTER_SOURCES ${SIGNAL_SOURCE_ADAPTER_SOURCES} - two_bit_cpx_file_signal_source.cc - two_bit_packed_file_signal_source.cc - ) - set(SIGNAL_SOURCE_ADAPTER_HEADERS ${SIGNAL_SOURCE_ADAPTER_HEADERS} - two_bit_cpx_file_signal_source.h - two_bit_packed_file_signal_source.h - ) -endif() - list(SORT SIGNAL_SOURCE_ADAPTER_HEADERS) list(SORT SIGNAL_SOURCE_ADAPTER_SOURCES) diff --git a/src/core/receiver/CMakeLists.txt b/src/core/receiver/CMakeLists.txt index 7ce6380c3..560763abb 100644 --- a/src/core/receiver/CMakeLists.txt +++ b/src/core/receiver/CMakeLists.txt @@ -80,11 +80,7 @@ if(ENABLE_RAW_UDP) target_compile_definitions(core_receiver PRIVATE -DRAW_UDP=1) endif() -if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) - target_compile_definitions(core_receiver PRIVATE -DMODERN_GNURADIO=1) -endif() - -if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.20") +if(NOT (GNURADIO_VERSION VERSION_LESS "3.8")) target_compile_definitions(core_receiver PRIVATE -DGR_GREATER_38=1) endif() diff --git a/src/core/receiver/gnss_block_factory.cc b/src/core/receiver/gnss_block_factory.cc index 2159dd307..32de09a96 100644 --- a/src/core/receiver/gnss_block_factory.cc +++ b/src/core/receiver/gnss_block_factory.cc @@ -1299,7 +1299,6 @@ std::unique_ptr GNSSBlockFactory::GetBlock( exit(1); } } -#if MODERN_GNURADIO else if (implementation == "Two_Bit_Cpx_File_Signal_Source") { try @@ -1328,7 +1327,6 @@ std::unique_ptr GNSSBlockFactory::GetBlock( exit(1); } } -#endif else if (implementation == "Spir_File_Signal_Source") { try diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index 4e9e586c1..3053df1d4 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -141,7 +141,7 @@ endif() # Definitions ################################################################################ -if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.20") +if(NOT (GNURADIO_VERSION VERSION_LESS "3.8")) add_definitions(-DGR_GREATER_38=1) endif() From 692cbf3130a1816a1602d4d942b1660681e4c32b Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 27 Apr 2019 18:39:20 +0200 Subject: [PATCH 09/10] Do not use std::cbegin, not available in old versions of gcc --- src/algorithms/tracking/libs/exponential_smoother.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/algorithms/tracking/libs/exponential_smoother.cc b/src/algorithms/tracking/libs/exponential_smoother.cc index f8f19be64..204a1afb1 100644 --- a/src/algorithms/tracking/libs/exponential_smoother.cc +++ b/src/algorithms/tracking/libs/exponential_smoother.cc @@ -116,7 +116,7 @@ float Exponential_Smoother::smooth(float raw) init_buffer_.push_back(smoothed_value); if (init_counter_ == samples_for_initialization_) { - old_value_ = std::accumulate(std::cbegin(init_buffer_), std::cend(init_buffer_), 0.0F) / static_cast(init_buffer_.size()); + old_value_ = std::accumulate(std::begin(init_buffer_), std::end(init_buffer_), 0.0F) / static_cast(init_buffer_.size()); if (old_value_ < (min_value_ + offset_)) { // flush buffer and start again From 879909861cdb9a4067dd88437169a2f7c4d67ee7 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 27 Apr 2019 19:10:38 +0200 Subject: [PATCH 10/10] Inform about GNU Radio version found in summary --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e44d56392..b43465dcb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -715,7 +715,7 @@ endif() find_package(GNURADIO) set_package_properties(GNURADIO PROPERTIES URL "https://www.gnuradio.org/" - DESCRIPTION "The free and open software radio ecosystem" + DESCRIPTION "The free and open software radio ecosystem (found: v${GNURADIO_VERSION})" PURPOSE "Implements flowgraph scheduler, provides some processing blocks and classes to create new ones." TYPE REQUIRED )