From 0f80ce0159944b0749d4d59353546be362bcc184 Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Fri, 15 Apr 2016 16:33:41 +0200 Subject: [PATCH] Channel internal message queue is replaced by the asynchronous GNURadio message system. Removing the deprecated channel internal queue and its references. Some tests that are using the old channel queue are disabled in this version --- ...lileo_e1_pcps_8ms_ambiguous_acquisition.cc | 13 -- ...alileo_e1_pcps_8ms_ambiguous_acquisition.h | 6 - .../galileo_e1_pcps_ambiguous_acquisition.cc | 11 -- .../galileo_e1_pcps_ambiguous_acquisition.h | 6 - ...eo_e1_pcps_cccwsr_ambiguous_acquisition.cc | 14 -- ...leo_e1_pcps_cccwsr_ambiguous_acquisition.h | 6 - ...e1_pcps_quicksync_ambiguous_acquisition.cc | 14 -- ..._e1_pcps_quicksync_ambiguous_acquisition.h | 6 - ...ileo_e1_pcps_tong_ambiguous_acquisition.cc | 13 -- ...lileo_e1_pcps_tong_ambiguous_acquisition.h | 6 - ...ileo_e5a_noncoherent_iq_acquisition_caf.cc | 12 -- ...lileo_e5a_noncoherent_iq_acquisition_caf.h | 6 - .../adapters/gps_l1_ca_pcps_acquisition.cc | 18 -- .../adapters/gps_l1_ca_pcps_acquisition.h | 6 - ...gps_l1_ca_pcps_acquisition_fine_doppler.cc | 9 - .../gps_l1_ca_pcps_acquisition_fine_doppler.h | 6 - .../gps_l1_ca_pcps_assisted_acquisition.cc | 9 - .../gps_l1_ca_pcps_assisted_acquisition.h | 6 - .../gps_l1_ca_pcps_multithread_acquisition.cc | 12 -- .../gps_l1_ca_pcps_multithread_acquisition.h | 6 - .../gps_l1_ca_pcps_opencl_acquisition.cc | 12 -- .../gps_l1_ca_pcps_opencl_acquisition.h | 6 - .../gps_l1_ca_pcps_quicksync_acquisition.cc | 12 -- .../gps_l1_ca_pcps_quicksync_acquisition.h | 6 - .../gps_l1_ca_pcps_tong_acquisition.cc | 12 -- .../gps_l1_ca_pcps_tong_acquisition.h | 6 - .../adapters/gps_l2_m_pcps_acquisition.cc | 12 -- .../adapters/gps_l2_m_pcps_acquisition.h | 6 - ...o_e5a_noncoherent_iq_acquisition_caf_cc.cc | 5 +- ...eo_e5a_noncoherent_iq_acquisition_caf_cc.h | 10 -- .../galileo_pcps_8ms_acquisition_cc.cc | 5 +- .../galileo_pcps_8ms_acquisition_cc.h | 11 -- .../gnuradio_blocks/pcps_acquisition_cc.cc | 11 +- .../gnuradio_blocks/pcps_acquisition_cc.h | 11 -- .../pcps_acquisition_fine_doppler_cc.cc | 5 +- .../pcps_acquisition_fine_doppler_cc.h | 10 -- .../gnuradio_blocks/pcps_acquisition_sc.cc | 5 +- .../gnuradio_blocks/pcps_acquisition_sc.h | 9 - .../pcps_assisted_acquisition_cc.cc | 5 +- .../pcps_assisted_acquisition_cc.h | 9 - .../pcps_cccwsr_acquisition_cc.cc | 5 +- .../pcps_cccwsr_acquisition_cc.h | 10 -- .../pcps_multithread_acquisition_cc.cc | 5 +- .../pcps_multithread_acquisition_cc.h | 10 -- .../pcps_opencl_acquisition_cc.cc | 4 +- .../pcps_opencl_acquisition_cc.h | 11 -- .../pcps_quicksync_acquisition_cc.cc | 5 +- .../pcps_quicksync_acquisition_cc.h | 10 -- .../pcps_tong_acquisition_cc.cc | 5 +- .../pcps_tong_acquisition_cc.h | 10 -- src/algorithms/channel/adapters/channel.cc | 163 ++++++------------ src/algorithms/channel/adapters/channel.h | 25 +-- src/algorithms/channel/libs/channel_fsm.cc | 16 +- src/algorithms/channel/libs/channel_fsm.h | 1 + .../libs/gps_l1_ca_subframe_fsm.cc | 1 - .../libs/gps_l1_ca_subframe_fsm.h | 2 - .../galileo_e1_dll_pll_veml_tracking.cc | 12 -- .../galileo_e1_dll_pll_veml_tracking.h | 5 - .../galileo_e1_tcp_connector_tracking.cc | 12 -- .../galileo_e1_tcp_connector_tracking.h | 5 - .../adapters/galileo_e5a_dll_pll_tracking.cc | 10 -- .../adapters/galileo_e5a_dll_pll_tracking.h | 5 - .../gps_l1_ca_dll_pll_c_aid_tracking.cc | 23 --- .../gps_l1_ca_dll_pll_c_aid_tracking.h | 5 - .../adapters/gps_l1_ca_dll_pll_tracking.cc | 12 -- .../adapters/gps_l1_ca_dll_pll_tracking.h | 5 - .../gps_l1_ca_dll_pll_tracking_gpu.cc | 11 -- .../adapters/gps_l1_ca_dll_pll_tracking_gpu.h | 5 - .../gps_l1_ca_tcp_connector_tracking.cc | 10 -- .../gps_l1_ca_tcp_connector_tracking.h | 5 - .../adapters/gps_l2_m_dll_pll_tracking.cc | 10 -- .../adapters/gps_l2_m_dll_pll_tracking.h | 6 - .../galileo_e1_dll_pll_veml_tracking_cc.cc | 23 ++- .../galileo_e1_dll_pll_veml_tracking_cc.h | 2 - .../galileo_e1_tcp_connector_tracking_cc.cc | 7 - .../galileo_e1_tcp_connector_tracking_cc.h | 2 - .../galileo_e5a_dll_pll_tracking_cc.cc | 8 - .../galileo_e5a_dll_pll_tracking_cc.h | 2 - .../gps_l1_ca_dll_pll_c_aid_tracking_cc.cc | 21 +-- .../gps_l1_ca_dll_pll_c_aid_tracking_cc.h | 2 - .../gps_l1_ca_dll_pll_c_aid_tracking_sc.cc | 7 - .../gps_l1_ca_dll_pll_c_aid_tracking_sc.h | 2 - .../gps_l1_ca_dll_pll_tracking_cc.cc | 22 ++- .../gps_l1_ca_dll_pll_tracking_cc.h | 2 - .../gps_l1_ca_dll_pll_tracking_gpu_cc.cc | 5 - .../gps_l1_ca_dll_pll_tracking_gpu_cc.h | 2 - .../gps_l1_ca_tcp_connector_tracking_cc.cc | 7 - .../gps_l1_ca_tcp_connector_tracking_cc.h | 2 - .../gps_l2_m_dll_pll_tracking_cc.cc | 7 - .../gps_l2_m_dll_pll_tracking_cc.h | 2 - src/core/interfaces/acquisition_interface.h | 1 - src/core/interfaces/channel_interface.h | 3 - src/core/interfaces/tracking_interface.h | 1 - src/core/receiver/gnss_flowgraph.cc | 29 ++-- src/core/receiver/gnss_flowgraph.h | 1 - .../galileo_e1_dll_pll_veml_tracking_test.cc | 10 -- ...8ms_ambiguous_acquisition_gsoc2013_test.cc | 13 -- ...cps_ambiguous_acquisition_gsoc2013_test.cc | 9 - ...e1_pcps_ambiguous_acquisition_gsoc_test.cc | 5 - ...ileo_e1_pcps_ambiguous_acquisition_test.cc | 5 - ...wsr_ambiguous_acquisition_gsoc2013_test.cc | 9 - ...ync_ambiguous_acquisition_gsoc2014_test.cc | 13 -- ...ong_ambiguous_acquisition_gsoc2013_test.cc | 9 - ...cps_acquisition_gsoc2014_gensource_test.cc | 13 -- .../gnss_block/galileo_e5a_tracking_test.cc | 5 - ...ps_l1_ca_pcps_acquisition_gsoc2013_test.cc | 9 - .../gps_l1_ca_pcps_acquisition_test.cc | 5 - ...s_multithread_acquisition_gsoc2013_test.cc | 9 - ...a_pcps_opencl_acquisition_gsoc2013_test.cc | 9 - ...cps_quicksync_acquisition_gsoc2014_test.cc | 13 -- ..._ca_pcps_tong_acquisition_gsoc2013_test.cc | 9 - .../gps_l2_m_dll_pll_tracking_test.cc | 5 - .../gps_l2_m_pcps_acquisition_test.cc | 5 - src/tests/single_test_main.cc | 5 - src/tests/test_main.cc | 38 ++-- src/utils/front-end-cal/main.cc | 2 +- 116 files changed, 166 insertions(+), 971 deletions(-) diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.cc index 8d36a2b4c..cea8ae6ec 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.cc @@ -107,7 +107,6 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; } @@ -178,18 +177,6 @@ GalileoE1Pcps8msAmbiguousAcquisition::set_doppler_step(unsigned int doppler_step } -void -GalileoE1Pcps8msAmbiguousAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GalileoE1Pcps8msAmbiguousAcquisition::set_gnss_synchro( Gnss_Synchro* gnss_synchro) diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.h b/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.h index 2b4b4f417..c63dc22fd 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.h +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.h @@ -104,11 +104,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -154,7 +149,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc index c80d4f46e..01759f1bf 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc @@ -111,7 +111,6 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; } @@ -176,16 +175,6 @@ void GalileoE1PcpsAmbiguousAcquisition::set_doppler_step(unsigned int doppler_st } -void GalileoE1PcpsAmbiguousAcquisition::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GalileoE1PcpsAmbiguousAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.h b/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.h index 066d44f26..5c9c46c31 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.h +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.h @@ -103,11 +103,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -159,7 +154,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc index 844222ec8..6635d71e8 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc @@ -108,7 +108,6 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; } @@ -181,19 +180,6 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::set_doppler_step(unsigned int doppler_s } } - -void -GalileoE1PcpsCccwsrAmbiguousAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GalileoE1PcpsCccwsrAmbiguousAcquisition::set_gnss_synchro( Gnss_Synchro* gnss_synchro) diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.h b/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.h index 0acfd07ee..0aa1a7ae9 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.h +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.h @@ -104,11 +104,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -158,7 +153,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.cc index fc8156c69..01f271d53 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.cc @@ -142,7 +142,6 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; } @@ -212,19 +211,6 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_doppler_step(unsigned int dopple } } - -void -GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GalileoE1PcpsQuickSyncAmbiguousAcquisition::set_gnss_synchro( Gnss_Synchro* gnss_synchro) diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.h b/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.h index ec71e7cb1..e52070f9d 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.h +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.h @@ -104,11 +104,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -161,7 +156,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.cc index 913b80025..62c04e935 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.cc @@ -110,7 +110,6 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; bit_transition_flag_ = false; } @@ -183,18 +182,6 @@ GalileoE1PcpsTongAmbiguousAcquisition::set_doppler_step(unsigned int doppler_ste } -void -GalileoE1PcpsTongAmbiguousAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GalileoE1PcpsTongAmbiguousAcquisition::set_gnss_synchro( Gnss_Synchro* gnss_synchro) diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.h b/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.h index 16c8b1f37..31a90d8da 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.h +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.h @@ -104,11 +104,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -161,7 +156,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.cc b/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.cc index 03b9820cc..7a99a3807 100644 --- a/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.cc +++ b/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.cc @@ -113,7 +113,6 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; bit_transition_flag_ = false; } @@ -182,17 +181,6 @@ void GalileoE5aNoncoherentIQAcquisitionCaf::set_doppler_step(unsigned int dopple } -void GalileoE5aNoncoherentIQAcquisitionCaf::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GalileoE5aNoncoherentIQAcquisitionCaf::set_gnss_synchro( Gnss_Synchro* gnss_synchro) { diff --git a/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.h b/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.h index 4d003abc5..d9adab69a 100644 --- a/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.h +++ b/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.h @@ -106,11 +106,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -168,7 +163,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; #endif /* GALILEO_E5A_NONCOHERENT_IQ_ACQUISITION_CAF_H_ */ 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 e1d6ba8f0..fcdb641be 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc @@ -119,7 +119,6 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition( doppler_max_ = 0; doppler_step_ = 0; gnss_synchro_ = 0; - channel_internal_queue_ = 0; } @@ -202,23 +201,6 @@ void GpsL1CaPcpsAcquisition::set_doppler_step(unsigned int doppler_step) } - -void GpsL1CaPcpsAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - - if (item_type_.compare("cshort") == 0) - { - acquisition_sc_->set_channel_queue(channel_internal_queue_); - } - else - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GpsL1CaPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; 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 35946bbe9..d8686024a 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h @@ -114,11 +114,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -175,7 +170,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.cc index efac99566..4538e3927 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.cc @@ -83,7 +83,6 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler( threshold_ = 0.0; doppler_step_ = 0; gnss_synchro_ = 0; - channel_internal_queue_ = 0; } @@ -121,14 +120,6 @@ void GpsL1CaPcpsAcquisitionFineDoppler::set_doppler_step(unsigned int doppler_st } -void GpsL1CaPcpsAcquisitionFineDoppler::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - acquisition_cc_->set_channel_queue(channel_internal_queue_); -} - - void GpsL1CaPcpsAcquisitionFineDoppler::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.h b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.h index 49364a419..3261fb504 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.h @@ -106,11 +106,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -150,7 +145,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif /* GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_FINE_DOPPLER_H_ */ diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.cc index 94d3f5a95..ee0a4f768 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.cc @@ -86,7 +86,6 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; } @@ -125,14 +124,6 @@ void GpsL1CaPcpsAssistedAcquisition::set_doppler_step(unsigned int doppler_step) } -void GpsL1CaPcpsAssistedAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - acquisition_cc_->set_channel_queue(channel_internal_queue_); -} - - void GpsL1CaPcpsAssistedAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.h index 0827fa2ed..c877126e4 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.h @@ -106,11 +106,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -151,7 +146,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif /* GNSS_SDR_GPS_L1_CA_PCPS_ASSISTED_ACQUISITION_H_ */ diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.cc index 813e2a373..2ab56acf6 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.cc @@ -105,7 +105,6 @@ GpsL1CaPcpsMultithreadAcquisition::GpsL1CaPcpsMultithreadAcquisition( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; } @@ -173,17 +172,6 @@ void GpsL1CaPcpsMultithreadAcquisition::set_doppler_step(unsigned int doppler_st } -void GpsL1CaPcpsMultithreadAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GpsL1CaPcpsMultithreadAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.h index 7c2dd8b31..95d6ec897 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.h @@ -105,11 +105,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -156,7 +151,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.cc index 4dba5e24e..0e3e5d78d 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.cc @@ -102,7 +102,6 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; } @@ -170,17 +169,6 @@ void GpsL1CaPcpsOpenClAcquisition::set_doppler_step(unsigned int doppler_step) } -void GpsL1CaPcpsOpenClAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GpsL1CaPcpsOpenClAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.h index bcdd85f10..f1de99f21 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.h @@ -105,11 +105,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -156,7 +151,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.cc index 2d5be999c..d0fe1d4e8 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.cc @@ -136,7 +136,6 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; } @@ -204,17 +203,6 @@ void GpsL1CaPcpsQuickSyncAcquisition::set_doppler_step(unsigned int doppler_step } -void GpsL1CaPcpsQuickSyncAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GpsL1CaPcpsQuickSyncAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.h index 88f1ebe0c..8142b24bc 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.h @@ -107,11 +107,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -163,7 +158,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.cc index f49ba2f1a..5a01fbe63 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.cc @@ -94,7 +94,6 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; bit_transition_flag_ = false; } @@ -163,17 +162,6 @@ void GpsL1CaPcpsTongAcquisition::set_doppler_step(unsigned int doppler_step) } -void GpsL1CaPcpsTongAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - if (item_type_.compare("gr_complex") == 0) - { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - } -} - - void GpsL1CaPcpsTongAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.h index e4afb6e19..c02010e82 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.h @@ -105,11 +105,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -162,7 +157,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc index 061e54a45..8d2e995b7 100644 --- a/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc @@ -117,7 +117,6 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition( threshold_ = 0.0; doppler_max_ = 5000; doppler_step_ = 250; - channel_internal_queue_ = 0; channel_ = 0; } @@ -187,17 +186,6 @@ void GpsL2MPcpsAcquisition::set_doppler_step(unsigned int doppler_step) } -void GpsL2MPcpsAcquisition::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - // if (item_type_.compare("gr_complex") == 0) - // { - acquisition_cc_->set_channel_queue(channel_internal_queue_); - // } -} - - void GpsL2MPcpsAcquisition::set_gnss_synchro(Gnss_Synchro* gnss_synchro) { gnss_synchro_ = gnss_synchro; diff --git a/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.h b/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.h index 1b441e9a8..84eac9876 100644 --- a/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.h @@ -109,11 +109,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - /*! * \brief Initializes acquisition algorithm. */ @@ -167,7 +162,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - concurrent_queue *channel_internal_queue_; float calculate_threshold(float pfa); }; diff --git a/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc index 84fa61e12..48457faf2 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc @@ -162,7 +162,6 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisit d_code_phase = 0; d_doppler_freq = 0; d_test_statistics = 0; - d_channel_internal_queue = 0; d_CAF_vector = 0; d_CAF_vector_I = 0; d_CAF_vector_Q = 0; @@ -783,7 +782,7 @@ int galileo_e5a_noncoherentIQ_acquisition_caf_cc::general_work(int noutput_items d_state = 0; acquisition_message = 1; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); d_sample_counter += ninput_items[0]; // sample counter consume_each(ninput_items[0]); break; @@ -807,7 +806,7 @@ int galileo_e5a_noncoherentIQ_acquisition_caf_cc::general_work(int noutput_items d_sample_counter += ninput_items[0]; // sample counter consume_each(ninput_items[0]); acquisition_message = 2; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } } diff --git a/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.h b/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.h index 74bf9f32d..64dfe64df 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.h @@ -136,7 +136,6 @@ private: float d_test_statistics; bool d_bit_transition_flag; gr::msg_queue::sptr d_queue; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; int d_state; @@ -245,15 +244,6 @@ public: } - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } - /*! * \brief Parallel Code Phase Search Acquisition signal processing. */ diff --git a/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.cc index b6f336b9c..3baa46bdc 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.cc @@ -101,7 +101,6 @@ galileo_pcps_8ms_acquisition_cc::galileo_pcps_8ms_acquisition_cc( d_code_phase = 0; d_doppler_freq = 0; d_test_statistics = 0; - d_channel_internal_queue = 0; d_channel = 0; } @@ -391,7 +390,7 @@ int galileo_pcps_8ms_acquisition_cc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 1; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } @@ -416,7 +415,7 @@ int galileo_pcps_8ms_acquisition_cc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 2; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } diff --git a/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.h index 693c8d17c..758c61bb8 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.h @@ -105,7 +105,6 @@ private: float d_input_power; float d_test_statistics; gr::msg_queue::sptr d_queue; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; int d_state; @@ -202,16 +201,6 @@ public: d_doppler_step = doppler_step; } - - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } - /*! * \brief Parallel Code Phase Search Acquisition signal processing. */ diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc index 971517312..512075933 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc @@ -70,6 +70,9 @@ pcps_acquisition_cc::pcps_acquisition_cc( gr::io_signature::make(1, 1, sizeof(gr_complex) * sampled_ms * samples_per_ms * ( bit_transition_flag ? 2 : 1 )), gr::io_signature::make(0, 0, sizeof(gr_complex) * sampled_ms * samples_per_ms * ( bit_transition_flag ? 2 : 1 )) ) { + + this->message_port_register_out(pmt::mp("events")); + d_sample_counter = 0; // SAMPLE COUNTER d_active = false; d_state = 0; @@ -127,7 +130,6 @@ pcps_acquisition_cc::pcps_acquisition_cc( d_dump_filename = dump_filename; d_gnss_synchro = 0; - d_channel_internal_queue = 0; d_grid_doppler_wipeoffs = 0; } @@ -450,7 +452,9 @@ int pcps_acquisition_cc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 1; - d_channel_internal_queue->push(acquisition_message); + + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); + break; } @@ -474,7 +478,8 @@ int pcps_acquisition_cc::general_work(int noutput_items, d_sample_counter += d_fft_size * ninput_items[0]; // sample counter consume_each(ninput_items[0]); acquisition_message = 2; - d_channel_internal_queue->push(acquisition_message); + + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.h index b7b4577d6..a0ab23131 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.h @@ -55,7 +55,6 @@ #include #include #include -#include "concurrent_queue.h" #include "gnss_synchro.h" class pcps_acquisition_cc; @@ -124,7 +123,6 @@ private: float d_test_statistics; bool d_bit_transition_flag; bool d_use_CFAR_algorithm_flag; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; int d_state; @@ -221,15 +219,6 @@ public: d_doppler_step = doppler_step; } - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } - /*! * \brief Parallel Code Phase Search Acquisition signal processing. */ diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.cc index d7a7cd364..ce0b951a1 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.cc @@ -104,7 +104,6 @@ pcps_acquisition_fine_doppler_cc::pcps_acquisition_fine_doppler_cc( d_code_phase = 0; d_doppler_freq = 0; d_test_statistics = 0; - d_channel_internal_queue = 0; d_well_count = 0; d_channel = 0; } @@ -503,7 +502,7 @@ int pcps_acquisition_fine_doppler_cc::general_work(int noutput_items, d_active = false; // Send message to channel queue //0=STOP_CHANNEL 1=ACQ_SUCCEES 2=ACQ_FAIL - d_channel_internal_queue->push(1); // 1-> positive acquisition + this->message_port_pub(pmt::mp("events"), pmt::from_long(1)); d_state = 0; break; case 5: // Negative_Acq @@ -519,7 +518,7 @@ int pcps_acquisition_fine_doppler_cc::general_work(int noutput_items, d_active = false; // Send message to channel queue //0=STOP_CHANNEL 1=ACQ_SUCCEES 2=ACQ_FAIL - d_channel_internal_queue->push(2); // 2-> negative acquisition + this->message_port_pub(pmt::mp("events"), pmt::from_long(2)); d_state = 0; break; default: diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.h index 289fd10a5..155b1fc58 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.h @@ -130,7 +130,6 @@ private: float d_input_power; float d_test_statistics; boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; int d_state; bool d_active; @@ -220,15 +219,6 @@ public: void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } - /*! * \brief Parallel Code Phase Search Acquisition signal processing. */ diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc index fe01f2425..610a5adfc 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc @@ -127,7 +127,6 @@ pcps_acquisition_sc::pcps_acquisition_sc( d_dump_filename = dump_filename; d_gnss_synchro = 0; - d_channel_internal_queue = 0; d_grid_doppler_wipeoffs = 0; } @@ -454,7 +453,7 @@ int pcps_acquisition_sc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 1; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } @@ -478,7 +477,7 @@ int pcps_acquisition_sc::general_work(int noutput_items, d_sample_counter += d_fft_size * ninput_items[0]; // sample counter consume_each(ninput_items[0]); acquisition_message = 2; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.h index 81bd1ab55..260d76557 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.h @@ -128,7 +128,6 @@ private: float d_test_statistics; bool d_bit_transition_flag; bool d_use_CFAR_algorithm_flag; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; int d_state; @@ -225,14 +224,6 @@ public: d_doppler_step = doppler_step; } - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } /*! * \brief Parallel Code Phase Search Acquisition signal processing. diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.cc index c7157dd53..d3d6d1b2e 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.cc @@ -107,7 +107,6 @@ pcps_assisted_acquisition_cc::pcps_assisted_acquisition_cc( d_code_phase = 0; d_doppler_freq = 0; d_test_statistics = 0; - d_channel_internal_queue = 0; d_well_count = 0; d_channel = 0; } @@ -463,7 +462,7 @@ int pcps_assisted_acquisition_cc::general_work(int noutput_items, DLOG(INFO) << "input signal power " << d_input_power; d_active = false; // Send message to channel queue //0=STOP_CHANNEL 1=ACQ_SUCCESS 2=ACQ_FAIL - d_channel_internal_queue->push(1); // 1-> positive acquisition + this->message_port_pub(pmt::mp("events"), pmt::from_long(1)); free_grid_memory(); // consume samples to not block the GNU Radio flowgraph d_sample_counter += ninput_items[0]; // sample counter @@ -481,7 +480,7 @@ int pcps_assisted_acquisition_cc::general_work(int noutput_items, DLOG(INFO) << "input signal power " << d_input_power; d_active = false; // Send message to channel queue //0=STOP_CHANNEL 1=ACQ_SUCCESS 2=ACQ_FAIL - d_channel_internal_queue->push(2); // 2-> negative acquisition + this->message_port_pub(pmt::mp("events"), pmt::from_long(2)); free_grid_memory(); // consume samples to not block the GNU Radio flowgraph d_sample_counter += ninput_items[0]; // sample counter diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.h index f5fa35537..ff29b0396 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.h @@ -130,7 +130,6 @@ private: float d_input_power; float d_test_statistics; boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; int d_state; bool d_active; @@ -220,14 +219,6 @@ public: */ void set_doppler_step(unsigned int doppler_step); - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } /*! * \brief Parallel Code Phase Search Acquisition signal processing. diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.cc index 803110d9a..dbd2c650e 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.cc @@ -113,7 +113,6 @@ pcps_cccwsr_acquisition_cc::pcps_cccwsr_acquisition_cc( d_code_phase = 0; d_doppler_freq = 0; d_test_statistics = 0; - d_channel_internal_queue = 0; d_channel = 0; } @@ -416,7 +415,7 @@ int pcps_cccwsr_acquisition_cc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 1; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } @@ -441,7 +440,7 @@ int pcps_cccwsr_acquisition_cc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 2; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.h index 80807cca9..985838fb6 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.h @@ -114,7 +114,6 @@ private: float d_input_power; float d_test_statistics; gr::msg_queue::sptr d_queue; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; int d_state; @@ -212,15 +211,6 @@ public: d_doppler_step = doppler_step; } - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } - /*! * \brief Coherent Channel Combining With Sign Recovery Acquisition signal processing. */ diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.cc index facb1fac2..c6c662c89 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.cc @@ -118,7 +118,6 @@ pcps_multithread_acquisition_cc::pcps_multithread_acquisition_cc( d_code_phase = 0; d_doppler_freq = 0; d_test_statistics = 0; - d_channel_internal_queue = 0; d_channel = 0; } @@ -444,7 +443,7 @@ int pcps_multithread_acquisition_cc::general_work(int noutput_items, d_sample_counter += d_fft_size * ninput_items[0]; // sample counter acquisition_message = 1; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } @@ -468,7 +467,7 @@ int pcps_multithread_acquisition_cc::general_work(int noutput_items, d_sample_counter += d_fft_size * ninput_items[0]; // sample counter acquisition_message = 2; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.h index ed4398ba9..53309af44 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.h @@ -130,7 +130,6 @@ private: float d_test_statistics; bool d_bit_transition_flag; gr::msg_queue::sptr d_queue; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; int d_state; @@ -232,15 +231,6 @@ public: } - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } - /*! * \brief Parallel Code Phase Search Acquisition signal processing. */ diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.cc index a6184b794..22f82a64a 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.cc @@ -796,7 +796,7 @@ int pcps_opencl_acquisition_cc::general_work(int noutput_items, d_sample_counter += d_fft_size * ninput_items[0]; // sample counter acquisition_message = 1; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } @@ -820,7 +820,7 @@ int pcps_opencl_acquisition_cc::general_work(int noutput_items, d_sample_counter += d_fft_size * ninput_items[0]; // sample counter acquisition_message = 2; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.h index f91a7ea86..872b913d3 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.h @@ -139,7 +139,6 @@ private: float d_test_statistics; bool d_bit_transition_flag; gr::msg_queue::sptr d_queue; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; int d_state; @@ -257,16 +256,6 @@ public: d_doppler_step = doppler_step; } - - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } - /*! * \brief Parallel Code Phase Search Acquisition signal processing. */ diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.cc index 6d6d10e11..9078a78cd 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.cc @@ -129,7 +129,6 @@ pcps_quicksync_acquisition_cc::pcps_quicksync_acquisition_cc( d_code_phase = 0; d_doppler_freq = 0; d_test_statistics = 0; - d_channel_internal_queue = 0; d_channel = 0; //d_code_folded = 0; @@ -549,7 +548,7 @@ int pcps_quicksync_acquisition_cc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 1; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); //DLOG(INFO) << "END CASE 2"; break; } @@ -578,7 +577,7 @@ int pcps_quicksync_acquisition_cc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 2; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); //DLOG(INFO) << "END CASE 3"; break; } diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.h index 4f68b368f..e5d8d560c 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.h @@ -146,7 +146,6 @@ private: float d_test_statistics; bool d_bit_transition_flag; gr::msg_queue::sptr d_queue; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; int d_state; @@ -244,15 +243,6 @@ public: } - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } - /*! * \brief Parallel Code Phase Search Acquisition signal processing. */ diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc index dfdd1b093..7af96e3b0 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc @@ -122,7 +122,6 @@ pcps_tong_acquisition_cc::pcps_tong_acquisition_cc( d_code_phase = 0; d_doppler_freq = 0; d_test_statistics = 0; - d_channel_internal_queue = 0; d_channel = 0; } @@ -409,7 +408,7 @@ int pcps_tong_acquisition_cc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 1; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } @@ -434,7 +433,7 @@ int pcps_tong_acquisition_cc::general_work(int noutput_items, consume_each(ninput_items[0]); acquisition_message = 2; - d_channel_internal_queue->push(acquisition_message); + this->message_port_pub(pmt::mp("events"), pmt::from_long(acquisition_message)); break; } diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.h index 2528ba757..559ea098d 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.h @@ -124,7 +124,6 @@ private: float d_input_power; float d_test_statistics; gr::msg_queue::sptr d_queue; - concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; int d_state; @@ -222,15 +221,6 @@ public: } - /*! - * \brief Set tracking channel internal queue. - * \param channel_internal_queue - Channel's internal blocks information queue. - */ - void set_channel_queue(concurrent_queue *channel_internal_queue) - { - d_channel_internal_queue = channel_internal_queue; - } - /*! * \brief Parallel Code Phase Search Acquisition signal processing. */ diff --git a/src/algorithms/channel/adapters/channel.cc b/src/algorithms/channel/adapters/channel.cc index cc235cdac..9c0de5e37 100644 --- a/src/algorithms/channel/adapters/channel.cc +++ b/src/algorithms/channel/adapters/channel.cc @@ -28,29 +28,73 @@ * * ------------------------------------------------------------------------- */ - #include "channel.h" +#include #include #include +#include "channel_interface.h" #include "acquisition_interface.h" #include "tracking_interface.h" #include "telemetry_decoder_interface.h" #include "configuration_interface.h" - - using google::LogMessage; +void Channel::msg_handler_events(pmt::pmt_t msg) +{ + try { + long int message=pmt::to_long(msg); + switch (message) + { + case 1: //positive acquisition + DLOG(INFO) << "Channel " << channel_ << " ACQ SUCCESS satellite " << + gnss_synchro_.System << " " << gnss_synchro_.PRN; + channel_fsm_.Event_valid_acquisition(); + break; + case 2: //negative acquisition + DLOG(INFO) << "Channel " << channel_ + << " ACQ FAILED satellite " << gnss_synchro_.System << " " << gnss_synchro_.PRN; + if (repeat_ == true) + { + channel_fsm_.Event_failed_acquisition_repeat(); + } + else + { + channel_fsm_.Event_failed_acquisition_no_repeat(); + } + break; + case 3: // tracking loss of lock event + channel_fsm_.Event_failed_tracking_standby(); + break; + default: + LOG(WARNING) << "Default case, invalid message."; + break; + } + }catch(boost::bad_any_cast& e) + { + LOG(WARNING) << "msg_handler_telemetry Bad any cast!\n"; + } +} // Constructor Channel::Channel(ConfigurationInterface *configuration, unsigned int channel, GNSSBlockInterface *pass_through, AcquisitionInterface *acq, TrackingInterface *trk, TelemetryDecoderInterface *nav, std::string role, std::string implementation, boost::shared_ptr queue) : - pass_through_(pass_through), acq_(acq), trk_(trk), nav_(nav), - role_(role), implementation_(implementation), channel_(channel), - queue_(queue) + gr::block("galileo_e1_pvt_cc", gr::io_signature::make(0, 0, 0), gr::io_signature::make(0, 0, 0)) { - stop_ = false; + + this->message_port_register_in(pmt::mp("events")); + this->set_msg_handler(pmt::mp("events"), boost::bind(&Channel::msg_handler_events, this, _1)); + + pass_through_=pass_through; + acq_=acq; + trk_=trk; + nav_=nav; + role_=role; + implementation_=implementation; + channel_=channel; + queue_=queue; + acq_->set_channel(channel_); trk_->set_channel(channel_); nav_->set_channel(channel_); @@ -82,31 +126,20 @@ Channel::Channel(ConfigurationInterface *configuration, unsigned int channel, repeat_ = configuration->property("Acquisition_" + implementation_ + boost::lexical_cast(channel_) + ".repeat_satellite", false); DLOG(INFO) << "Channel " << channel_ << " satellite repeat = " << repeat_; - acq_->set_channel_queue(&channel_internal_queue_); - trk_->set_channel_queue(&channel_internal_queue_); - channel_fsm_.set_acquisition(acq_); channel_fsm_.set_tracking(trk_); channel_fsm_.set_channel(channel_); channel_fsm_.set_queue(queue_); connected_ = false; - message_ = 0; gnss_signal_ = Gnss_Signal(); } - // Destructor Channel::~Channel() { - delete acq_; - delete trk_; - delete nav_; - delete pass_through_; } - - void Channel::connect(gr::top_block_sptr top_block) { if (connected_) @@ -130,11 +163,15 @@ void Channel::connect(gr::top_block_sptr top_block) // Message ports top_block->msg_connect(nav_->get_left_block(),pmt::mp("preamble_timestamp_s"),trk_->get_right_block(),pmt::mp("preamble_timestamp_s")); DLOG(INFO) << "MSG FEEDBACK CHANNEL telemetry_decoder -> tracking"; + + //std::cout<<"has port: "<get_right_block()->has_msg_port(pmt::mp("events"))<msg_connect(acq_->get_right_block(),pmt::mp("events"), gr::basic_block_sptr(this),pmt::mp("events")); + top_block->msg_connect(trk_->get_right_block(),pmt::mp("events"), gr::basic_block_sptr(this),pmt::mp("events")); + connected_ = true; } - void Channel::disconnect(gr::top_block_sptr top_block) { if (!connected_) @@ -152,22 +189,17 @@ void Channel::disconnect(gr::top_block_sptr top_block) connected_ = false; } - - gr::basic_block_sptr Channel::get_left_block() { return pass_through_->get_left_block(); } - - gr::basic_block_sptr Channel::get_right_block() { return nav_->get_right_block(); } - void Channel::set_signal(const Gnss_Signal& gnss_signal) { gnss_signal_ = gnss_signal; @@ -181,90 +213,7 @@ void Channel::set_signal(const Gnss_Signal& gnss_signal) nav_->set_satellite(gnss_signal_.get_satellite()); } - - void Channel::start_acquisition() { channel_fsm_.Event_start_acquisition(); } - - - -void Channel::start() -{ - ch_thread_ = std::thread(&Channel::run, this); -} - - - -void Channel::run() -{ - while (!stop_) - { - channel_internal_queue_.wait_and_pop(message_); - process_channel_messages(); - } -} - - - -void Channel::standby() -{ - channel_fsm_.Event_failed_tracking_standby(); -} - - - -/* - * Set stop_ to true and blocks the calling thread until - * the thread of the constructor has completed - */ -void Channel::stop() -{ - stop_ = true; - channel_internal_queue_.push(0); //message to stop channel - /* When the std::thread object that represents a thread of execution - * is destroyed the thread becomes detached. Once a thread is detached, - * it will continue executing until the invocation of the function or - * callable object supplied on construction has completed, - * or the program is terminated. In order to wait for a thread of - * execution to finish, the join() member function of - * the std::thread object must be used. join() will block the calling - * thread until the thread represented by the std::thread object - * has completed. - */ - ch_thread_.join(); -} - - - -void Channel::process_channel_messages() -{ - switch (message_) - { - case 0: - DLOG(INFO) << "Stop channel " << channel_; - break; - case 1: - DLOG(INFO) << "Channel " << channel_ << " ACQ SUCCESS satellite " << - gnss_synchro_.System << " " << gnss_synchro_.PRN; - channel_fsm_.Event_valid_acquisition(); - break; - case 2: - DLOG(INFO) << "Channel " << channel_ - << " ACQ FAILED satellite " << gnss_synchro_.System << " " << gnss_synchro_.PRN; - if (repeat_ == true) - { - channel_fsm_.Event_failed_acquisition_repeat(); - } - else - { - channel_fsm_.Event_failed_acquisition_no_repeat(); - } - break; - default: - LOG(WARNING) << "Default case, invalid message."; - break; - } -} - diff --git a/src/algorithms/channel/adapters/channel.h b/src/algorithms/channel/adapters/channel.h index 215e7c7eb..b82ee8a7b 100644 --- a/src/algorithms/channel/adapters/channel.h +++ b/src/algorithms/channel/adapters/channel.h @@ -35,12 +35,12 @@ #ifndef GNSS_SDR_CHANNEL_H_ #define GNSS_SDR_CHANNEL_H_ +#include #include -#include #include +#include #include "channel_interface.h" #include "channel_fsm.h" -#include "concurrent_queue.h" #include "gnss_synchro.h" @@ -55,8 +55,9 @@ class TelemetryDecoderInterface; * their interaction through a Finite State Machine * */ -class Channel: public ChannelInterface +class Channel: public ChannelInterface, public gr::block { + public: //! Constructor Channel(ConfigurationInterface *configuration, unsigned int channel, @@ -81,13 +82,9 @@ public: TelemetryDecoderInterface* telemetry(){ return nav_; } void start_acquisition(); //!< Start the State Machine void set_signal(const Gnss_Signal& gnss_signal_); //!< Sets the channel GNSS signal - void start(); //!< Start the thread - void standby(); - /*! - * \brief Set stop_ to true and blocks the calling thread until - * the thread of the constructor has completed - */ - void stop(); + + void msg_handler_events(pmt::pmt_t msg); + private: GNSSBlockInterface *pass_through_; @@ -100,15 +97,11 @@ private: Gnss_Synchro gnss_synchro_; Gnss_Signal gnss_signal_; bool connected_; - bool stop_; - int message_; + //bool stop_; + //int message_; bool repeat_; ChannelFsm channel_fsm_; boost::shared_ptr queue_; - concurrent_queue channel_internal_queue_; - std::thread ch_thread_; - void run(); - void process_channel_messages(); }; #endif /*GNSS_SDR_CHANNEL_H_*/ diff --git a/src/algorithms/channel/libs/channel_fsm.cc b/src/algorithms/channel/libs/channel_fsm.cc index dcfc0ca47..a03da509b 100644 --- a/src/algorithms/channel/libs/channel_fsm.cc +++ b/src/algorithms/channel/libs/channel_fsm.cc @@ -92,10 +92,16 @@ public: channel_tracking_fsm_S2(my_context ctx) : my_base(ctx) { - //std::cout << "Enter Channel_tracking_S2 " << std::endl; + //std::cout << "Enter Channel_tracking_S2 " << std::endl; context ().start_tracking(); } + ~channel_tracking_fsm_S2() + { + //std::cout << "Exit Channel_tracking_S2 " << std::endl; + context ().notify_stop_tracking(); + } + }; @@ -223,3 +229,11 @@ void ChannelFsm::request_satellite() } } +void ChannelFsm::notify_stop_tracking() +{ + std::unique_ptr cmf(new ControlMessageFactory()); + if (queue_ != gr::msg_queue::make()) + { + queue_->handle(cmf->GetQueueMessage(channel_, 2)); + } +} diff --git a/src/algorithms/channel/libs/channel_fsm.h b/src/algorithms/channel/libs/channel_fsm.h index 95d7b7dce..6fa2a6d41 100644 --- a/src/algorithms/channel/libs/channel_fsm.h +++ b/src/algorithms/channel/libs/channel_fsm.h @@ -64,6 +64,7 @@ public: void start_acquisition(); void start_tracking(); void request_satellite(); + void notify_stop_tracking(); //FSM EVENTS void Event_start_acquisition(); diff --git a/src/algorithms/telemetry_decoder/libs/gps_l1_ca_subframe_fsm.cc b/src/algorithms/telemetry_decoder/libs/gps_l1_ca_subframe_fsm.cc index 1f0e7971c..f1db84183 100644 --- a/src/algorithms/telemetry_decoder/libs/gps_l1_ca_subframe_fsm.cc +++ b/src/algorithms/telemetry_decoder/libs/gps_l1_ca_subframe_fsm.cc @@ -238,7 +238,6 @@ GpsL1CaSubframeFsm::GpsL1CaSubframeFsm() d_nav.reset(); i_channel_ID = 0; i_satellite_PRN = 0; - d_almanac_queue = 0; d_preamble_time_ms = 0; d_subframe_ID=0; d_flag_new_subframe=false; diff --git a/src/algorithms/telemetry_decoder/libs/gps_l1_ca_subframe_fsm.h b/src/algorithms/telemetry_decoder/libs/gps_l1_ca_subframe_fsm.h index 2193ceb21..0a577502b 100644 --- a/src/algorithms/telemetry_decoder/libs/gps_l1_ca_subframe_fsm.h +++ b/src/algorithms/telemetry_decoder/libs/gps_l1_ca_subframe_fsm.h @@ -71,8 +71,6 @@ public: int i_channel_ID; //!< Channel id unsigned int i_satellite_PRN; //!< Satellite PRN number - concurrent_queue *d_almanac_queue; //!< Almanac queue - Gps_Navigation_Message d_nav; //!< GPS L1 C/A navigation message object // GPS SV and System parameters diff --git a/src/algorithms/tracking/adapters/galileo_e1_dll_pll_veml_tracking.cc b/src/algorithms/tracking/adapters/galileo_e1_dll_pll_veml_tracking.cc index 1f1fea87e..82d8e1d0d 100755 --- a/src/algorithms/tracking/adapters/galileo_e1_dll_pll_veml_tracking.cc +++ b/src/algorithms/tracking/adapters/galileo_e1_dll_pll_veml_tracking.cc @@ -100,7 +100,6 @@ GalileoE1DllPllVemlTracking::GalileoE1DllPllVemlTracking( } channel_ = 0; - channel_internal_queue_ = 0; DLOG(INFO) << "tracking(" << tracking_->unique_id() << ")"; } @@ -122,17 +121,6 @@ void GalileoE1DllPllVemlTracking::set_channel(unsigned int channel) tracking_->set_channel(channel); } -/* - * Set tracking channel internal queue - */ -void GalileoE1DllPllVemlTracking::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - - tracking_->set_channel_queue(channel_internal_queue_); - -} void GalileoE1DllPllVemlTracking::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { diff --git a/src/algorithms/tracking/adapters/galileo_e1_dll_pll_veml_tracking.h b/src/algorithms/tracking/adapters/galileo_e1_dll_pll_veml_tracking.h index c95d1da4b..5d6a770f8 100755 --- a/src/algorithms/tracking/adapters/galileo_e1_dll_pll_veml_tracking.h +++ b/src/algorithms/tracking/adapters/galileo_e1_dll_pll_veml_tracking.h @@ -93,10 +93,6 @@ public: */ void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); void start_tracking(); @@ -108,7 +104,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif // GNSS_SDR_GALILEO_E1_DLL_PLL_VEML_TRACKING_H_ diff --git a/src/algorithms/tracking/adapters/galileo_e1_tcp_connector_tracking.cc b/src/algorithms/tracking/adapters/galileo_e1_tcp_connector_tracking.cc index b7b004645..a6aa448df 100644 --- a/src/algorithms/tracking/adapters/galileo_e1_tcp_connector_tracking.cc +++ b/src/algorithms/tracking/adapters/galileo_e1_tcp_connector_tracking.cc @@ -100,7 +100,6 @@ GalileoE1TcpConnectorTracking::GalileoE1TcpConnectorTracking( LOG(WARNING) << item_type << " unknown tracking item type."; } channel_ = 0; - channel_internal_queue_ = 0; DLOG(INFO) << "tracking(" << tracking_->unique_id() << ")"; } @@ -123,17 +122,6 @@ void GalileoE1TcpConnectorTracking::set_channel(unsigned int channel) tracking_->set_channel(channel); } -/* - * Set tracking channel internal queue - */ -void GalileoE1TcpConnectorTracking::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - - tracking_->set_channel_queue(channel_internal_queue_); - -} void GalileoE1TcpConnectorTracking::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { diff --git a/src/algorithms/tracking/adapters/galileo_e1_tcp_connector_tracking.h b/src/algorithms/tracking/adapters/galileo_e1_tcp_connector_tracking.h index 65b7d9adc..116cb99cb 100644 --- a/src/algorithms/tracking/adapters/galileo_e1_tcp_connector_tracking.h +++ b/src/algorithms/tracking/adapters/galileo_e1_tcp_connector_tracking.h @@ -94,10 +94,6 @@ public: */ void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); void start_tracking(); @@ -109,7 +105,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif // GNSS_SDR_GALILEO_E1_TCP_CONNECTOR_TRACKING_H_ diff --git a/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.cc b/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.cc index 72745f852..f83b1fc7b 100644 --- a/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.cc +++ b/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.cc @@ -107,7 +107,6 @@ GalileoE5aDllPllTracking::GalileoE5aDllPllTracking( LOG(WARNING) << item_type << " unknown tracking item type."; } channel_ = 0; - channel_internal_queue_ = 0; DLOG(INFO) << "tracking(" << tracking_->unique_id() << ")"; } @@ -130,15 +129,6 @@ void GalileoE5aDllPllTracking::set_channel(unsigned int channel) tracking_->set_channel(channel); } -/* - * Set tracking channel internal queue - */ -void GalileoE5aDllPllTracking::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - tracking_->set_channel_queue(channel_internal_queue_); -} void GalileoE5aDllPllTracking::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { diff --git a/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.h b/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.h index 3cde14d1e..70dc982ab 100644 --- a/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.h +++ b/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking.h @@ -92,10 +92,6 @@ public: */ void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); void start_tracking(); @@ -107,7 +103,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif /* GNSS_SDR_GALILEO_E5A_DLL_PLL_TRACKING_H_ */ diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.cc b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.cc index a3aea8d1a..8f13987d5 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.cc +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.cc @@ -122,7 +122,6 @@ GpsL1CaDllPllCAidTracking::GpsL1CaDllPllCAidTracking( LOG(WARNING) << item_type_ << " unknown tracking item type."; } channel_ = 0; - channel_internal_queue_ = 0; } @@ -168,28 +167,6 @@ void GpsL1CaDllPllCAidTracking::set_channel(unsigned int channel) } } -/* - * Set tracking channel internal queue - */ -void GpsL1CaDllPllCAidTracking::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - - if (item_type_.compare("gr_complex") == 0) - { - tracking_cc->set_channel_queue(channel_internal_queue_); - } - else if (item_type_.compare("cshort") == 0) - { - tracking_sc->set_channel_queue(channel_internal_queue_); - } - else - { - LOG(WARNING) << item_type_ << " unknown tracking item type"; - } -} - void GpsL1CaDllPllCAidTracking::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { if (item_type_.compare("gr_complex") == 0) diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.h b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.h index 95b8b2e42..9b3225b2e 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.h +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.h @@ -94,10 +94,6 @@ public: */ void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); void start_tracking(); @@ -111,7 +107,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif // GNSS_SDR_GPS_L1_CA_DLL_PLL_C_AID_TRACKING_H_ diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.cc b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.cc index 60fc03880..cc5b4332f 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.cc +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.cc @@ -95,7 +95,6 @@ GpsL1CaDllPllTracking::GpsL1CaDllPllTracking( LOG(WARNING) << item_type << " unknown tracking item type."; } channel_ = 0; - channel_internal_queue_ = 0; DLOG(INFO) << "tracking(" << tracking_->unique_id() << ")"; } @@ -120,17 +119,6 @@ void GpsL1CaDllPllTracking::set_channel(unsigned int channel) } -/* - * Set tracking channel internal queue - */ -void GpsL1CaDllPllTracking::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - tracking_->set_channel_queue(channel_internal_queue_); -} - - void GpsL1CaDllPllTracking::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { tracking_->set_gnss_synchro(p_gnss_synchro); diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.h b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.h index 322a3b2c2..5ba86a03f 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.h +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking.h @@ -93,10 +93,6 @@ public: */ void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); void start_tracking(); @@ -108,7 +104,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif // GNSS_SDR_GPS_L1_CA_DLL_PLL_TRACKING_H_ diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_gpu.cc b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_gpu.cc index 4ae8864b0..c94a55854 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_gpu.cc +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_gpu.cc @@ -96,7 +96,6 @@ GpsL1CaDllPllTrackingGPU::GpsL1CaDllPllTrackingGPU( LOG(WARNING) << item_type << " unknown tracking item type."; } channel_ = 0; - channel_internal_queue_ = 0; DLOG(INFO) << "tracking(" << tracking_->unique_id() << ")"; } @@ -119,16 +118,6 @@ void GpsL1CaDllPllTrackingGPU::set_channel(unsigned int channel) tracking_->set_channel(channel); } -/* - * Set tracking channel internal queue - */ -void GpsL1CaDllPllTrackingGPU::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - tracking_->set_channel_queue(channel_internal_queue_); -} - void GpsL1CaDllPllTrackingGPU::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { tracking_->set_gnss_synchro(p_gnss_synchro); diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_gpu.h b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_gpu.h index 36034e1f9..674b25887 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_gpu.h +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_gpu.h @@ -91,10 +91,6 @@ public: */ void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); void start_tracking(); @@ -106,7 +102,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif // GNSS_SDR_GPS_L1_CA_DLL_PLL_TRACKING_GPU_H_ diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_tcp_connector_tracking.cc b/src/algorithms/tracking/adapters/gps_l1_ca_tcp_connector_tracking.cc index 0ca1c9142..e179059b9 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_tcp_connector_tracking.cc +++ b/src/algorithms/tracking/adapters/gps_l1_ca_tcp_connector_tracking.cc @@ -93,7 +93,6 @@ GpsL1CaTcpConnectorTracking::GpsL1CaTcpConnectorTracking( } channel_ = 0; - channel_internal_queue_ = 0; DLOG(INFO) << "tracking(" << tracking_->unique_id() << ")"; } @@ -116,15 +115,6 @@ void GpsL1CaTcpConnectorTracking::set_channel(unsigned int channel) tracking_->set_channel(channel); } -/* - * Set tracking channel internal queue - */ -void GpsL1CaTcpConnectorTracking::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - tracking_->set_channel_queue(channel_internal_queue_); -} void GpsL1CaTcpConnectorTracking::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_tcp_connector_tracking.h b/src/algorithms/tracking/adapters/gps_l1_ca_tcp_connector_tracking.h index fdb182981..78b83ade8 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_tcp_connector_tracking.h +++ b/src/algorithms/tracking/adapters/gps_l1_ca_tcp_connector_tracking.h @@ -94,10 +94,6 @@ public: */ void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); void start_tracking(); @@ -112,7 +108,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif // GNSS_SDR_GPS_L1_CA_TCP_CONNECTOR_TRACKING_H_ diff --git a/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.cc b/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.cc index 280b85d6c..c80266613 100644 --- a/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.cc +++ b/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.cc @@ -95,7 +95,6 @@ GpsL2MDllPllTracking::GpsL2MDllPllTracking( LOG(WARNING) << item_type << " unknown tracking item type."; } channel_ = 0; - channel_internal_queue_ = 0; DLOG(INFO) << "tracking(" << tracking_->unique_id() << ")"; } @@ -118,15 +117,6 @@ void GpsL2MDllPllTracking::set_channel(unsigned int channel) tracking_->set_channel(channel); } -/* - * Set tracking channel internal queue - */ -void GpsL2MDllPllTracking::set_channel_queue( - concurrent_queue *channel_internal_queue) -{ - channel_internal_queue_ = channel_internal_queue; - tracking_->set_channel_queue(channel_internal_queue_); -} void GpsL2MDllPllTracking::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { diff --git a/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.h b/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.h index 5ab564d9b..914187760 100644 --- a/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.h +++ b/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking.h @@ -93,11 +93,6 @@ public: */ void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); - /*! - * \brief Set tracking channel internal queue - */ - void set_channel_queue(concurrent_queue *channel_internal_queue); - void start_tracking(); private: @@ -108,7 +103,6 @@ private: unsigned int in_streams_; unsigned int out_streams_; boost::shared_ptr queue_; - concurrent_queue *channel_internal_queue_; }; #endif // GNSS_SDR_gps_l2_m_dll_pll_tracking_H_ diff --git a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_dll_pll_veml_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_dll_pll_veml_tracking_cc.cc index e929c81c3..f431a157f 100755 --- a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_dll_pll_veml_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_dll_pll_veml_tracking_cc.cc @@ -107,6 +107,9 @@ galileo_e1_dll_pll_veml_tracking_cc::galileo_e1_dll_pll_veml_tracking_cc( // Telemetry bit synchronization message port input this->message_port_register_in(pmt::mp("preamble_timestamp_s")); this->set_relative_rate(1.0 / vector_length); + + this->message_port_register_out(pmt::mp("events")); + // initialize internal vars d_queue = queue; d_dump = dump; @@ -190,7 +193,6 @@ galileo_e1_dll_pll_veml_tracking_cc::galileo_e1_dll_pll_veml_tracking_cc( *d_Late = gr_complex(0,0); *d_Very_Late = gr_complex(0,0); - d_channel_internal_queue = 0; d_acquisition_gnss_synchro = 0; d_channel = 0; d_acq_code_phase_samples = 0.0; @@ -383,11 +385,14 @@ int galileo_e1_dll_pll_veml_tracking_cc::general_work (int noutput_items __attri { std::cout << "Loss of lock in channel " << d_channel << "!" << std::endl; LOG(INFO) << "Loss of lock in channel " << d_channel << "!"; - std::unique_ptr cmf(new ControlMessageFactory()); - if (d_queue != gr::msg_queue::sptr()) - { - d_queue->handle(cmf->GetQueueMessage(d_channel, 2)); - } + pmt::pmt_t value = pmt::from_long(3);//3 -> loss of lock + this->message_port_pub(pmt::mp("events"), value); + +// std::unique_ptr cmf(new ControlMessageFactory()); +// if (d_queue != gr::msg_queue::sptr()) +// { +// d_queue->handle(cmf->GetQueueMessage(d_channel, 2)); +// } d_carrier_lock_fail_counter = 0; d_enable_tracking = false; // TODO: check if disabling tracking is consistent with the channel state machine } @@ -523,12 +528,6 @@ void galileo_e1_dll_pll_veml_tracking_cc::set_channel(unsigned int channel) -void galileo_e1_dll_pll_veml_tracking_cc::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - d_channel_internal_queue = channel_internal_queue; -} - - void galileo_e1_dll_pll_veml_tracking_cc::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { diff --git a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_dll_pll_veml_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_dll_pll_veml_tracking_cc.h index f443f561a..e10eb09fe 100755 --- a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_dll_pll_veml_tracking_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_dll_pll_veml_tracking_cc.h @@ -71,7 +71,6 @@ public: void set_channel(unsigned int channel); void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); void start_tracking(); - void set_channel_queue(concurrent_queue *channel_internal_queue); /*! * \brief Code DLL + carrier PLL according to the algorithms described in: @@ -113,7 +112,6 @@ private: // tracking configuration vars boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; diff --git a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.cc index a0dd8dbb9..c12987957 100644 --- a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.cc @@ -187,7 +187,6 @@ Galileo_E1_Tcp_Connector_Tracking_cc::Galileo_E1_Tcp_Connector_Tracking_cc( d_carrier_lock_threshold = CARRIER_LOCK_THRESHOLD; systemName["E"] = std::string("Galileo"); - d_channel_internal_queue = 0; d_acquisition_gnss_synchro = 0; d_channel = 0; d_next_rem_code_phase_samples = 0; @@ -541,12 +540,6 @@ void Galileo_E1_Tcp_Connector_Tracking_cc::set_channel(unsigned int channel) -void Galileo_E1_Tcp_Connector_Tracking_cc::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - d_channel_internal_queue = channel_internal_queue; -} - - void Galileo_E1_Tcp_Connector_Tracking_cc::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { d_acquisition_gnss_synchro = p_gnss_synchro; diff --git a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.h index 7c9f4acf4..bc103fc43 100644 --- a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.h @@ -80,7 +80,6 @@ public: void set_channel(unsigned int channel); void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); void start_tracking(); - void set_channel_queue(concurrent_queue *channel_internal_queue); int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); @@ -118,7 +117,6 @@ private: // tracking configuration vars boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; diff --git a/src/algorithms/tracking/gnuradio_blocks/galileo_e5a_dll_pll_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/galileo_e5a_dll_pll_tracking_cc.cc index b15d9c7bc..fb1cdc921 100644 --- a/src/algorithms/tracking/gnuradio_blocks/galileo_e5a_dll_pll_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/galileo_e5a_dll_pll_tracking_cc.cc @@ -193,7 +193,6 @@ Galileo_E5a_Dll_Pll_Tracking_cc::Galileo_E5a_Dll_Pll_Tracking_cc( d_carrier_lock_fail_counter = 0; d_carrier_lock_threshold = CARRIER_LOCK_THRESHOLD; - d_channel_internal_queue = 0; d_acquisition_gnss_synchro = 0; d_channel = 0; tmp_E = 0; @@ -754,13 +753,6 @@ void Galileo_E5a_Dll_Pll_Tracking_cc::set_channel(unsigned int channel) } - -void Galileo_E5a_Dll_Pll_Tracking_cc::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - d_channel_internal_queue = channel_internal_queue; -} - - void Galileo_E5a_Dll_Pll_Tracking_cc::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { d_acquisition_gnss_synchro = p_gnss_synchro; diff --git a/src/algorithms/tracking/gnuradio_blocks/galileo_e5a_dll_pll_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/galileo_e5a_dll_pll_tracking_cc.h index 898f26a90..d67cd94e7 100644 --- a/src/algorithms/tracking/gnuradio_blocks/galileo_e5a_dll_pll_tracking_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/galileo_e5a_dll_pll_tracking_cc.h @@ -80,7 +80,6 @@ public: void set_channel(unsigned int channel); void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); void start_tracking(); - void set_channel_queue(concurrent_queue *channel_internal_queue); int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); @@ -117,7 +116,6 @@ private: void acquire_secondary(); // tracking configuration vars boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; int d_current_ti_ms; int d_ti_ms; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc index 5c66436b9..cfad63678 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc @@ -122,7 +122,7 @@ gps_l1_ca_dll_pll_c_aid_tracking_cc::gps_l1_ca_dll_pll_c_aid_tracking_cc( this->set_msg_handler(pmt::mp("preamble_timestamp_s"), boost::bind(&gps_l1_ca_dll_pll_c_aid_tracking_cc::msg_handler_preamble_index, this, _1)); - + this->message_port_register_out(pmt::mp("events")); // initialize internal vars d_queue = queue; d_dump = dump; @@ -193,7 +193,6 @@ gps_l1_ca_dll_pll_c_aid_tracking_cc::gps_l1_ca_dll_pll_c_aid_tracking_cc( set_relative_rate(1.0 / static_cast(d_vector_length)); - d_channel_internal_queue = 0; d_acquisition_gnss_synchro = 0; d_channel = 0; d_acq_code_phase_samples = 0.0; @@ -549,11 +548,14 @@ int gps_l1_ca_dll_pll_c_aid_tracking_cc::general_work (int noutput_items __attri { std::cout << "Loss of lock in channel " << d_channel << "!" << std::endl; LOG(INFO) << "Loss of lock in channel " << d_channel << "!"; - std::unique_ptr cmf(new ControlMessageFactory()); - if (d_queue != gr::msg_queue::sptr()) - { - d_queue->handle(cmf->GetQueueMessage(d_channel, 2)); - } + pmt::pmt_t value = pmt::from_long(3);//3 -> loss of lock + this->message_port_pub(pmt::mp("events"), value); + + //std::unique_ptr cmf(new ControlMessageFactory()); + //if (d_queue != gr::msg_queue::sptr()) + // { + // d_queue->handle(cmf->GetQueueMessage(d_channel, 2)); + // } d_carrier_lock_fail_counter = 0; d_enable_tracking = false; // TODO: check if disabling tracking is consistent with the channel state machine } @@ -691,11 +693,6 @@ void gps_l1_ca_dll_pll_c_aid_tracking_cc::set_channel(unsigned int channel) } -void gps_l1_ca_dll_pll_c_aid_tracking_cc::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - d_channel_internal_queue = channel_internal_queue; -} - void gps_l1_ca_dll_pll_c_aid_tracking_cc::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.h index 338d6441b..219170b62 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.h @@ -83,7 +83,6 @@ public: void set_channel(unsigned int channel); void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); void start_tracking(); - void set_channel_queue(concurrent_queue *channel_internal_queue); int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); @@ -120,7 +119,6 @@ private: // tracking configuration vars boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.cc index 76fd901fc..ba79f15d4 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.cc @@ -175,7 +175,6 @@ gps_l1_ca_dll_pll_c_aid_tracking_sc::gps_l1_ca_dll_pll_c_aid_tracking_sc( set_relative_rate(1.0 / (static_cast(d_vector_length) * 2.0)); - d_channel_internal_queue = 0; d_acquisition_gnss_synchro = 0; d_channel = 0; d_acq_code_phase_samples = 0.0; @@ -552,12 +551,6 @@ void gps_l1_ca_dll_pll_c_aid_tracking_sc::set_channel(unsigned int channel) } -void gps_l1_ca_dll_pll_c_aid_tracking_sc::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - d_channel_internal_queue = channel_internal_queue; -} - - void gps_l1_ca_dll_pll_c_aid_tracking_sc::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { d_acquisition_gnss_synchro = p_gnss_synchro; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.h index bf97b9a44..3d1872ba7 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.h +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.h @@ -84,7 +84,6 @@ public: void set_channel(unsigned int channel); void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); void start_tracking(); - void set_channel_queue(concurrent_queue *channel_internal_queue); int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); @@ -119,7 +118,6 @@ private: // tracking configuration vars boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc index ffcd09b18..a51913ee2 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.cc @@ -105,6 +105,9 @@ Gps_L1_Ca_Dll_Pll_Tracking_cc::Gps_L1_Ca_Dll_Pll_Tracking_cc( { // Telemetry bit synchronization message port input this->message_port_register_in(pmt::mp("preamble_timestamp_s")); + + this->message_port_register_out(pmt::mp("events")); + // initialize internal vars d_queue = queue; d_dump = dump; @@ -168,7 +171,6 @@ Gps_L1_Ca_Dll_Pll_Tracking_cc::Gps_L1_Ca_Dll_Pll_Tracking_cc( systemName["G"] = std::string("GPS"); systemName["S"] = std::string("SBAS"); - d_channel_internal_queue = 0; d_acquisition_gnss_synchro = 0; d_channel = 0; d_acq_code_phase_samples = 0.0; @@ -406,11 +408,13 @@ int Gps_L1_Ca_Dll_Pll_Tracking_cc::general_work (int noutput_items __attribute__ { std::cout << "Loss of lock in channel " << d_channel << "!" << std::endl; LOG(INFO) << "Loss of lock in channel " << d_channel << "!"; - std::unique_ptr cmf(new ControlMessageFactory()); - if (d_queue != gr::msg_queue::sptr()) - { - d_queue->handle(cmf->GetQueueMessage(d_channel, 2)); - } + pmt::pmt_t value = pmt::from_long(3);//3 -> loss of lock + this->message_port_pub(pmt::mp("events"), value); +// std::unique_ptr cmf(new ControlMessageFactory()); +// if (d_queue != gr::msg_queue::sptr()) +// { +// d_queue->handle(cmf->GetQueueMessage(d_channel, 2)); +// } d_carrier_lock_fail_counter = 0; d_enable_tracking = false; // TODO: check if disabling tracking is consistent with the channel state machine } @@ -535,12 +539,6 @@ void Gps_L1_Ca_Dll_Pll_Tracking_cc::set_channel(unsigned int channel) } -void Gps_L1_Ca_Dll_Pll_Tracking_cc::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - d_channel_internal_queue = channel_internal_queue; -} - - void Gps_L1_Ca_Dll_Pll_Tracking_cc::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { d_acquisition_gnss_synchro = p_gnss_synchro; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.h index 225fd8751..d7fd222bf 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_cc.h @@ -77,7 +77,6 @@ public: void set_channel(unsigned int channel); void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); void start_tracking(); - void set_channel_queue(concurrent_queue *channel_internal_queue); int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); @@ -108,7 +107,6 @@ private: // tracking configuration vars boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc index c0f4804aa..0d3379324 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc @@ -170,7 +170,6 @@ Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc::Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc( set_relative_rate(1.0 / (static_cast(d_vector_length) * 2.0)); - d_channel_internal_queue = 0; d_acquisition_gnss_synchro = 0; d_channel = 0; d_acq_code_phase_samples = 0.0; @@ -557,10 +556,6 @@ void Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc::set_channel(unsigned int channel) } } -void Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - d_channel_internal_queue = channel_internal_queue; -} void Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.h index 355f796bb..6df5dd257 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.h @@ -76,7 +76,6 @@ public: void set_channel(unsigned int channel); void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); void start_tracking(); - void set_channel_queue(concurrent_queue *channel_internal_queue); int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); @@ -109,7 +108,6 @@ private: // tracking configuration vars boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_tcp_connector_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_tcp_connector_tracking_cc.cc index 49c5bf830..25bdd1168 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_tcp_connector_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_tcp_connector_tracking_cc.cc @@ -179,7 +179,6 @@ Gps_L1_Ca_Tcp_Connector_Tracking_cc::Gps_L1_Ca_Tcp_Connector_Tracking_cc( systemName["E"] = std::string("Galileo"); systemName["C"] = std::string("Compass"); - d_channel_internal_queue = 0; d_acquisition_gnss_synchro = 0; d_channel = 0; d_next_rem_code_phase_samples = 0; @@ -588,12 +587,6 @@ void Gps_L1_Ca_Tcp_Connector_Tracking_cc::set_channel(unsigned int channel) } - -void Gps_L1_Ca_Tcp_Connector_Tracking_cc::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - d_channel_internal_queue = channel_internal_queue; -} - void Gps_L1_Ca_Tcp_Connector_Tracking_cc::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { d_acquisition_gnss_synchro = p_gnss_synchro; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_tcp_connector_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_tcp_connector_tracking_cc.h index a886cc887..7f25f0408 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_tcp_connector_tracking_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_tcp_connector_tracking_cc.h @@ -75,7 +75,6 @@ public: void set_channel(unsigned int channel); void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); void start_tracking(); - void set_channel_queue(concurrent_queue *channel_internal_queue); /* * \brief just like gr_block::general_work, only this arranges to call consume_each for you @@ -108,7 +107,6 @@ private: // tracking configuration vars boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l2_m_dll_pll_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l2_m_dll_pll_tracking_cc.cc index 3a3775787..1a7fd963e 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l2_m_dll_pll_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l2_m_dll_pll_tracking_cc.cc @@ -174,7 +174,6 @@ gps_l2_m_dll_pll_tracking_cc::gps_l2_m_dll_pll_tracking_cc( set_relative_rate(1.0/((double)d_vector_length*2)); //set_min_output_buffer((long int)300); - d_channel_internal_queue = 0; d_acquisition_gnss_synchro = 0; d_channel = 0; d_acq_code_phase_samples = 0.0; @@ -540,12 +539,6 @@ void gps_l2_m_dll_pll_tracking_cc::set_channel(unsigned int channel) -void gps_l2_m_dll_pll_tracking_cc::set_channel_queue(concurrent_queue *channel_internal_queue) -{ - d_channel_internal_queue = channel_internal_queue; -} - - void gps_l2_m_dll_pll_tracking_cc::set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) { d_acquisition_gnss_synchro = p_gnss_synchro; diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l2_m_dll_pll_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l2_m_dll_pll_tracking_cc.h index 5f278b520..a3645cc03 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l2_m_dll_pll_tracking_cc.h +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l2_m_dll_pll_tracking_cc.h @@ -77,7 +77,6 @@ public: void set_channel(unsigned int channel); void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro); void start_tracking(); - void set_channel_queue(concurrent_queue *channel_internal_queue); int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); @@ -108,7 +107,6 @@ private: // tracking configuration vars boost::shared_ptr d_queue; - concurrent_queue *d_channel_internal_queue; unsigned int d_vector_length; bool d_dump; diff --git a/src/core/interfaces/acquisition_interface.h b/src/core/interfaces/acquisition_interface.h index a34373d73..722b99777 100644 --- a/src/core/interfaces/acquisition_interface.h +++ b/src/core/interfaces/acquisition_interface.h @@ -59,7 +59,6 @@ public: virtual void set_threshold(float threshold) = 0; virtual void set_doppler_max(unsigned int doppler_max) = 0; virtual void set_doppler_step(unsigned int doppler_step) = 0; - virtual void set_channel_queue(concurrent_queue *channel_internal_queue) = 0; virtual void init() = 0; virtual void set_local_code() = 0; virtual signed int mag() = 0; diff --git a/src/core/interfaces/channel_interface.h b/src/core/interfaces/channel_interface.h index 6a744de3e..ad5cb197a 100644 --- a/src/core/interfaces/channel_interface.h +++ b/src/core/interfaces/channel_interface.h @@ -54,9 +54,6 @@ public: virtual Gnss_Signal get_signal() const = 0; virtual void start_acquisition() = 0; virtual void set_signal(const Gnss_Signal&) = 0; - virtual void start() = 0; - virtual void standby() = 0; - virtual void stop() = 0; }; #endif /* GNSS_SDR_CHANNEL_INTERFACE_H_ */ diff --git a/src/core/interfaces/tracking_interface.h b/src/core/interfaces/tracking_interface.h index 4d3b3859d..70724e019 100644 --- a/src/core/interfaces/tracking_interface.h +++ b/src/core/interfaces/tracking_interface.h @@ -57,7 +57,6 @@ public: virtual void start_tracking() = 0; virtual void set_gnss_synchro(Gnss_Synchro* gnss_synchro) = 0; virtual void set_channel(unsigned int channel) = 0; - virtual void set_channel_queue(concurrent_queue *channel_internal_queue) = 0; }; #endif /* GNSS_SDR_TRACKING_INTERFACE_H_ */ diff --git a/src/core/receiver/gnss_flowgraph.cc b/src/core/receiver/gnss_flowgraph.cc index ad029b322..a79b4cd9b 100644 --- a/src/core/receiver/gnss_flowgraph.cc +++ b/src/core/receiver/gnss_flowgraph.cc @@ -35,6 +35,7 @@ #include "gnss_flowgraph.h" #include "unistd.h" +#include #include #include #include @@ -90,12 +91,12 @@ void GNSSFlowgraph::start() void GNSSFlowgraph::stop() { - for (unsigned int i = 0; i < channels_count_; i++) - { - channels_.at(i)->stop(); - LOG(INFO) << "Channel " << i << " in state " << channels_state_[i]; - } - LOG(INFO) << "Threads finished. Return to main program."; +// for (unsigned int i = 0; i < channels_count_; i++) +// { +// channels_.at(i)->stop_channel(); +// LOG(INFO) << "Channel " << i << " in state " << channels_state_[i]; +// } +// LOG(INFO) << "Threads finished. Return to main program."; top_block_->stop(); running_ = false; } @@ -303,7 +304,7 @@ void GNSSFlowgraph::connect() } channels_.at(i)->set_signal(available_GNSS_signals_.front()); LOG(INFO) << "Channel " << i << " assigned to " << available_GNSS_signals_.front(); - channels_.at(i)->start(); + //channels_.at(i)->start_channel(); if (channels_state_[i] == 1) { @@ -342,8 +343,6 @@ void GNSSFlowgraph::connect() } - - void GNSSFlowgraph::wait() { if (!running_) @@ -389,16 +388,8 @@ void GNSSFlowgraph::apply_action(unsigned int who, unsigned int what) } channels_.at(who)->set_signal(available_GNSS_signals_.front()); available_GNSS_signals_.pop_front(); - //todo: This is a provisional bug fix to avoid random channel state machine deadlock caused by an incorrect sequence of events - // Correct sequence: start_acquisition() is triggered after the negative acquisition driven by the process_channel_messages() thread inside channel class - // Incorrect sequence: due to thread concurrency, some times start_acquisition is triggered BEFORE the last negative_acquisition notification, thus producing a deadlock - // a short delay here (5ms) apparently reduces the chances to enter in this deadlock - usleep(5000); channels_.at(who)->start_acquisition(); - break; - // TODO: Tracking messages - case 1: LOG(INFO) << "Channel " << who << " ACQ SUCCESS satellite " << channels_.at(who)->get_signal().get_satellite(); channels_state_[who] = 2; @@ -438,7 +429,6 @@ void GNSSFlowgraph::apply_action(unsigned int who, unsigned int what) else { channels_state_[who] = 0; - channels_.at(who)->standby(); available_GNSS_signals_.push_back( channels_.at(who)->get_signal() ); } @@ -478,7 +468,7 @@ void GNSSFlowgraph::init() /* * Instantiates the receiver blocks */ - std::shared_ptr block_factory_ = std::make_shared(); + std::unique_ptr block_factory_(new GNSSBlockFactory()); // 1. read the number of RF front-ends available (one file_source per RF front-end) sources_count_ = configuration_->property("Receiver.sources_count", 1); @@ -532,6 +522,7 @@ void GNSSFlowgraph::init() std::shared_ptr>> channels = block_factory_->GetChannels(configuration_, queue_); + //todo:check smart pointer coherence... channels_count_ = channels->size(); for (unsigned int i = 0; i < channels_count_; i++) { diff --git a/src/core/receiver/gnss_flowgraph.h b/src/core/receiver/gnss_flowgraph.h index 8d93aec67..ad06267b9 100644 --- a/src/core/receiver/gnss_flowgraph.h +++ b/src/core/receiver/gnss_flowgraph.h @@ -128,7 +128,6 @@ private: unsigned int applied_actions_; std::string config_file_; std::shared_ptr configuration_; - std::shared_ptr block_factory_; std::vector> sig_source_; std::vector> sig_conditioner_; diff --git a/src/tests/gnss_block/galileo_e1_dll_pll_veml_tracking_test.cc b/src/tests/gnss_block/galileo_e1_dll_pll_veml_tracking_test.cc index 59a871ace..6b2afe099 100644 --- a/src/tests/gnss_block/galileo_e1_dll_pll_veml_tracking_test.cc +++ b/src/tests/gnss_block/galileo_e1_dll_pll_veml_tracking_test.cc @@ -73,7 +73,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; }; @@ -132,11 +131,6 @@ TEST_F(GalileoE1DllPllVemlTrackingInternalTest, ConnectAndRun) tracking->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - tracking->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - - ASSERT_NO_THROW( { tracking->connect(top_block); gr::analog::sig_source_c::sptr source = gr::analog::sig_source_c::make(fs_in, gr::analog::GR_SIN_WAVE, 1000, 1, gr_complex(0)); @@ -194,10 +188,6 @@ TEST_F(GalileoE1DllPllVemlTrackingInternalTest, ValidationOfResults) tracking->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - tracking->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { tracking->connect(top_block); }) << "Failure connecting tracking to the top_block." << std::endl; diff --git a/src/tests/gnss_block/galileo_e1_pcps_8ms_ambiguous_acquisition_gsoc2013_test.cc b/src/tests/gnss_block/galileo_e1_pcps_8ms_ambiguous_acquisition_gsoc2013_test.cc index 80abdf328..883c6e946 100644 --- a/src/tests/gnss_block/galileo_e1_pcps_8ms_ambiguous_acquisition_gsoc2013_test.cc +++ b/src/tests/gnss_block/galileo_e1_pcps_8ms_ambiguous_acquisition_gsoc2013_test.cc @@ -83,7 +83,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -387,10 +386,6 @@ TEST_F(GalileoE1Pcps8msAmbiguousAcquisitionGSoC2013Test, ConnectAndRun) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; @@ -439,10 +434,6 @@ TEST_F(GalileoE1Pcps8msAmbiguousAcquisitionGSoC2013Test, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; @@ -529,10 +520,6 @@ TEST_F(GalileoE1Pcps8msAmbiguousAcquisitionGSoC2013Test, ValidationOfResultsProb acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; diff --git a/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc2013_test.cc b/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc2013_test.cc index cdbc254d2..92f121766 100644 --- a/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc2013_test.cc +++ b/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc2013_test.cc @@ -83,7 +83,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -418,10 +417,6 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionGSoC2013Test, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; @@ -506,10 +501,6 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionGSoC2013Test, ValidationOfResultsProbabi acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; diff --git a/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc b/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc index 0f502256a..57d2d2769 100644 --- a/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc +++ b/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc @@ -87,7 +87,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -205,10 +204,6 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionGSoCTest, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_threshold(config->property("Acquisition.threshold", 0.00001)); }) << "Failure setting threshold." << std::endl; diff --git a/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc b/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc index faf8fccb0..917e030ea 100644 --- a/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc +++ b/src/tests/gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc @@ -77,7 +77,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -189,10 +188,6 @@ TEST_F(GalileoE1PcpsAmbiguousAcquisitionTest, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_threshold(config->property("Acquisition.threshold", 1e-9)); }) << "Failure setting threshold." << std::endl; diff --git a/src/tests/gnss_block/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc b/src/tests/gnss_block/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc index 995c5988b..78db7dc44 100644 --- a/src/tests/gnss_block/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc +++ b/src/tests/gnss_block/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc @@ -84,7 +84,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -418,10 +417,6 @@ TEST_F(GalileoE1PcpsCccwsrAmbiguousAcquisitionTest, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; @@ -518,10 +513,6 @@ TEST_F(GalileoE1PcpsCccwsrAmbiguousAcquisitionTest, ValidationOfResultsProbabili acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; diff --git a/src/tests/gnss_block/galileo_e1_pcps_quicksync_ambiguous_acquisition_gsoc2014_test.cc b/src/tests/gnss_block/galileo_e1_pcps_quicksync_ambiguous_acquisition_gsoc2014_test.cc index 29d7e00ce..8dee5ab67 100644 --- a/src/tests/gnss_block/galileo_e1_pcps_quicksync_ambiguous_acquisition_gsoc2014_test.cc +++ b/src/tests/gnss_block/galileo_e1_pcps_quicksync_ambiguous_acquisition_gsoc2014_test.cc @@ -91,7 +91,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -553,10 +552,6 @@ TEST_F(GalileoE1PcpsQuickSyncAmbiguousAcquisitionGSoC2014Test, ValidationOfResul acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; @@ -646,10 +641,6 @@ TEST_F(GalileoE1PcpsQuickSyncAmbiguousAcquisitionGSoC2014Test, ValidationOfResul acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; @@ -735,10 +726,6 @@ TEST_F(GalileoE1PcpsQuickSyncAmbiguousAcquisitionGSoC2014Test, ValidationOfResul acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; diff --git a/src/tests/gnss_block/galileo_e1_pcps_tong_ambiguous_acquisition_gsoc2013_test.cc b/src/tests/gnss_block/galileo_e1_pcps_tong_ambiguous_acquisition_gsoc2013_test.cc index d0f0849c5..d184ef999 100644 --- a/src/tests/gnss_block/galileo_e1_pcps_tong_ambiguous_acquisition_gsoc2013_test.cc +++ b/src/tests/gnss_block/galileo_e1_pcps_tong_ambiguous_acquisition_gsoc2013_test.cc @@ -90,7 +90,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -423,10 +422,6 @@ TEST_F(GalileoE1PcpsTongAmbiguousAcquisitionGSoC2013Test, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(5000); }) << "Failure setting doppler_max." << std::endl; @@ -513,10 +508,6 @@ TEST_F(GalileoE1PcpsTongAmbiguousAcquisitionGSoC2013Test, ValidationOfResultsPro acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; diff --git a/src/tests/gnss_block/galileo_e5a_pcps_acquisition_gsoc2014_gensource_test.cc b/src/tests/gnss_block/galileo_e5a_pcps_acquisition_gsoc2014_gensource_test.cc index 8aa2fba42..6a5556b2a 100644 --- a/src/tests/gnss_block/galileo_e5a_pcps_acquisition_gsoc2014_gensource_test.cc +++ b/src/tests/gnss_block/galileo_e5a_pcps_acquisition_gsoc2014_gensource_test.cc @@ -85,7 +85,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -612,10 +611,6 @@ TEST_F(GalileoE5aPcpsAcquisitionGSoC2014GensourceTest, ValidationOfSIM) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition_Galileo.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; @@ -760,10 +755,6 @@ TEST_F(GalileoE5aPcpsAcquisitionGSoC2014GensourceTest, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; @@ -853,10 +844,6 @@ TEST_F(GalileoE5aPcpsAcquisitionGSoC2014GensourceTest, FourSatsGen) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; diff --git a/src/tests/gnss_block/galileo_e5a_tracking_test.cc b/src/tests/gnss_block/galileo_e5a_tracking_test.cc index 072050380..5f6aa6ab9 100644 --- a/src/tests/gnss_block/galileo_e5a_tracking_test.cc +++ b/src/tests/gnss_block/galileo_e5a_tracking_test.cc @@ -72,7 +72,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; }; @@ -130,10 +129,6 @@ TEST_F(GalileoE5aTrackingTest, ValidationOfResults) tracking->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - tracking->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { tracking->connect(top_block); }) << "Failure connecting tracking to the top_block." << std::endl; diff --git a/src/tests/gnss_block/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc b/src/tests/gnss_block/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc index c4012b8ed..9d4691541 100644 --- a/src/tests/gnss_block/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc +++ b/src/tests/gnss_block/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc @@ -85,7 +85,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -414,10 +413,6 @@ TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(10000); }) << "Failure setting doppler_max."<< std::endl; @@ -511,10 +506,6 @@ TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, ValidationOfResultsProbabilities) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; diff --git a/src/tests/gnss_block/gps_l1_ca_pcps_acquisition_test.cc b/src/tests/gnss_block/gps_l1_ca_pcps_acquisition_test.cc index de86b2875..96cd016a2 100644 --- a/src/tests/gnss_block/gps_l1_ca_pcps_acquisition_test.cc +++ b/src/tests/gnss_block/gps_l1_ca_pcps_acquisition_test.cc @@ -79,7 +79,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -194,10 +193,6 @@ TEST_F(GpsL1CaPcpsAcquisitionTest, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_threshold(0.1); }) << "Failure setting threshold." << std::endl; diff --git a/src/tests/gnss_block/gps_l1_ca_pcps_multithread_acquisition_gsoc2013_test.cc b/src/tests/gnss_block/gps_l1_ca_pcps_multithread_acquisition_gsoc2013_test.cc index c8d6fb02b..03d478b31 100644 --- a/src/tests/gnss_block/gps_l1_ca_pcps_multithread_acquisition_gsoc2013_test.cc +++ b/src/tests/gnss_block/gps_l1_ca_pcps_multithread_acquisition_gsoc2013_test.cc @@ -87,7 +87,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -415,10 +414,6 @@ TEST_F(GpsL1CaPcpsMultithreadAcquisitionGSoC2013Test, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; @@ -501,10 +496,6 @@ TEST_F(GpsL1CaPcpsMultithreadAcquisitionGSoC2013Test, ValidationOfResultsProbabi acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; diff --git a/src/tests/gnss_block/gps_l1_ca_pcps_opencl_acquisition_gsoc2013_test.cc b/src/tests/gnss_block/gps_l1_ca_pcps_opencl_acquisition_gsoc2013_test.cc index 1da6098d5..8d609b271 100644 --- a/src/tests/gnss_block/gps_l1_ca_pcps_opencl_acquisition_gsoc2013_test.cc +++ b/src/tests/gnss_block/gps_l1_ca_pcps_opencl_acquisition_gsoc2013_test.cc @@ -83,7 +83,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -407,10 +406,6 @@ TEST_F(GpsL1CaPcpsOpenClAcquisitionGSoC2013Test, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; @@ -491,10 +486,6 @@ TEST_F(GpsL1CaPcpsOpenClAcquisitionGSoC2013Test, ValidationOfResultsProbabilitie acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; diff --git a/src/tests/gnss_block/gps_l1_ca_pcps_quicksync_acquisition_gsoc2014_test.cc b/src/tests/gnss_block/gps_l1_ca_pcps_quicksync_acquisition_gsoc2014_test.cc index 1844e8bdc..e8c95b0af 100644 --- a/src/tests/gnss_block/gps_l1_ca_pcps_quicksync_acquisition_gsoc2014_test.cc +++ b/src/tests/gnss_block/gps_l1_ca_pcps_quicksync_acquisition_gsoc2014_test.cc @@ -88,7 +88,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -529,10 +528,6 @@ TEST_F(GpsL1CaPcpsQuickSyncAcquisitionGSoC2014Test, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(10000); }) << "Failure setting doppler_max."<< std::endl; @@ -627,10 +622,6 @@ TEST_F(GpsL1CaPcpsQuickSyncAcquisitionGSoC2014Test, ValidationOfResultsWithNoise acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(10000); }) << "Failure setting doppler_max."<< std::endl; @@ -721,10 +712,6 @@ TEST_F(GpsL1CaPcpsQuickSyncAcquisitionGSoC2014Test, ValidationOfResultsProbabili acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro."<< std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue."<< std::endl; - /* ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max."<< std::endl; diff --git a/src/tests/gnss_block/gps_l1_ca_pcps_tong_acquisition_gsoc2013_test.cc b/src/tests/gnss_block/gps_l1_ca_pcps_tong_acquisition_gsoc2013_test.cc index 726a5ad90..1c74251b9 100644 --- a/src/tests/gnss_block/gps_l1_ca_pcps_tong_acquisition_gsoc2013_test.cc +++ b/src/tests/gnss_block/gps_l1_ca_pcps_tong_acquisition_gsoc2013_test.cc @@ -84,7 +84,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -412,10 +411,6 @@ TEST_F(GpsL1CaPcpsTongAcquisitionGSoC2013Test, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; @@ -502,10 +497,6 @@ TEST_F(GpsL1CaPcpsTongAcquisitionGSoC2013Test, ValidationOfResultsProbabilities) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_doppler_max(config->property("Acquisition.doppler_max", 10000)); }) << "Failure setting doppler_max." << std::endl; diff --git a/src/tests/gnss_block/gps_l2_m_dll_pll_tracking_test.cc b/src/tests/gnss_block/gps_l2_m_dll_pll_tracking_test.cc index c6f2dc1b6..a340f9b11 100644 --- a/src/tests/gnss_block/gps_l2_m_dll_pll_tracking_test.cc +++ b/src/tests/gnss_block/gps_l2_m_dll_pll_tracking_test.cc @@ -74,7 +74,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; }; @@ -125,10 +124,6 @@ TEST_F(GpsL2MDllPllTrackingTest, ValidationOfResults) tracking->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - tracking->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { tracking->connect(top_block); }) << "Failure connecting tracking to the top_block." << std::endl; diff --git a/src/tests/gnss_block/gps_l2_m_pcps_acquisition_test.cc b/src/tests/gnss_block/gps_l2_m_pcps_acquisition_test.cc index 11a54402f..46d10ebc7 100644 --- a/src/tests/gnss_block/gps_l2_m_pcps_acquisition_test.cc +++ b/src/tests/gnss_block/gps_l2_m_pcps_acquisition_test.cc @@ -85,7 +85,6 @@ protected: std::shared_ptr config; Gnss_Synchro gnss_synchro; size_t item_size; - concurrent_queue channel_internal_queue; bool stop; int message; boost::thread ch_thread; @@ -205,10 +204,6 @@ TEST_F(GpsL2MPcpsAcquisitionTest, ValidationOfResults) acquisition->set_gnss_synchro(&gnss_synchro); }) << "Failure setting gnss_synchro." << std::endl; - ASSERT_NO_THROW( { - acquisition->set_channel_queue(&channel_internal_queue); - }) << "Failure setting channel_internal_queue." << std::endl; - ASSERT_NO_THROW( { acquisition->set_threshold(0.001); }) << "Failure setting threshold." << std::endl; diff --git a/src/tests/single_test_main.cc b/src/tests/single_test_main.cc index c698b4eb5..25afe3bd8 100644 --- a/src/tests/single_test_main.cc +++ b/src/tests/single_test_main.cc @@ -54,13 +54,8 @@ #include "sbas_satellite_correction.h" concurrent_queue global_gps_acq_assist_queue; -concurrent_queue global_gps_ref_location_queue; -concurrent_queue global_gps_ref_time_queue; -concurrent_map global_gps_almanac_map; concurrent_map global_gps_acq_assist_map; -concurrent_map global_gps_ref_location_map; -concurrent_map global_gps_ref_time_map; int main(int argc, char **argv) diff --git a/src/tests/test_main.cc b/src/tests/test_main.cc index 52e6a90c1..a9e63f93f 100644 --- a/src/tests/test_main.cc +++ b/src/tests/test_main.cc @@ -86,29 +86,29 @@ DECLARE_string(log_dir); #include "gnss_block/rtcm_printer_test.cc" #include "gnss_block/file_signal_source_test.cc" #include "gnss_block/fir_filter_test.cc" -#include "gnss_block/gps_l1_ca_pcps_acquisition_test.cc" -#include "gnss_block/gps_l2_m_pcps_acquisition_test.cc" -#include "gnss_block/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc" +//#include "gnss_block/gps_l1_ca_pcps_acquisition_test.cc" +//#include "gnss_block/gps_l2_m_pcps_acquisition_test.cc" +//#include "gnss_block/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc" //#include "gnss_block/gps_l1_ca_pcps_multithread_acquisition_gsoc2013_test.cc" -#if OPENCL_BLOCKS_TEST -#include "gnss_block/gps_l1_ca_pcps_opencl_acquisition_gsoc2013_test.cc" -#endif -#include "gnss_block/gps_l1_ca_pcps_quicksync_acquisition_gsoc2014_test.cc" -#include "gnss_block/gps_l1_ca_pcps_tong_acquisition_gsoc2013_test.cc" -#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc" -#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc" -#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc2013_test.cc" -#include "gnss_block/galileo_e1_pcps_8ms_ambiguous_acquisition_gsoc2013_test.cc" -#include "gnss_block/galileo_e1_pcps_tong_ambiguous_acquisition_gsoc2013_test.cc" -#include "gnss_block/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc" -#include "gnss_block/galileo_e1_pcps_quicksync_ambiguous_acquisition_gsoc2014_test.cc" +//#if OPENCL_BLOCKS_TEST +//#include "gnss_block/gps_l1_ca_pcps_opencl_acquisition_gsoc2013_test.cc" +//#endif +//#include "gnss_block/gps_l1_ca_pcps_quicksync_acquisition_gsoc2014_test.cc" +//#include "gnss_block/gps_l1_ca_pcps_tong_acquisition_gsoc2013_test.cc" +//#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_test.cc" +//#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc_test.cc" +//#include "gnss_block/galileo_e1_pcps_ambiguous_acquisition_gsoc2013_test.cc" +//#include "gnss_block/galileo_e1_pcps_8ms_ambiguous_acquisition_gsoc2013_test.cc" +//#include "gnss_block/galileo_e1_pcps_tong_ambiguous_acquisition_gsoc2013_test.cc" +//#include "gnss_block/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc" +//#include "gnss_block/galileo_e1_pcps_quicksync_ambiguous_acquisition_gsoc2014_test.cc" #include "gnss_block/galileo_e1_dll_pll_veml_tracking_test.cc" #include "gnuradio_block/gnss_sdr_valve_test.cc" #include "gnuradio_block/direct_resampler_conditioner_cc_test.cc" //#include "gnss_block/galileo_e5a_pcps_acquisition_test.cc" //#include "gnss_block/galileo_e5a_pcps_acquisition_test_2.cc" -#include "gnss_block/galileo_e5a_pcps_acquisition_gsoc2014_gensource_test.cc" +//#include "gnss_block/galileo_e5a_pcps_acquisition_gsoc2014_gensource_test.cc" #include "gnss_block/galileo_e5a_tracking_test.cc" #include "gnss_block/gps_l2_m_dll_pll_tracking_test.cc" @@ -116,13 +116,7 @@ DECLARE_string(log_dir); // For GPS NAVIGATION (L1) concurrent_queue global_gps_acq_assist_queue; -concurrent_queue global_gps_ref_location_queue; -concurrent_queue global_gps_ref_time_queue; - -concurrent_map global_gps_almanac_map; concurrent_map global_gps_acq_assist_map; -concurrent_map global_gps_ref_location_map; -concurrent_map global_gps_ref_time_map; int main(int argc, char **argv) diff --git a/src/utils/front-end-cal/main.cc b/src/utils/front-end-cal/main.cc index e4f9f003a..6ee2a171c 100644 --- a/src/utils/front-end-cal/main.cc +++ b/src/utils/front-end-cal/main.cc @@ -313,7 +313,6 @@ int main(int argc, char** argv) acquisition->set_channel(1); acquisition->set_gnss_synchro(gnss_synchro); - acquisition->set_channel_queue(&channel_internal_queue); acquisition->set_threshold(configuration->property("Acquisition.threshold", 0.0)); acquisition->set_doppler_max(configuration->property("Acquisition.doppler_max", 10000)); acquisition->set_doppler_step(configuration->property("Acquisition.doppler_step", 250)); @@ -340,6 +339,7 @@ int main(int argc, char** argv) // Get visible GPS satellites (positive acquisitions with Doppler measurements) // Compute Doppler estimations + //todo: Fix the front-end cal to support new channel internal message system (no more external queues) std::map doppler_measurements_map; std::map cn0_measurements_map;