From 7a7eeb5a5cdc7e27a88056f3e2eded75b4012329 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 13 Feb 2015 02:17:00 +0100 Subject: [PATCH] Moving blocks to libs. GpsL1CaPcpsAcquisition now accepts cshorts and cbytes --- .../acquisition/adapters/CMakeLists.txt | 50 +++--- .../adapters/gps_l1_ca_pcps_acquisition.cc | 169 ++++++++++++------ .../adapters/gps_l1_ca_pcps_acquisition.h | 6 + .../gnuradio_blocks/CMakeLists.txt | 38 ++-- .../input_filter/adapters/CMakeLists.txt | 5 +- .../gnuradio_blocks/CMakeLists.txt | 12 +- src/algorithms/libs/CMakeLists.txt | 48 ++--- .../byte_x2_to_complex_byte.cc | 0 .../byte_x2_to_complex_byte.h | 0 .../complex_byte_to_float_x2.cc | 0 .../complex_byte_to_float_x2.h | 0 .../complex_float_to_complex_byte.cc | 0 .../complex_float_to_complex_byte.h | 0 .../cshort_to_float_x2.cc | 0 .../cshort_to_float_x2.h | 0 .../short_x2_to_cshort.cc | 0 .../short_x2_to_cshort.h | 0 17 files changed, 187 insertions(+), 141 deletions(-) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/byte_x2_to_complex_byte.cc (100%) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/byte_x2_to_complex_byte.h (100%) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/complex_byte_to_float_x2.cc (100%) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/complex_byte_to_float_x2.h (100%) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/complex_float_to_complex_byte.cc (100%) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/complex_float_to_complex_byte.h (100%) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/cshort_to_float_x2.cc (100%) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/cshort_to_float_x2.h (100%) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/short_x2_to_cshort.cc (100%) rename src/algorithms/{input_filter/gnuradio_blocks => libs}/short_x2_to_cshort.h (100%) diff --git a/src/algorithms/acquisition/adapters/CMakeLists.txt b/src/algorithms/acquisition/adapters/CMakeLists.txt index edbac5b84..781ecd1a5 100644 --- a/src/algorithms/acquisition/adapters/CMakeLists.txt +++ b/src/algorithms/acquisition/adapters/CMakeLists.txt @@ -16,37 +16,25 @@ # along with GNSS-SDR. If not, see . # + +set(ACQ_ADAPTER_SOURCES + gps_l1_ca_pcps_acquisition.cc + gps_l1_ca_pcps_multithread_acquisition.cc + gps_l1_ca_pcps_assisted_acquisition.cc + gps_l1_ca_pcps_acquisition_fine_doppler.cc + gps_l1_ca_pcps_tong_acquisition.cc + gps_l1_ca_pcps_quicksync_acquisition.cc + galileo_e1_pcps_ambiguous_acquisition.cc + galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc + galileo_e1_pcps_quicksync_ambiguous_acquisition.cc + galileo_e1_pcps_tong_ambiguous_acquisition.cc + galileo_e1_pcps_8ms_ambiguous_acquisition.cc + galileo_e5a_noncoherent_iq_acquisition_caf.cc +) + + if(OPENCL_FOUND) - set(ACQ_ADAPTER_SOURCES - gps_l1_ca_pcps_acquisition.cc - gps_l1_ca_pcps_multithread_acquisition.cc - gps_l1_ca_pcps_assisted_acquisition.cc - gps_l1_ca_pcps_acquisition_fine_doppler.cc - gps_l1_ca_pcps_tong_acquisition.cc - gps_l1_ca_pcps_quicksync_acquisition.cc - gps_l1_ca_pcps_opencl_acquisition.cc - galileo_e1_pcps_ambiguous_acquisition.cc - galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc - galileo_e1_pcps_quicksync_ambiguous_acquisition.cc - galileo_e1_pcps_tong_ambiguous_acquisition.cc - galileo_e1_pcps_8ms_ambiguous_acquisition.cc - galileo_e5a_noncoherent_iq_acquisition_caf.cc - ) -else(OPENCL_FOUND) - set(ACQ_ADAPTER_SOURCES - gps_l1_ca_pcps_acquisition.cc - gps_l1_ca_pcps_multithread_acquisition.cc - gps_l1_ca_pcps_assisted_acquisition.cc - gps_l1_ca_pcps_acquisition_fine_doppler.cc - gps_l1_ca_pcps_tong_acquisition.cc - gps_l1_ca_pcps_quicksync_acquisition.cc - galileo_e1_pcps_ambiguous_acquisition.cc - galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc - galileo_e1_pcps_quicksync_ambiguous_acquisition.cc - galileo_e1_pcps_tong_ambiguous_acquisition.cc - galileo_e1_pcps_8ms_ambiguous_acquisition.cc - galileo_e5a_noncoherent_iq_acquisition_caf.cc - ) + set(ACQ_ADAPTER_SOURCES ${ACQ_ADAPTER_SOURCES} gps_l1_ca_pcps_opencl_acquisition.cc) endif(OPENCL_FOUND) include_directories( @@ -60,9 +48,11 @@ include_directories( ${GLOG_INCLUDE_DIRS} ${GFlags_INCLUDE_DIRS} ${GNURADIO_RUNTIME_INCLUDE_DIRS} + ${GNURADIO_BLOCKS_INCLUDE_DIRS} ) file(GLOB ACQ_ADAPTER_HEADERS "*.h") add_library(acq_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS}) source_group(Headers FILES ${ACQ_ADAPTER_HEADERS}) target_link_libraries(acq_adapters gnss_sp_libs acq_gr_blocks ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES}) + diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc index 21eda07cd..dcb216c60 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc @@ -90,25 +90,36 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition( code_= new gr_complex[vector_length_]; - if (item_type_.compare("gr_complex") == 0) - { - item_size_ = sizeof(gr_complex); - acquisition_cc_ = pcps_make_acquisition_cc(sampled_ms_, max_dwells_, - shift_resolution_, if_, fs_in_, code_length_, code_length_, - bit_transition_flag_, queue_, dump_, dump_filename_); + // if (item_type_.compare("gr_complex") == 0 || (item_type_.compare("cshort") == 0)) + // { + item_size_ = sizeof(gr_complex); + acquisition_cc_ = pcps_make_acquisition_cc(sampled_ms_, max_dwells_, + shift_resolution_, if_, fs_in_, code_length_, code_length_, + bit_transition_flag_, queue_, dump_, dump_filename_); - stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); + stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); - DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() - << ")"; - DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() - << ")"; - } - else - { - LOG(WARNING) << item_type_ - << " unknown acquisition item type"; - } + DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() << ")"; + DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() << ")"; + // } + + if (item_type_.compare("cshort") == 0) + { + cshort_to_float_x2_ = make_cshort_to_float_x2(); + float_to_complex_ = gr::blocks::float_to_complex::make(); + } + + if (item_type_.compare("cbyte") == 0) + { + cbyte_to_float_x2_ = make_complex_byte_to_float_x2(); + float_to_complex_ = gr::blocks::float_to_complex::make(); + } + //} + //else + // { + // LOG(WARNING) << item_type_ + // << " unknown acquisition item type"; + // } } @@ -147,30 +158,30 @@ void GpsL1CaPcpsAcquisition::set_threshold(float threshold) DLOG(INFO) <<"Channel "<set_threshold(threshold_); - } + // } } void GpsL1CaPcpsAcquisition::set_doppler_max(unsigned int doppler_max) { doppler_max_ = doppler_max; - if (item_type_.compare("gr_complex") == 0) - { + // if (item_type_.compare("gr_complex") == 0) + // { acquisition_cc_->set_doppler_max(doppler_max_); - } + // } } void GpsL1CaPcpsAcquisition::set_doppler_step(unsigned int doppler_step) { doppler_step_ = doppler_step; - if (item_type_.compare("gr_complex") == 0) - { + // if (item_type_.compare("gr_complex") == 0) + // { acquisition_cc_->set_doppler_step(doppler_step_); - } + // } } @@ -179,33 +190,33 @@ void GpsL1CaPcpsAcquisition::set_channel_queue( concurrent_queue *channel_internal_queue) { channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { + // if (item_type_.compare("gr_complex") == 0) + // { acquisition_cc_->set_channel_queue(channel_internal_queue_); - } + // } } void GpsL1CaPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; - if (item_type_.compare("gr_complex") == 0) - { + // if (item_type_.compare("gr_complex") == 0) + // { acquisition_cc_->set_gnss_synchro(gnss_synchro_); - } + // } } signed int GpsL1CaPcpsAcquisition::mag() { - if (item_type_.compare("gr_complex") == 0) - { - return acquisition_cc_->mag(); - } - else - { - return 0; - } + // // if (item_type_.compare("gr_complex") == 0) + // { + return acquisition_cc_->mag(); + // } + // else + // { + // return 0; + // } } @@ -218,8 +229,8 @@ void GpsL1CaPcpsAcquisition::init() void GpsL1CaPcpsAcquisition::set_local_code() { - if (item_type_.compare("gr_complex") == 0) - { + // if (item_type_.compare("gr_complex") == 0) + // { std::complex* code = new std::complex[code_length_]; gps_l1_ca_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_, 0); @@ -233,24 +244,24 @@ void GpsL1CaPcpsAcquisition::set_local_code() acquisition_cc_->set_local_code(code_); delete[] code; - } + // } } void GpsL1CaPcpsAcquisition::reset() { - if (item_type_.compare("gr_complex") == 0) - { + // if (item_type_.compare("gr_complex") == 0) + // { acquisition_cc_->set_active(true); - } + // } } void GpsL1CaPcpsAcquisition::set_state(int state) { - if (item_type_.compare("gr_complex") == 0) - { + // if (item_type_.compare("gr_complex") == 0) + // { acquisition_cc_->set_state(state); - } + // } } @@ -281,6 +292,24 @@ void GpsL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block) { top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0); } + else if (item_type_.compare("cshort") == 0) + { + top_block->connect(cshort_to_float_x2_, 0, float_to_complex_, 0); + top_block->connect(cshort_to_float_x2_, 1, float_to_complex_, 1); + top_block->connect(float_to_complex_, 0, stream_to_vector_, 0); + top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0); + } + else if (item_type_.compare("cbyte") == 0) + { + top_block->connect(cbyte_to_float_x2_, 0, float_to_complex_, 0); + top_block->connect(cbyte_to_float_x2_, 1, float_to_complex_, 1); + top_block->connect(float_to_complex_, 0, stream_to_vector_, 0); + top_block->connect(stream_to_vector_, 0, acquisition_cc_, 0); + } + else + { + LOG(WARNING) << item_type_ << " unknown acquisition item type"; + } } @@ -288,15 +317,49 @@ void GpsL1CaPcpsAcquisition::connect(gr::top_block_sptr top_block) void GpsL1CaPcpsAcquisition::disconnect(gr::top_block_sptr top_block) { if (item_type_.compare("gr_complex") == 0) - { - top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0); - } + { + top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0); + } + else if (item_type_.compare("cshort") == 0) + { + top_block->disconnect(cshort_to_float_x2_, 0, float_to_complex_, 0); + top_block->disconnect(cshort_to_float_x2_, 1, float_to_complex_, 1); + top_block->disconnect(float_to_complex_, 0, stream_to_vector_, 0); + top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0); + } + else if (item_type_.compare("cbyte") == 0) + { + top_block->disconnect(cbyte_to_float_x2_, 0, float_to_complex_, 0); + top_block->disconnect(cbyte_to_float_x2_, 1, float_to_complex_, 1); + top_block->disconnect(float_to_complex_, 0, stream_to_vector_, 0); + top_block->disconnect(stream_to_vector_, 0, acquisition_cc_, 0); + } + else + { + LOG(WARNING) << item_type_ << " unknown acquisition item type"; + } } gr::basic_block_sptr GpsL1CaPcpsAcquisition::get_left_block() { - return stream_to_vector_; + if (item_type_.compare("gr_complex") == 0) + { + return stream_to_vector_; + } + else if (item_type_.compare("cshort") == 0) + { + return cshort_to_float_x2_; + } + else if (item_type_.compare("cbyte") == 0) + { + return cbyte_to_float_x2_; + } + else + { + LOG(WARNING) << item_type_ << " unknown acquisition item type"; + return nullptr; + } } diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h index b421a815e..077a937ac 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h @@ -39,9 +39,12 @@ #include #include #include +#include #include "gnss_synchro.h" #include "acquisition_interface.h" #include "pcps_acquisition_cc.h" +#include "cshort_to_float_x2.h" +#include "complex_byte_to_float_x2.h" @@ -140,6 +143,9 @@ private: ConfigurationInterface* configuration_; pcps_acquisition_cc_sptr acquisition_cc_; gr::blocks::stream_to_vector::sptr stream_to_vector_; + gr::blocks::float_to_complex::sptr float_to_complex_; + cshort_to_float_x2_sptr cshort_to_float_x2_; + complex_byte_to_float_x2_sptr cbyte_to_float_x2_; size_t item_size_; std::string item_type_; unsigned int vector_length_; diff --git a/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt b/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt index 31f0b26d4..5a1d0d5ce 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt @@ -16,31 +16,21 @@ # along with GNSS-SDR. If not, see . # + +set(ACQ_GR_BLOCKS_SOURCES + pcps_acquisition_cc.cc + pcps_multithread_acquisition_cc.cc + pcps_assisted_acquisition_cc.cc + pcps_acquisition_fine_doppler_cc.cc + pcps_tong_acquisition_cc.cc + pcps_cccwsr_acquisition_cc.cc + pcps_quicksync_acquisition_cc.cc + galileo_pcps_8ms_acquisition_cc.cc + galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc +) + if(OPENCL_FOUND) - set(ACQ_GR_BLOCKS_SOURCES - pcps_acquisition_cc.cc - pcps_multithread_acquisition_cc.cc - pcps_assisted_acquisition_cc.cc - pcps_acquisition_fine_doppler_cc.cc - pcps_tong_acquisition_cc.cc - pcps_cccwsr_acquisition_cc.cc - pcps_quicksync_acquisition_cc.cc - galileo_pcps_8ms_acquisition_cc.cc - galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc - pcps_opencl_acquisition_cc.cc # Needs OpenCL - ) -else(OPENCL_FOUND) - set(ACQ_GR_BLOCKS_SOURCES - pcps_acquisition_cc.cc - pcps_multithread_acquisition_cc.cc - pcps_assisted_acquisition_cc.cc - pcps_acquisition_fine_doppler_cc.cc - pcps_tong_acquisition_cc.cc - pcps_cccwsr_acquisition_cc.cc - pcps_quicksync_acquisition_cc.cc - galileo_pcps_8ms_acquisition_cc.cc - galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc - ) + set(ACQ_GR_BLOCKS_SOURCES ${ACQ_GR_BLOCKS_SOURCES} pcps_opencl_acquisition_cc.cc) endif(OPENCL_FOUND) include_directories( diff --git a/src/algorithms/input_filter/adapters/CMakeLists.txt b/src/algorithms/input_filter/adapters/CMakeLists.txt index 23c59e4d8..019415c9b 100644 --- a/src/algorithms/input_filter/adapters/CMakeLists.txt +++ b/src/algorithms/input_filter/adapters/CMakeLists.txt @@ -27,6 +27,7 @@ include_directories( ${CMAKE_SOURCE_DIR}/src/core/system_parameters ${CMAKE_SOURCE_DIR}/src/core/interfaces ${CMAKE_SOURCE_DIR}/src/algorithms/input_filter/gnuradio_blocks + ${CMAKE_SOURCE_DIR}/src/algorithms/libs ${GLOG_INCLUDE_DIRS} ${GFlags_INCLUDE_DIRS} ${GNURADIO_RUNTIME_INCLUDE_DIRS} @@ -36,5 +37,5 @@ include_directories( file(GLOB INPUT_FILTER_ADAPTER_HEADERS "*.h") add_library(input_filter_adapters ${INPUT_FILTER_ADAPTER_SOURCES} ${INPUT_FILTER_ADAPTER_HEADERS}) source_group(Headers FILES ${INPUT_FILTER_ADAPTER_HEADERS}) -add_dependencies(input_filter_adapters glog-${glog_RELEASE}) -target_link_libraries(input_filter_adapters input_filter_gr_blocks ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES} ${GNURADIO_FILTER_LIBRARIES}) +add_dependencies(input_filter_adapters glog-${glog_RELEASE} gnss_sp_libs) +target_link_libraries(input_filter_adapters input_filter_gr_blocks ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES} ${GNURADIO_FILTER_LIBRARIES} gnss_sp_libs) diff --git a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt index 68d32cb0d..050425bcd 100644 --- a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt @@ -19,11 +19,6 @@ set(INPUT_FILTER_GR_BLOCKS_SOURCES beamformer.cc - complex_byte_to_float_x2.cc - byte_x2_to_complex_byte.cc - cshort_to_float_x2.cc - short_x2_to_cshort.cc - complex_float_to_complex_byte.cc ) include_directories( @@ -32,14 +27,9 @@ include_directories( ${GFlags_INCLUDE_DIRS} ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GNURADIO_BLOCKS_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} ) file(GLOB INPUT_FILTER_GR_BLOCKS_HEADERS "*.h") add_library(input_filter_gr_blocks ${INPUT_FILTER_GR_BLOCKS_SOURCES} ${INPUT_FILTER_GR_BLOCKS_HEADERS}) source_group(Headers FILES ${INPUT_FILTER_GR_BLOCKS_HEADERS}) -target_link_libraries(input_filter_gr_blocks ${GNURADIO_RUNTIME_LIBRARIES} ${VOLK_LIBRARIES} ${VOLK_GNSSSDR_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES}) -if(NOT VOLK_GNSSSDR_FOUND) - add_dependencies(input_filter_gr_blocks volk_gnsssdr_module) -endif(NOT VOLK_GNSSSDR_FOUND) \ No newline at end of file +target_link_libraries(input_filter_gr_blocks ${GNURADIO_RUNTIME_LIBRARIES}) diff --git a/src/algorithms/libs/CMakeLists.txt b/src/algorithms/libs/CMakeLists.txt index a25cc87b5..90ce61d97 100644 --- a/src/algorithms/libs/CMakeLists.txt +++ b/src/algorithms/libs/CMakeLists.txt @@ -16,30 +16,28 @@ # along with GNSS-SDR. If not, see . # + +set(GNSS_SPLIBS_SOURCES + galileo_e1_signal_processing.cc + gnss_sdr_valve.cc + gnss_signal_processing.cc + gps_sdr_signal_processing.cc + nco_lib.cc + pass_through.cc + galileo_e5_signal_processing.cc + complex_byte_to_float_x2.cc + byte_x2_to_complex_byte.cc + cshort_to_float_x2.cc + short_x2_to_cshort.cc + complex_float_to_complex_byte.cc +) + + if(OPENCL_FOUND) - set(GNSS_SPLIBS_SOURCES - galileo_e1_signal_processing.cc - gnss_sdr_valve.cc - gnss_signal_processing.cc - gps_sdr_signal_processing.cc - nco_lib.cc - fix_fft.cc - pass_through.cc + set(GNSS_SPLIBS_SOURCES ${GNSS_SPLIBS_SOURCES} fft_execute.cc # Needs OpenCL fft_setup.cc # Needs OpenCL fft_kernelstring.cc # Needs OpenCL - galileo_e5_signal_processing.cc - ) -else(OPENCL_FOUND) - set(GNSS_SPLIBS_SOURCES - galileo_e1_signal_processing.cc - gnss_sdr_valve.cc - gnss_signal_processing.cc - gps_sdr_signal_processing.cc - nco_lib.cc - fix_fft.cc - pass_through.cc - galileo_e5_signal_processing.cc ) endif(OPENCL_FOUND) @@ -52,7 +50,9 @@ include_directories( ${GLOG_INCLUDE_DIRS} ${GFlags_INCLUDE_DIRS} ${GNURADIO_RUNTIME_INCLUDE_DIRS} + ${GNURADIO_BLOCKS_INCLUDE_DIRS} ${VOLK_INCLUDE_DIRS} + ${VOLK_GNSSSDR_INCLUDE_DIRS} ) if(OPENCL_FOUND) @@ -68,10 +68,16 @@ file(GLOB GNSS_SPLIBS_HEADERS "*.h") add_library(gnss_sp_libs ${GNSS_SPLIBS_SOURCES} ${GNSS_SPLIBS_HEADERS}) source_group(Headers FILES ${GNSS_SPLIBS_HEADERS}) -target_link_libraries(gnss_sp_libs ${GNURADIO_RUNTIME_LIBRARIES} +target_link_libraries(gnss_sp_libs ${GNURADIO_RUNTIME_LIBRARIES} + ${VOLK_LIBRARIES} + ${VOLK_GNSSSDR_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES} ${GNURADIO_FFT_LIBRARIES} ${GNURADIO_FILTER_LIBRARIES} ${OPT_LIBRARIES} gnss_rx ) + +if(NOT VOLK_GNSSSDR_FOUND) + add_dependencies(gnss_sp_libs volk_gnsssdr_module) +endif(NOT VOLK_GNSSSDR_FOUND) diff --git a/src/algorithms/input_filter/gnuradio_blocks/byte_x2_to_complex_byte.cc b/src/algorithms/libs/byte_x2_to_complex_byte.cc similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/byte_x2_to_complex_byte.cc rename to src/algorithms/libs/byte_x2_to_complex_byte.cc diff --git a/src/algorithms/input_filter/gnuradio_blocks/byte_x2_to_complex_byte.h b/src/algorithms/libs/byte_x2_to_complex_byte.h similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/byte_x2_to_complex_byte.h rename to src/algorithms/libs/byte_x2_to_complex_byte.h diff --git a/src/algorithms/input_filter/gnuradio_blocks/complex_byte_to_float_x2.cc b/src/algorithms/libs/complex_byte_to_float_x2.cc similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/complex_byte_to_float_x2.cc rename to src/algorithms/libs/complex_byte_to_float_x2.cc diff --git a/src/algorithms/input_filter/gnuradio_blocks/complex_byte_to_float_x2.h b/src/algorithms/libs/complex_byte_to_float_x2.h similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/complex_byte_to_float_x2.h rename to src/algorithms/libs/complex_byte_to_float_x2.h diff --git a/src/algorithms/input_filter/gnuradio_blocks/complex_float_to_complex_byte.cc b/src/algorithms/libs/complex_float_to_complex_byte.cc similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/complex_float_to_complex_byte.cc rename to src/algorithms/libs/complex_float_to_complex_byte.cc diff --git a/src/algorithms/input_filter/gnuradio_blocks/complex_float_to_complex_byte.h b/src/algorithms/libs/complex_float_to_complex_byte.h similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/complex_float_to_complex_byte.h rename to src/algorithms/libs/complex_float_to_complex_byte.h diff --git a/src/algorithms/input_filter/gnuradio_blocks/cshort_to_float_x2.cc b/src/algorithms/libs/cshort_to_float_x2.cc similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/cshort_to_float_x2.cc rename to src/algorithms/libs/cshort_to_float_x2.cc diff --git a/src/algorithms/input_filter/gnuradio_blocks/cshort_to_float_x2.h b/src/algorithms/libs/cshort_to_float_x2.h similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/cshort_to_float_x2.h rename to src/algorithms/libs/cshort_to_float_x2.h diff --git a/src/algorithms/input_filter/gnuradio_blocks/short_x2_to_cshort.cc b/src/algorithms/libs/short_x2_to_cshort.cc similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/short_x2_to_cshort.cc rename to src/algorithms/libs/short_x2_to_cshort.cc diff --git a/src/algorithms/input_filter/gnuradio_blocks/short_x2_to_cshort.h b/src/algorithms/libs/short_x2_to_cshort.h similarity index 100% rename from src/algorithms/input_filter/gnuradio_blocks/short_x2_to_cshort.h rename to src/algorithms/libs/short_x2_to_cshort.h