From 7560a158f077b989a6a16eea482d96201278b5cc Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Wed, 13 Apr 2016 16:19:15 +0200 Subject: [PATCH 1/5] More telemetry global queues migration to GNURadio asynchronous messages and some code cleaning --- .../PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc | 4 +- .../PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc | 4 +- .../PVT/gnuradio_blocks/hybrid_pvt_cc.cc | 4 +- .../galileo_e1b_telemetry_decoder_cc.cc | 13 +- .../galileo_e5a_telemetry_decoder_cc.cc | 44 +-- .../galileo_e5a_telemetry_decoder_cc.h | 13 - .../gps_l1_ca_telemetry_decoder_cc.cc | 9 +- .../gps_l2_m_telemetry_decoder_cc.cc | 28 +- .../gps_l2_m_telemetry_decoder_cc.h | 3 - src/core/receiver/control_thread.cc | 259 +++++++----------- src/core/receiver/control_thread.h | 43 +-- src/core/receiver/gnss_flowgraph.cc | 8 + src/core/receiver/gnss_flowgraph.h | 7 +- src/main/main.cc | 5 - src/utils/front-end-cal/main.cc | 6 - 15 files changed, 144 insertions(+), 306 deletions(-) diff --git a/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc b/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc index da6c07af1..091c03f4b 100644 --- a/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc +++ b/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc @@ -83,12 +83,14 @@ void galileo_e1_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg) // update/insert new ephemeris record to the global ephemeris map d_ls_pvt->galileo_almanac=*galileo_almanac; DLOG(INFO) << "New Galileo Almanac has arrived "; + }else{ + LOG(WARNING) << "msg_handler_telemetry unknown object type!"; } } catch(boost::bad_any_cast& e) { - DLOG(WARNING) << "msg_handler_telemetry Bad any cast!\n"; + LOG(WARNING) << "msg_handler_telemetry Bad any cast!\n"; } } galileo_e1_pvt_cc::galileo_e1_pvt_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) : diff --git a/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc b/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc index 07f45ba3f..c1ceed891 100644 --- a/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc +++ b/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc @@ -128,12 +128,14 @@ void gps_l1_ca_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg) { rp->log_rinex_sbs(rp->sbsFile, sbas_raw_msg); } + }else{ + LOG(WARNING) << "msg_handler_telemetry unknown object type!"; } } catch(boost::bad_any_cast& e) { - DLOG(WARNING) << "msg_handler_telemetry Bad any cast!\n"; + LOG(WARNING) << "msg_handler_telemetry Bad any cast!\n"; } } diff --git a/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc b/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc index 355a31fb0..6853ead34 100644 --- a/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc +++ b/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc @@ -116,12 +116,14 @@ void hybrid_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg) // update/insert new ephemeris record to the global ephemeris map d_ls_pvt->galileo_almanac=*galileo_almanac; DLOG(INFO) << "New Galileo Almanac has arrived "; + }else{ + LOG(WARNING) << "msg_handler_telemetry unknown object type!"; } } catch(boost::bad_any_cast& e) { - DLOG(WARNING) << "msg_handler_telemetry Bad any cast!\n"; + LOG(WARNING) << "msg_handler_telemetry Bad any cast!"; } } diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc index a3fe43b15..ab04c713f 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc @@ -250,28 +250,25 @@ void galileo_e1b_telemetry_decoder_cc::decode_word(double *page_part_symbols,int if (d_nav.have_new_ephemeris() == true) { // get object for this SV (mandatory) - std::shared_ptr tmp_obj= std::make_shared(); - *tmp_obj = d_nav.get_ephemeris();//notice that the read operation will clear the valid flag + std::shared_ptr tmp_obj= std::make_shared( d_nav.get_ephemeris()); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); + } if (d_nav.have_new_iono_and_GST() == true) { // get object for this SV (mandatory) - std::shared_ptr tmp_obj= std::make_shared(); - *tmp_obj = d_nav.get_iono(); //notice that the read operation will clear the valid flag + std::shared_ptr tmp_obj= std::make_shared(d_nav.get_iono()); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); } if (d_nav.have_new_utc_model() == true) { // get object for this SV (mandatory) - std::shared_ptr tmp_obj= std::make_shared(); - *tmp_obj = d_nav.get_utc_model(); //notice that the read operation will clear the valid flag + std::shared_ptr tmp_obj= std::make_shared(d_nav.get_utc_model()); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); } if (d_nav.have_new_almanac() == true) { - std::shared_ptr tmp_obj= std::make_shared(); - *tmp_obj = d_nav.get_almanac(); + std::shared_ptr tmp_obj= std::make_shared(d_nav.get_almanac()); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); //debug std::cout << "Galileo almanac received!" << std::endl; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.cc index 1a75d478f..45d91648e 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.cc @@ -170,22 +170,18 @@ void galileo_e5a_telemetry_decoder_cc::decode_word(double *page_symbols,int fram // 4. Push the new navigation data to the queues if (d_nav.have_new_ephemeris() == true) { - // get ephemeris object for this SV - Galileo_Ephemeris ephemeris = d_nav.get_ephemeris();//notice that the read operation will clear the valid flag - //std::cout<<"New Galileo Ephemeris received for SV "<push(ephemeris); + std::shared_ptr tmp_obj= std::make_shared(d_nav.get_ephemeris()); + this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); } if (d_nav.have_new_iono_and_GST() == true) { - Galileo_Iono iono = d_nav.get_iono(); //notice that the read operation will clear the valid flag - //std::cout<<"New Galileo IONO model (and UTC) received for SV "<push(iono); + std::shared_ptr tmp_obj= std::make_shared(d_nav.get_iono()); + this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); } if (d_nav.have_new_utc_model() == true) { - Galileo_Utc_Model utc_model = d_nav.get_utc_model(); //notice that the read operation will clear the valid flag - //std::cout<<"New Galileo UTC model received for SV "<push(utc_model); + std::shared_ptr tmp_obj= std::make_shared(d_nav.get_utc_model()); + this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); } } @@ -260,10 +256,6 @@ galileo_e5a_telemetry_decoder_cc::galileo_e5a_telemetry_decoder_cc( d_sign_init = 0; d_flag_preamble = false; - d_ephemeris_queue = 0; - d_iono_queue = 0; - d_utc_model_queue = 0; - d_almanac_queue = 0; d_channel = 0; Prn_timestamp_at_preamble_ms = 0; flag_TOW_set = false; @@ -612,27 +604,3 @@ void galileo_e5a_telemetry_decoder_cc::set_channel(int channel) } } } - - -void galileo_e5a_telemetry_decoder_cc::set_ephemeris_queue(concurrent_queue *ephemeris_queue) -{ - d_ephemeris_queue = ephemeris_queue; -} - - -void galileo_e5a_telemetry_decoder_cc::set_iono_queue(concurrent_queue *iono_queue) -{ - d_iono_queue = iono_queue; -} - - -void galileo_e5a_telemetry_decoder_cc::set_almanac_queue(concurrent_queue *almanac_queue) -{ - d_almanac_queue = almanac_queue; -} - - -void galileo_e5a_telemetry_decoder_cc::set_utc_model_queue(concurrent_queue *utc_model_queue) -{ - d_utc_model_queue = utc_model_queue; -} diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.h index 7f07d3e39..8d7913fe5 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.h @@ -68,10 +68,6 @@ public: ~galileo_e5a_telemetry_decoder_cc(); void set_satellite(Gnss_Satellite satellite); //!< Set satellite PRN void set_channel(int channel); //!< Set receiver's channel - void set_ephemeris_queue(concurrent_queue *ephemeris_queue); //!< Set the satellite data queue - void set_iono_queue(concurrent_queue *iono_queue); //!< Set the iono data queue - void set_almanac_queue(concurrent_queue *almanac_queue); //!< Set the almanac data queue - void set_utc_model_queue(concurrent_queue *utc_model_queue); //!< Set the UTC model queue /*! * \brief This is where all signal processing takes place */ @@ -117,15 +113,6 @@ private: // navigation message vars Galileo_Fnav_Message d_nav; - // Galileo ephemeris queue - concurrent_queue *d_ephemeris_queue; - // ionospheric parameters queue - concurrent_queue *d_iono_queue; - // UTC model parameters queue - concurrent_queue *d_utc_model_queue; - // Almanac queue - concurrent_queue *d_almanac_queue; - boost::shared_ptr d_queue; bool d_dump; Gnss_Satellite d_satellite; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.cc index 28caea364..bce1a3bb2 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.cc @@ -281,22 +281,19 @@ int gps_l1_ca_telemetry_decoder_cc::general_work (int noutput_items __attribute_ if (d_GPS_FSM.d_nav.satellite_validation() == true) { // get ephemeris object for this SV (mandatory) - std::shared_ptr tmp_obj= std::make_shared(); - *tmp_obj = d_GPS_FSM.d_nav.get_ephemeris(); + std::shared_ptr tmp_obj= std::make_shared(d_GPS_FSM.d_nav.get_ephemeris()); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); } break; case 4: // Possible IONOSPHERE and UTC model update (page 18) if (d_GPS_FSM.d_nav.flag_iono_valid == true) { - std::shared_ptr tmp_obj= std::make_shared(); - *tmp_obj = d_GPS_FSM.d_nav.get_iono(); //notice that the read operation will clear the valid flag + std::shared_ptr tmp_obj= std::make_shared(d_GPS_FSM.d_nav.get_iono()); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); } if (d_GPS_FSM.d_nav.flag_utc_model_valid == true) { - std::shared_ptr tmp_obj= std::make_shared(); - *tmp_obj = d_GPS_FSM.d_nav.get_utc_model(); //notice that the read operation will clear the valid flag + std::shared_ptr tmp_obj= std::make_shared(d_GPS_FSM.d_nav.get_utc_model()); this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); } break; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.cc index 878a78d66..925b046f5 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.cc @@ -78,8 +78,6 @@ gps_l2_m_telemetry_decoder_cc::gps_l2_m_telemetry_decoder_cc( d_flag_invert_buffer_symbols = false; d_flag_invert_input_symbols = false; d_channel = 0; - d_iono_queue = 0; - d_ephemeris_queue = 0; d_flag_valid_word = false; d_TOW_at_current_symbol = 0; d_TOW_at_Preamble = 0; @@ -203,15 +201,16 @@ int gps_l2_m_telemetry_decoder_cc::general_work (int noutput_items __attribute__ if (d_CNAV_Message.have_new_ephemeris() == true) { // get ephemeris object for this SV - Gps_CNAV_Ephemeris ephemeris = d_CNAV_Message.get_ephemeris(); //notice that the read operation will clear the valid flag - std::cout << "New GPS CNAV Ephemeris received for SV " << ephemeris.i_satellite_PRN << std::endl; - d_ephemeris_queue->push(ephemeris); + std::shared_ptr tmp_obj= std::make_shared(d_CNAV_Message.get_ephemeris()); + std::cout << "New GPS CNAV Ephemeris received for SV " << tmp_obj->i_satellite_PRN << std::endl; + this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); + } if (d_CNAV_Message.have_new_iono() == true) { - Gps_CNAV_Iono iono = d_CNAV_Message.get_iono(); //notice that the read operation will clear the valid flag + std::shared_ptr tmp_obj= std::make_shared(d_CNAV_Message.get_iono()); std::cout << "New GPS CNAV IONO model received for SV " << d_satellite.get_PRN() << std::endl; - d_iono_queue->push(iono); + this->message_port_pub(pmt::mp("telemetry"), pmt::make_any(tmp_obj)); } } break; @@ -434,7 +433,6 @@ void gps_l2_m_telemetry_decoder_cc::crc_verifier::reset() } - void gps_l2_m_telemetry_decoder_cc::crc_verifier::get_valid_frames(const std::vector & msg_candidates, std::vector & valid_msgs) { std::vector tmp_msg; @@ -461,7 +459,6 @@ void gps_l2_m_telemetry_decoder_cc::crc_verifier::get_valid_frames(const std::ve } - void gps_l2_m_telemetry_decoder_cc::crc_verifier::zerropad_back_and_convert_to_bytes(const std::vector & msg_candidate, std::vector & bytes) { //std::stringstream ss; @@ -487,8 +484,6 @@ void gps_l2_m_telemetry_decoder_cc::crc_verifier::zerropad_back_and_convert_to_b // << std::setfill(' ') << std::resetiosflags(std::ios::hex); } - - void gps_l2_m_telemetry_decoder_cc::crc_verifier::zerropad_front_and_convert_to_bytes(const std::vector & msg_candidate, std::vector & bytes) { //std::stringstream ss; @@ -515,14 +510,3 @@ void gps_l2_m_telemetry_decoder_cc::crc_verifier::zerropad_front_and_convert_to_ // << std::setfill(' ') << std::resetiosflags(std::ios::hex); } - -void gps_l2_m_telemetry_decoder_cc::set_iono_queue(concurrent_queue *iono_queue) -{ - d_iono_queue = iono_queue; -} - - -void gps_l2_m_telemetry_decoder_cc::set_ephemeris_queue(concurrent_queue *ephemeris_queue) -{ - d_ephemeris_queue = ephemeris_queue; -} diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.h index e3cf010e2..0feb75b6e 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.h @@ -92,9 +92,6 @@ private: void viterbi_decoder(double *page_part_symbols, int *page_part_bits); void align_samples(); - concurrent_queue *d_iono_queue; - concurrent_queue *d_ephemeris_queue; - bool d_dump; Gnss_Satellite d_satellite; int d_channel; diff --git a/src/core/receiver/control_thread.cc b/src/core/receiver/control_thread.cc index 4679fc2de..bf4d66c02 100644 --- a/src/core/receiver/control_thread.cc +++ b/src/core/receiver/control_thread.cc @@ -57,13 +57,7 @@ #include "control_message_factory.h" extern concurrent_map global_gps_acq_assist_map; -extern concurrent_map global_gps_ref_time_map; -extern concurrent_map global_gps_ref_location_map; - extern concurrent_queue global_gps_acq_assist_queue; -extern concurrent_queue global_gps_ref_location_queue; -extern concurrent_queue global_gps_ref_time_queue; - using google::LogMessage; @@ -94,7 +88,6 @@ ControlThread::~ControlThread() } - /* * Runs the control thread that manages the receiver control plane * @@ -131,12 +124,6 @@ void ControlThread::run() // start the keyboard_listener thread keyboard_thread_ = boost::thread(&ControlThread::keyboard_listener, this); - //start the GNSS SV data collector thread - - gps_acq_assist_data_collector_thread_= boost::thread(&ControlThread::gps_acq_assist_data_collector, this); - gps_ref_location_data_collector_thread_ = boost::thread(&ControlThread::gps_ref_location_data_collector, this); - gps_ref_time_data_collector_thread_ = boost::thread(&ControlThread::gps_ref_time_data_collector, this); - // Main loop to read and process the control messages while (flowgraph_->running() && !stop_) { @@ -147,15 +134,6 @@ void ControlThread::run() std::cout << "Stopping GNSS-SDR, please wait!" << std::endl; flowgraph_->stop(); stop_ = true; - // sending empty data to terminate the threads - global_gps_acq_assist_queue.push(Gps_Acq_Assist()); - global_gps_ref_location_queue.push(Gps_Ref_Location()); - global_gps_ref_time_queue.push(Gps_Ref_Time()); - - // Join GPS threads - gps_acq_assist_data_collector_thread_.join(); - gps_ref_location_data_collector_thread_.join(); - gps_ref_time_data_collector_thread_.join(); //Join keyboard thread #ifdef OLD_BOOST @@ -183,89 +161,94 @@ void ControlThread::set_control_queue(boost::shared_ptr control_q /* * Returns true if reading was successful */ -//bool ControlThread::read_assistance_from_XML() -//{ -// // return variable (true == succeeded) -// bool ret = false; -// // getting names from the config file, if available -// std::string eph_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ephemeris_xml", eph_default_xml_filename); -// std::string utc_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_utc_model.xml", utc_default_xml_filename); -// std::string iono_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_iono_xml", iono_default_xml_filename); -// std::string ref_time_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ref_time_xml", ref_time_default_xml_filename); -// std::string ref_location_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ref_location_xml", ref_location_default_xml_filename); -// -// std::cout << "SUPL: Try read GPS ephemeris from XML file " << eph_xml_filename << std::endl; -// if (supl_client_ephemeris_.load_ephemeris_xml(eph_xml_filename) == true) -// { -// std::map::iterator gps_eph_iter; -// for(gps_eph_iter = supl_client_ephemeris_.gps_ephemeris_map.begin(); -// gps_eph_iter != supl_client_ephemeris_.gps_ephemeris_map.end(); -// gps_eph_iter++) -// { -// std::cout << "SUPL: Read XML Ephemeris for GPS SV " << gps_eph_iter->first << std::endl; -// global_gps_ephemeris_queue.push(gps_eph_iter->second); -// } -// ret = true; -// } -// else -// { -// std::cout << "ERROR: SUPL client error reading XML" << std::endl; -// std::cout << "Disabling SUPL assistance..." << std::endl; -// } -// // Only look for {utc, iono, ref time, ref location} if SUPL is enabled -// bool enable_gps_supl_assistance = configuration_->property("GNSS-SDR.SUPL_gps_enabled", false); -// if (enable_gps_supl_assistance == true) -// { -// // Try to read UTC model from XML -// if (supl_client_acquisition_.load_utc_xml(utc_xml_filename) == true) -// { -// LOG(INFO) << "SUPL: Read XML UTC model"; -// global_gps_utc_model_queue.push(supl_client_acquisition_.gps_utc); -// } -// else -// { -// LOG(INFO) << "SUPL: couldn't read UTC model XML"; -// } -// -// // Try to read Iono model from XML -// if (supl_client_acquisition_.load_iono_xml(iono_xml_filename) == true) -// { -// LOG(INFO) << "SUPL: Read XML IONO model"; -// global_gps_iono_queue.push(supl_client_acquisition_.gps_iono); -// } -// else -// { -// LOG(INFO) << "SUPL: couldn't read IONO model XML"; -// } -// -// // Try to read Ref Time from XML -// if (supl_client_acquisition_.load_ref_time_xml(ref_time_xml_filename) == true) -// { -// LOG(INFO) << "SUPL: Read XML Ref Time"; -// global_gps_ref_time_queue.push(supl_client_acquisition_.gps_time); -// } -// else -// { -// LOG(INFO) << "SUPL: couldn't read Ref Time XML"; -// } -// -// // Try to read Ref Location from XML -// if (supl_client_acquisition_.load_ref_location_xml(ref_location_xml_filename) == true) -// { -// LOG(INFO) << "SUPL: Read XML Ref Location"; -// global_gps_ref_location_queue.push(supl_client_acquisition_.gps_ref_loc); -// } -// else -// { -// LOG(INFO) << "SUPL: couldn't read Ref Location XML"; -// } -// } -// -// return ret; -//} +bool ControlThread::read_assistance_from_XML() +{ + // return variable (true == succeeded) + bool ret = false; + // getting names from the config file, if available + std::string eph_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ephemeris_xml", eph_default_xml_filename); + std::string utc_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_utc_model.xml", utc_default_xml_filename); + std::string iono_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_iono_xml", iono_default_xml_filename); + std::string ref_time_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ref_time_xml", ref_time_default_xml_filename); + std::string ref_location_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ref_location_xml", ref_location_default_xml_filename); + + std::cout << "SUPL: Try read GPS ephemeris from XML file " << eph_xml_filename << std::endl; + if (supl_client_ephemeris_.load_ephemeris_xml(eph_xml_filename) == true) + { + std::map::iterator gps_eph_iter; + for(gps_eph_iter = supl_client_ephemeris_.gps_ephemeris_map.begin(); + gps_eph_iter != supl_client_ephemeris_.gps_ephemeris_map.end(); + gps_eph_iter++) + { + std::cout << "SUPL: Read XML Ephemeris for GPS SV " << gps_eph_iter->first << std::endl; + std::shared_ptr tmp_obj= std::make_shared(gps_eph_iter->second); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); + } + ret = true; + } + else + { + std::cout << "ERROR: SUPL client error reading XML" << std::endl; + std::cout << "Disabling SUPL assistance..." << std::endl; + } + // Only look for {utc, iono, ref time, ref location} if SUPL is enabled + bool enable_gps_supl_assistance = configuration_->property("GNSS-SDR.SUPL_gps_enabled", false); + if (enable_gps_supl_assistance == true) + { + // Try to read UTC model from XML + if (supl_client_acquisition_.load_utc_xml(utc_xml_filename) == true) + { + LOG(INFO) << "SUPL: Read XML UTC model"; + std::shared_ptr tmp_obj= std::make_shared(supl_client_acquisition_.gps_utc); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); + } + else + { + LOG(INFO) << "SUPL: couldn't read UTC model XML"; + } + + // Try to read Iono model from XML + if (supl_client_acquisition_.load_iono_xml(iono_xml_filename) == true) + { + LOG(INFO) << "SUPL: Read XML IONO model"; + std::shared_ptr tmp_obj= std::make_shared(supl_client_acquisition_.gps_iono); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); + } + else + { + LOG(INFO) << "SUPL: couldn't read IONO model XML"; + } + + // Try to read Ref Time from XML + if (supl_client_acquisition_.load_ref_time_xml(ref_time_xml_filename) == true) + { + LOG(INFO) << "SUPL: Read XML Ref Time"; + std::shared_ptr tmp_obj= std::make_shared(supl_client_acquisition_.gps_time); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); + } + else + { + LOG(INFO) << "SUPL: couldn't read Ref Time XML"; + } + + // Try to read Ref Location from XML + if (supl_client_acquisition_.load_ref_location_xml(ref_location_xml_filename) == true) + { + LOG(INFO) << "SUPL: Read XML Ref Location"; + std::shared_ptr tmp_obj= std::make_shared(supl_client_acquisition_.gps_ref_loc); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); + } + else + { + LOG(INFO) << "SUPL: couldn't read Ref Location XML"; + } + } + + return ret; +} -// Returns true if reading was successful +//todo: The save assistance function needs to be moved to the PVT block because now the global maps are deprecated, and PVT is the only block that have all the information //bool ControlThread::save_assistance_to_XML() //{ // // return variable (true == succeeded) @@ -413,10 +396,8 @@ void ControlThread::init() gps_eph_iter++) { std::cout << "SUPL: Received Ephemeris for GPS SV " << gps_eph_iter->first << std::endl; - //TODO: Now the ephemeris are transported from telemetry decoder to PVT using msg queues. - // in order to assist the receiver, it is needed to produce a GNURadio message from this thread to the PVT message queue - // global queues or maps are deprecated in this version - //global_gps_ephemeris_map.write(gps_eph_iter->second.i_satellite_PRN, gps_eph_iter->second); + std::shared_ptr tmp_obj= std::make_shared(gps_eph_iter->second); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); } //Save ephemeris to XML file std::string eph_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ephemeris_xml", eph_default_xml_filename); @@ -452,20 +433,20 @@ void ControlThread::init() gps_alm_iter++) { std::cout << "SUPL: Received Almanac for GPS SV " << gps_alm_iter->first << std::endl; - //TODO: use msg queues - //global_gps_almanac_queue.push(gps_alm_iter->second); + std::shared_ptr tmp_obj= std::make_shared(gps_alm_iter->second); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); } if (supl_client_ephemeris_.gps_iono.valid == true) { std::cout << "SUPL: Received GPS Iono" << std::endl; - //TODO: use msg queues - //global_gps_iono_map.write(0, supl_client_ephemeris_.gps_iono); + std::shared_ptr tmp_obj= std::make_shared(supl_client_ephemeris_.gps_iono); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); } if (supl_client_ephemeris_.gps_utc.valid == true) { std::cout << "SUPL: Received GPS UTC Model" << std::endl; - //TODO: use msg queues - //global_gps_utc_model_map.write(0, supl_client_ephemeris_.gps_utc); + std::shared_ptr tmp_obj= std::make_shared(supl_client_ephemeris_.gps_utc); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); } } else @@ -492,12 +473,14 @@ void ControlThread::init() if (supl_client_acquisition_.gps_ref_loc.valid == true) { std::cout << "SUPL: Received Ref Location (Acquisition Assistance)" << std::endl; - global_gps_ref_location_map.write(0, supl_client_acquisition_.gps_ref_loc); + std::shared_ptr tmp_obj= std::make_shared(supl_client_acquisition_.gps_ref_loc); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); } if (supl_client_acquisition_.gps_time.valid == true) { std::cout << "SUPL: Received Ref Time (Acquisition Assistance)" << std::endl; - global_gps_ref_time_map.write(0, supl_client_acquisition_.gps_time); + std::shared_ptr tmp_obj= std::make_shared(supl_client_acquisition_.gps_time); + flowgraph_->send_telemetry_msg(pmt::make_any(tmp_obj)); } } else @@ -596,52 +579,6 @@ void ControlThread::gps_acq_assist_data_collector() } } -void ControlThread::gps_ref_location_data_collector() -{ - // ############ READ REF LOCATION #################### - Gps_Ref_Location gps_ref_location; - while(stop_ == false) - { - global_gps_ref_location_queue.wait_and_pop(gps_ref_location); - LOG(INFO) << "New ref location record has arrived with lat=" << gps_ref_location.lat << " lon=" << gps_ref_location.lon; - // insert new ref location record to the global ref location map - global_gps_ref_location_map.write(0, gps_ref_location); - } -} - - -void ControlThread::gps_ref_time_data_collector() -{ - // ############ READ REF TIME #################### - Gps_Ref_Time gps_ref_time; - Gps_Ref_Time gps_ref_time_old; - while(stop_ == false) - { - global_gps_ref_time_queue.wait_and_pop(gps_ref_time); - LOG(INFO) << "New ref time record has arrived with TOW=" << gps_ref_time.d_TOW << " Week=" << gps_ref_time.d_Week; - // insert new ref time record to the global ref time map - if (global_gps_ref_time_map.read(0, gps_ref_time_old)) - { - if (gps_ref_time.d_Week > gps_ref_time_old.d_Week) - { - global_gps_ref_time_map.write(0, gps_ref_time); - } - else if ((gps_ref_time.d_Week == gps_ref_time_old.d_Week) and (gps_ref_time.d_TOW > gps_ref_time_old.d_TOW)) - { - global_gps_ref_time_map.write(0, gps_ref_time); - } - else - { - LOG(INFO) << "Not updating the existing ref time"; - } - } - else - { - // insert new ref time record - global_gps_ref_time_map.write(0, gps_ref_time); - } - } -} void ControlThread::keyboard_listener() { diff --git a/src/core/receiver/control_thread.h b/src/core/receiver/control_thread.h index 0f45300c8..faf38a15c 100644 --- a/src/core/receiver/control_thread.h +++ b/src/core/receiver/control_thread.h @@ -124,7 +124,7 @@ private: void init(); // Read {ephemeris, iono, utc, ref loc, ref time} assistance from a local XML file previously recorded - //bool read_assistance_from_XML(); + bool read_assistance_from_XML(); // Save {ephemeris, iono, utc, ref loc, ref time} assistance to a local XML file //bool save_assistance_to_XML(); @@ -133,41 +133,11 @@ private: void process_control_messages(); - /* - * \brief Blocking function that reads the ref location queue and updates the shared map - */ - void gps_ref_location_data_collector(); - - /* - * \brief Blocking function that reads the ref time queue and updates the shared map - */ - void gps_ref_time_data_collector(); - /* * Blocking function that reads the GPS assistance queue */ void gps_acq_assist_data_collector(); - - /* - * Blocking function that reads the Galileo ephemeris queue and updates the shared ephemeris map, accessible from the PVT block - */ - void galileo_ephemeris_data_collector(); - - /* - * Blocking function that reads the UTC model queue and updates the shared map, accessible from the PVT block - */ - void galileo_utc_model_data_collector(); - - /* - * Blocking function that reads the iono data queue and updates the shared map, accessible from the PVT block - */ - void galileo_iono_data_collector(); - - /* - * Blocking function that reads the galileo_almanac queue and updates the shared map, accessible from the PVT block - */ - void galileo_almanac_data_collector(); - + void apply_action(unsigned int what); std::shared_ptr flowgraph_; std::shared_ptr configuration_; @@ -179,15 +149,8 @@ private: unsigned int processed_control_messages_; unsigned int applied_actions_; boost::thread keyboard_thread_; - boost::thread gps_acq_assist_data_collector_thread_; - boost::thread gps_ref_location_data_collector_thread_; - boost::thread gps_ref_time_data_collector_thread_; - - boost::thread galileo_ephemeris_data_collector_thread_; - boost::thread galileo_utc_model_data_collector_thread_; - boost::thread galileo_iono_data_collector_thread_; - boost::thread galileo_almanac_data_collector_thread_; + void keyboard_listener(); // default filename for assistance data diff --git a/src/core/receiver/gnss_flowgraph.cc b/src/core/receiver/gnss_flowgraph.cc index 0879e219e..ad029b322 100644 --- a/src/core/receiver/gnss_flowgraph.cc +++ b/src/core/receiver/gnss_flowgraph.cc @@ -357,6 +357,14 @@ void GNSSFlowgraph::wait() } +bool GNSSFlowgraph::send_telemetry_msg(pmt::pmt_t msg) +{ + //push ephemeris to PVT telemetry msg in port using a channel out port + // it uses the first channel as a message produces (it is already connected to PVT) + channels_.at(0)->get_right_block()->message_port_pub(pmt::mp("telemetry"), msg); + return true; +} + /* * Applies an action to the flowgraph * diff --git a/src/core/receiver/gnss_flowgraph.h b/src/core/receiver/gnss_flowgraph.h index 3ca3183bc..8d93aec67 100644 --- a/src/core/receiver/gnss_flowgraph.h +++ b/src/core/receiver/gnss_flowgraph.h @@ -107,7 +107,12 @@ public: { return running_; } - + /*! + * \brief Sends a GNURadio asyncronous message from telemetry to PVT + * + * It is used to assist the receiver with external ephemeris data + */ + bool send_telemetry_msg(pmt::pmt_t msg); private: void init(); // Populates the SV PRN list available for acquisition and tracking void set_signals_list(); diff --git a/src/main/main.cc b/src/main/main.cc index 3819a85c4..9bd48e834 100644 --- a/src/main/main.cc +++ b/src/main/main.cc @@ -85,12 +85,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_acq_assist_map; -concurrent_map global_gps_ref_time_map; -concurrent_map global_gps_ref_location_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 c15a1a77c..e4f9f003a 100644 --- a/src/utils/front-end-cal/main.cc +++ b/src/utils/front-end-cal/main.cc @@ -88,12 +88,6 @@ std::string s3_ = s1_ + s2_; DEFINE_string(config_file, s3_, "Path to the file containing the configuration parameters"); -concurrent_queue global_gps_ephemeris_queue; -concurrent_queue global_gps_iono_queue; -concurrent_queue global_gps_utc_model_queue; -concurrent_queue global_gps_almanac_queue; -concurrent_queue global_gps_acq_assist_queue; - concurrent_map global_gps_ephemeris_map; concurrent_map global_gps_iono_map; concurrent_map global_gps_utc_model_map; From 6ba8cea5f44d7d3e748b238ddfb7c17409cd7391 Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Wed, 13 Apr 2016 16:45:17 +0200 Subject: [PATCH 2/5] removed unused queue from PCPS acquisition constructors --- .../adapters/galileo_e1_pcps_ambiguous_acquisition.cc | 7 +++---- .../adapters/galileo_e1_pcps_ambiguous_acquisition.h | 4 +--- .../acquisition/adapters/gps_l1_ca_pcps_acquisition.cc | 9 ++++----- .../acquisition/adapters/gps_l1_ca_pcps_acquisition.h | 2 +- .../acquisition/adapters/gps_l2_m_pcps_acquisition.cc | 7 +++---- .../acquisition/adapters/gps_l2_m_pcps_acquisition.h | 4 +--- .../acquisition/gnuradio_blocks/pcps_acquisition_cc.cc | 8 ++++---- .../acquisition/gnuradio_blocks/pcps_acquisition_cc.h | 8 +++----- .../acquisition/gnuradio_blocks/pcps_acquisition_sc.cc | 7 +++---- .../acquisition/gnuradio_blocks/pcps_acquisition_sc.h | 8 +++----- src/core/receiver/gnss_block_factory.cc | 10 +++++----- .../gps_l1_ca_pcps_acquisition_gsoc2013_test.cc | 8 ++++---- .../gnss_block/gps_l1_ca_pcps_acquisition_test.cc | 6 +++--- src/tests/gnss_block/gps_l2_m_pcps_acquisition_test.cc | 6 +++--- 14 files changed, 41 insertions(+), 53 deletions(-) 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 1da387806..c80d4f46e 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc @@ -41,9 +41,8 @@ using google::LogMessage; GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition( ConfigurationInterface* configuration, std::string role, - unsigned int in_streams, unsigned int out_streams, - boost::shared_ptr queue) : - role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue) + unsigned int in_streams, unsigned int out_streams) : + role_(role), in_streams_(in_streams), out_streams_(out_streams) { configuration_ = configuration; std::string default_item_type = "gr_complex"; @@ -98,7 +97,7 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition( item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_make_acquisition_cc(sampled_ms_, max_dwells_, shift_resolution_, if_, fs_in_, samples_per_ms, code_length_, - bit_transition_flag_, use_CFAR_algorithm_flag_, queue_, dump_, dump_filename_); + bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, dump_filename_); stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() << ")"; DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() << ")"; 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 efd53e03e..066d44f26 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.h +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.h @@ -33,7 +33,6 @@ #define GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_H_ #include -#include #include #include "gnss_synchro.h" #include "acquisition_interface.h" @@ -51,7 +50,7 @@ class GalileoE1PcpsAmbiguousAcquisition: public AcquisitionInterface public: GalileoE1PcpsAmbiguousAcquisition(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, boost::shared_ptr queue); + unsigned int out_streams); virtual ~GalileoE1PcpsAmbiguousAcquisition(); @@ -160,7 +159,6 @@ private: std::string role_; 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.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc index 385f3d668..e1d6ba8f0 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc @@ -45,9 +45,8 @@ using google::LogMessage; GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition( ConfigurationInterface* configuration, std::string role, - unsigned int in_streams, unsigned int out_streams, - gr::msg_queue::sptr queue) : - role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue) + unsigned int in_streams, unsigned int out_streams) : + role_(role), in_streams_(in_streams), out_streams_(out_streams) { configuration_ = configuration; std::string default_item_type = "gr_complex"; @@ -90,14 +89,14 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition( item_size_ = sizeof(lv_16sc_t); acquisition_sc_ = pcps_make_acquisition_sc(sampled_ms_, max_dwells_, shift_resolution_, if_, fs_in_, code_length_, code_length_, - bit_transition_flag_, use_CFAR_algorithm_flag_, queue_, dump_, dump_filename_); + bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, dump_filename_); DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() << ")"; }else{ item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_make_acquisition_cc(sampled_ms_, max_dwells_, shift_resolution_, if_, fs_in_, code_length_, code_length_, - bit_transition_flag_, use_CFAR_algorithm_flag_, queue_, dump_, dump_filename_); + bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, dump_filename_); DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() << ")"; } 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 a14ff1635..35946bbe9 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.h @@ -61,7 +61,7 @@ class GpsL1CaPcpsAcquisition: public AcquisitionInterface public: GpsL1CaPcpsAcquisition(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, boost::shared_ptr queue); + unsigned int out_streams); virtual ~GpsL1CaPcpsAcquisition(); 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 b8de283ae..061e54a45 100644 --- a/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc @@ -43,9 +43,8 @@ using google::LogMessage; GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition( ConfigurationInterface* configuration, std::string role, - unsigned int in_streams, unsigned int out_streams, - gr::msg_queue::sptr queue) : - role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue) + unsigned int in_streams, unsigned int out_streams) : + role_(role), in_streams_(in_streams), out_streams_(out_streams) { configuration_ = configuration; std::string default_item_type = "gr_complex"; @@ -88,7 +87,7 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition( item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_make_acquisition_cc(1, max_dwells_, shift_resolution_, if_, fs_in_, code_length_, code_length_, - bit_transition_flag_, use_CFAR_algorithm_flag_, queue_, dump_, dump_filename_); + bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, dump_filename_); stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); 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 939d7d7e8..1b441e9a8 100644 --- a/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.h @@ -35,7 +35,6 @@ #define GNSS_SDR_GPS_L2_M_PCPS_ACQUISITION_H_ #include -#include #include #include #include "gnss_synchro.h" @@ -57,7 +56,7 @@ class GpsL2MPcpsAcquisition: public AcquisitionInterface public: GpsL2MPcpsAcquisition(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, boost::shared_ptr queue); + unsigned int out_streams); virtual ~GpsL2MPcpsAcquisition(); @@ -168,7 +167,6 @@ private: std::string role_; 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/gnuradio_blocks/pcps_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc index 399229073..971517312 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc @@ -50,13 +50,13 @@ pcps_acquisition_cc_sptr pcps_make_acquisition_cc( unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename) { return pcps_acquisition_cc_sptr( new pcps_acquisition_cc(sampled_ms, max_dwells, doppler_max, freq, fs_in, samples_per_ms, - samples_per_code, bit_transition_flag, use_CFAR_algorithm_flag, queue, dump, dump_filename)); + samples_per_code, bit_transition_flag, use_CFAR_algorithm_flag, dump, dump_filename)); } pcps_acquisition_cc::pcps_acquisition_cc( @@ -64,7 +64,7 @@ pcps_acquisition_cc::pcps_acquisition_cc( unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename) : gr::block("pcps_acquisition_cc", gr::io_signature::make(1, 1, sizeof(gr_complex) * sampled_ms * samples_per_ms * ( bit_transition_flag ? 2 : 1 )), @@ -73,7 +73,7 @@ pcps_acquisition_cc::pcps_acquisition_cc( d_sample_counter = 0; // SAMPLE COUNTER d_active = false; d_state = 0; - d_queue = queue; + //d_queue = queue; d_freq = freq; d_fs_in = fs_in; d_samples_per_ms = samples_per_ms; diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.h index 8a91f1f6c..b7b4577d6 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.h @@ -53,7 +53,6 @@ #include #include #include -#include #include #include #include "concurrent_queue.h" @@ -68,7 +67,7 @@ pcps_make_acquisition_cc(unsigned int sampled_ms, unsigned int max_dwells, unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename); /*! @@ -85,14 +84,14 @@ private: unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename); pcps_acquisition_cc(unsigned int sampled_ms, unsigned int max_dwells, unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename); void update_local_carrier(gr_complex* carrier_vector, int correlator_length_samples, float freq); @@ -125,7 +124,6 @@ private: float d_test_statistics; bool d_bit_transition_flag; bool d_use_CFAR_algorithm_flag; - gr::msg_queue::sptr d_queue; concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc index 1b6bc9ed2..fe01f2425 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc @@ -49,13 +49,13 @@ pcps_acquisition_sc_sptr pcps_make_acquisition_sc( unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename) { return pcps_acquisition_sc_sptr( new pcps_acquisition_sc(sampled_ms, max_dwells, doppler_max, freq, fs_in, samples_per_ms, - samples_per_code, bit_transition_flag, use_CFAR_algorithm_flag, queue, dump, dump_filename)); + samples_per_code, bit_transition_flag, use_CFAR_algorithm_flag, dump, dump_filename)); } pcps_acquisition_sc::pcps_acquisition_sc( @@ -63,7 +63,7 @@ pcps_acquisition_sc::pcps_acquisition_sc( unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename) : gr::block("pcps_acquisition_sc", gr::io_signature::make(1, 1, sizeof(lv_16sc_t) * sampled_ms * samples_per_ms * ( bit_transition_flag ? 2 : 1 )), @@ -72,7 +72,6 @@ pcps_acquisition_sc::pcps_acquisition_sc( d_sample_counter = 0; // SAMPLE COUNTER d_active = false; d_state = 0; - d_queue = queue; d_freq = freq; d_fs_in = fs_in; d_samples_per_ms = samples_per_ms; diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.h b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.h index 89efcb460..81bd1ab55 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.h +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.h @@ -53,7 +53,6 @@ #include #include #include -#include #include #include #include "concurrent_queue.h" @@ -68,7 +67,7 @@ pcps_make_acquisition_sc(unsigned int sampled_ms, unsigned int max_dwells, unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename); /*! @@ -85,14 +84,14 @@ private: unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename); pcps_acquisition_sc(unsigned int sampled_ms, unsigned int max_dwells, unsigned int doppler_max, long freq, long fs_in, int samples_per_ms, int samples_per_code, bool bit_transition_flag, bool use_CFAR_algorithm_flag, - gr::msg_queue::sptr queue, bool dump, + bool dump, std::string dump_filename); void update_local_carrier(gr_complex* carrier_vector, @@ -129,7 +128,6 @@ private: float d_test_statistics; bool d_bit_transition_flag; bool d_use_CFAR_algorithm_flag; - gr::msg_queue::sptr d_queue; concurrent_queue *d_channel_internal_queue; std::ofstream d_dump_file; bool d_active; diff --git a/src/core/receiver/gnss_block_factory.cc b/src/core/receiver/gnss_block_factory.cc index ac3e74201..dfb89e131 100644 --- a/src/core/receiver/gnss_block_factory.cc +++ b/src/core/receiver/gnss_block_factory.cc @@ -1213,7 +1213,7 @@ std::unique_ptr GNSSBlockFactory::GetBlock( else if (implementation.compare("GPS_L1_CA_PCPS_Acquisition") == 0) { std::unique_ptr block_(new GpsL1CaPcpsAcquisition(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("GPS_L1_CA_PCPS_Assisted_Acquisition") == 0) @@ -1259,7 +1259,7 @@ std::unique_ptr GNSSBlockFactory::GetBlock( else if (implementation.compare("Galileo_E1_PCPS_Ambiguous_Acquisition") == 0) { std::unique_ptr block_(new GalileoE1PcpsAmbiguousAcquisition(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Galileo_E1_PCPS_8ms_Ambiguous_Acquisition") == 0) @@ -1435,7 +1435,7 @@ std::unique_ptr GNSSBlockFactory::GetAcqBlock( if (implementation.compare("GPS_L1_CA_PCPS_Acquisition") == 0) { std::unique_ptr block_(new GpsL1CaPcpsAcquisition(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("GPS_L1_CA_PCPS_Assisted_Acquisition") == 0) @@ -1481,13 +1481,13 @@ std::unique_ptr GNSSBlockFactory::GetAcqBlock( else if (implementation.compare("GPS_L2_M_PCPS_Acquisition") == 0) { std::unique_ptr block_(new GpsL2MPcpsAcquisition(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Galileo_E1_PCPS_Ambiguous_Acquisition") == 0) { std::unique_ptr block_(new GalileoE1PcpsAmbiguousAcquisition(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Galileo_E1_PCPS_8ms_Ambiguous_Acquisition") == 0) 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 475c35945..c4012b8ed 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 @@ -361,7 +361,7 @@ void GpsL1CaPcpsAcquisitionGSoC2013Test::stop_queue() TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, Instantiate) { config_1(); - acquisition = new GpsL1CaPcpsAcquisition(config.get(), "Acquisition", 1, 1, queue); + acquisition = new GpsL1CaPcpsAcquisition(config.get(), "Acquisition", 1, 1); delete acquisition; } @@ -375,7 +375,7 @@ TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, ConnectAndRun) top_block = gr::make_top_block("Acquisition test"); config_1(); - acquisition = new GpsL1CaPcpsAcquisition(config.get(), "Acquisition", 1, 1, queue); + acquisition = new GpsL1CaPcpsAcquisition(config.get(), "Acquisition", 1, 1); ASSERT_NO_THROW( { acquisition->connect(top_block); @@ -404,7 +404,7 @@ TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, ValidationOfResults) queue = gr::msg_queue::make(0); top_block = gr::make_top_block("Acquisition test"); - acquisition = new GpsL1CaPcpsAcquisition(config.get(), "Acquisition", 1, 1, queue); + acquisition = new GpsL1CaPcpsAcquisition(config.get(), "Acquisition", 1, 1); ASSERT_NO_THROW( { acquisition->set_channel(1); @@ -501,7 +501,7 @@ TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, ValidationOfResultsProbabilities) config_2(); queue = gr::msg_queue::make(0); top_block = gr::make_top_block("Acquisition test"); - acquisition = new GpsL1CaPcpsAcquisition(config.get(), "Acquisition", 1, 1, queue); + acquisition = new GpsL1CaPcpsAcquisition(config.get(), "Acquisition", 1, 1); ASSERT_NO_THROW( { acquisition->set_channel(1); 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 f22c8fcf0..de86b2875 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 @@ -136,7 +136,7 @@ TEST_F(GpsL1CaPcpsAcquisitionTest, Instantiate) { init(); queue = gr::msg_queue::make(0); - std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1, queue); + std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1); } TEST_F(GpsL1CaPcpsAcquisitionTest, ConnectAndRun) @@ -150,7 +150,7 @@ TEST_F(GpsL1CaPcpsAcquisitionTest, ConnectAndRun) queue = gr::msg_queue::make(0); init(); - std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1, queue); + std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1); ASSERT_NO_THROW( { acquisition->connect(top_block); @@ -183,7 +183,7 @@ TEST_F(GpsL1CaPcpsAcquisitionTest, ValidationOfResults) double expected_doppler_hz = 1680; init(); start_queue(); - std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1, queue); + std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1); ASSERT_NO_THROW( { 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 d56b60a7a..11a54402f 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 @@ -148,7 +148,7 @@ TEST_F(GpsL2MPcpsAcquisitionTest, Instantiate) { init(); queue = gr::msg_queue::make(0); - std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1, queue); + std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1); } TEST_F(GpsL2MPcpsAcquisitionTest, ConnectAndRun) @@ -160,7 +160,7 @@ TEST_F(GpsL2MPcpsAcquisitionTest, ConnectAndRun) queue = gr::msg_queue::make(0); init(); - std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1, queue); + std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1); ASSERT_NO_THROW( { acquisition->connect(top_block); @@ -194,7 +194,7 @@ TEST_F(GpsL2MPcpsAcquisitionTest, ValidationOfResults) double expected_doppler_hz = 1200;//3000; init(); start_queue(); - std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1, queue); + std::shared_ptr acquisition = std::make_shared(config.get(), "Acquisition", 1, 1); ASSERT_NO_THROW( { From 638fbf7bd89ea78e89ee5b05b16da20af1fe7706 Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Wed, 13 Apr 2016 16:55:14 +0200 Subject: [PATCH 3/5] Removing unused queues in PVT --- src/algorithms/PVT/adapters/galileo_e1_pvt.cc | 8 +++----- src/algorithms/PVT/adapters/galileo_e1_pvt.h | 5 +---- src/algorithms/PVT/adapters/gps_l1_ca_pvt.cc | 8 +++----- src/algorithms/PVT/adapters/gps_l1_ca_pvt.h | 5 +---- src/algorithms/PVT/adapters/hybrid_pvt.cc | 8 +++----- src/algorithms/PVT/adapters/hybrid_pvt.h | 5 +---- src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc | 7 +++---- src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.h | 5 ----- src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc | 6 ++---- src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.h | 5 ----- src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc | 7 +++---- src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.h | 5 ----- src/core/receiver/gnss_block_factory.cc | 6 +++--- 13 files changed, 23 insertions(+), 57 deletions(-) diff --git a/src/algorithms/PVT/adapters/galileo_e1_pvt.cc b/src/algorithms/PVT/adapters/galileo_e1_pvt.cc index 56b9e28b7..67fb38069 100644 --- a/src/algorithms/PVT/adapters/galileo_e1_pvt.cc +++ b/src/algorithms/PVT/adapters/galileo_e1_pvt.cc @@ -41,12 +41,10 @@ using google::LogMessage; GalileoE1Pvt::GalileoE1Pvt(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { // dump parameters std::string default_dump_filename = "./pvt.dat"; @@ -82,7 +80,7 @@ GalileoE1Pvt::GalileoE1Pvt(ConfigurationInterface* configuration, bool flag_rtcm_server; flag_rtcm_server = configuration->property(role + ".flag_rtcm_server", false); // make PVT object - pvt_ = galileo_e1_make_pvt_cc(in_streams_, queue_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname); + pvt_ = galileo_e1_make_pvt_cc(in_streams_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname); DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")"; } diff --git a/src/algorithms/PVT/adapters/galileo_e1_pvt.h b/src/algorithms/PVT/adapters/galileo_e1_pvt.h index e8f622253..3614c123a 100644 --- a/src/algorithms/PVT/adapters/galileo_e1_pvt.h +++ b/src/algorithms/PVT/adapters/galileo_e1_pvt.h @@ -35,7 +35,6 @@ #define GNSS_SDR_GALILEO_E1_PVT_H_ #include -#include #include "pvt_interface.h" #include "galileo_e1_pvt_cc.h" @@ -51,8 +50,7 @@ public: GalileoE1Pvt(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~GalileoE1Pvt(); @@ -91,7 +89,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/PVT/adapters/gps_l1_ca_pvt.cc b/src/algorithms/PVT/adapters/gps_l1_ca_pvt.cc index a44f24620..3ecb8c34b 100644 --- a/src/algorithms/PVT/adapters/gps_l1_ca_pvt.cc +++ b/src/algorithms/PVT/adapters/gps_l1_ca_pvt.cc @@ -40,12 +40,10 @@ using google::LogMessage; GpsL1CaPvt::GpsL1CaPvt(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { // dump parameters std::string default_dump_filename = "./pvt.dat"; @@ -82,7 +80,7 @@ GpsL1CaPvt::GpsL1CaPvt(ConfigurationInterface* configuration, flag_rtcm_server = configuration->property(role + ".flag_rtcm_server", false); // make PVT object - pvt_ = gps_l1_ca_make_pvt_cc(in_streams_, queue_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname ); + pvt_ = gps_l1_ca_make_pvt_cc(in_streams_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname ); DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")"; } diff --git a/src/algorithms/PVT/adapters/gps_l1_ca_pvt.h b/src/algorithms/PVT/adapters/gps_l1_ca_pvt.h index 1497247da..bb15a0545 100644 --- a/src/algorithms/PVT/adapters/gps_l1_ca_pvt.h +++ b/src/algorithms/PVT/adapters/gps_l1_ca_pvt.h @@ -37,7 +37,6 @@ #define GNSS_SDR_GPS_L1_CA_PVT_H_ #include -#include #include "pvt_interface.h" #include "gps_l1_ca_pvt_cc.h" @@ -53,8 +52,7 @@ public: GpsL1CaPvt(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~GpsL1CaPvt(); @@ -92,7 +90,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/PVT/adapters/hybrid_pvt.cc b/src/algorithms/PVT/adapters/hybrid_pvt.cc index bbf5c55ae..89eea8093 100644 --- a/src/algorithms/PVT/adapters/hybrid_pvt.cc +++ b/src/algorithms/PVT/adapters/hybrid_pvt.cc @@ -41,12 +41,10 @@ using google::LogMessage; HybridPvt::HybridPvt(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { // dump parameters std::string default_dump_filename = "./pvt.dat"; @@ -82,7 +80,7 @@ HybridPvt::HybridPvt(ConfigurationInterface* configuration, bool flag_rtcm_server; flag_rtcm_server = configuration->property(role + ".flag_rtcm_server", false); // make PVT object - pvt_ = hybrid_make_pvt_cc(in_streams_, queue_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname); + pvt_ = hybrid_make_pvt_cc(in_streams_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname); DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")"; } diff --git a/src/algorithms/PVT/adapters/hybrid_pvt.h b/src/algorithms/PVT/adapters/hybrid_pvt.h index ae2b6ad7f..e7669a0db 100644 --- a/src/algorithms/PVT/adapters/hybrid_pvt.h +++ b/src/algorithms/PVT/adapters/hybrid_pvt.h @@ -35,7 +35,6 @@ #define GNSS_SDR_HYBRID_PVT_H_ #include -#include #include "pvt_interface.h" #include "hybrid_pvt_cc.h" @@ -51,8 +50,7 @@ public: HybridPvt(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~HybridPvt(); @@ -90,7 +88,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc b/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc index 091c03f4b..8ef747870 100644 --- a/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc +++ b/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc @@ -41,9 +41,9 @@ using google::LogMessage; galileo_e1_pvt_cc_sptr -galileo_e1_make_pvt_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) +galileo_e1_make_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) { - return galileo_e1_pvt_cc_sptr(new galileo_e1_pvt_cc(nchannels, queue, dump, dump_filename, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname)); + return galileo_e1_pvt_cc_sptr(new galileo_e1_pvt_cc(nchannels, dump, dump_filename, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname)); } @@ -93,14 +93,13 @@ void galileo_e1_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg) LOG(WARNING) << "msg_handler_telemetry Bad any cast!\n"; } } -galileo_e1_pvt_cc::galileo_e1_pvt_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) : +galileo_e1_pvt_cc::galileo_e1_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) : gr::block("galileo_e1_pvt_cc", gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)), gr::io_signature::make(0, 0, sizeof(gr_complex))) { d_output_rate_ms = output_rate_ms; d_display_rate_ms = display_rate_ms; - d_queue = queue; d_dump = dump; d_nchannels = nchannels; d_dump_filename = dump_filename; diff --git a/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.h b/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.h index 6a8a56a3e..24efb65da 100644 --- a/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.h +++ b/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.h @@ -35,7 +35,6 @@ #include #include #include -#include #include "nmea_printer.h" #include "kml_printer.h" #include "rinex_printer.h" @@ -49,7 +48,6 @@ class galileo_e1_pvt_cc; typedef boost::shared_ptr galileo_e1_pvt_cc_sptr; galileo_e1_pvt_cc_sptr galileo_e1_make_pvt_cc(unsigned int n_channels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, @@ -70,7 +68,6 @@ class galileo_e1_pvt_cc : public gr::block { private: friend galileo_e1_pvt_cc_sptr galileo_e1_make_pvt_cc(unsigned int nchannels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, @@ -84,7 +81,6 @@ private: bool flag_rtcm_tty_port, std::string rtcm_dump_devname); galileo_e1_pvt_cc(unsigned int nchannels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, @@ -99,7 +95,6 @@ private: void msg_handler_telemetry(pmt::pmt_t msg); - boost::shared_ptr d_queue; bool d_dump; bool b_rinex_header_writen; bool b_rinex_header_updated; diff --git a/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc b/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc index c1ceed891..a72a9e67f 100644 --- a/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc +++ b/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc @@ -43,9 +43,9 @@ using google::LogMessage; gps_l1_ca_pvt_cc_sptr -gps_l1_ca_make_pvt_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) +gps_l1_ca_make_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) { - return gps_l1_ca_pvt_cc_sptr(new gps_l1_ca_pvt_cc(nchannels, queue, dump, dump_filename, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname)); + return gps_l1_ca_pvt_cc_sptr(new gps_l1_ca_pvt_cc(nchannels, dump, dump_filename, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname)); } @@ -140,7 +140,6 @@ void gps_l1_ca_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg) } gps_l1_ca_pvt_cc::gps_l1_ca_pvt_cc(unsigned int nchannels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, @@ -157,7 +156,6 @@ gps_l1_ca_pvt_cc::gps_l1_ca_pvt_cc(unsigned int nchannels, { d_output_rate_ms = output_rate_ms; d_display_rate_ms = display_rate_ms; - d_queue = queue; d_dump = dump; d_nchannels = nchannels; d_dump_filename = dump_filename; diff --git a/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.h b/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.h index 054bee444..837d6a5e9 100644 --- a/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.h +++ b/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.h @@ -33,7 +33,6 @@ #include #include #include -#include #include "nmea_printer.h" #include "kml_printer.h" #include "rinex_printer.h" @@ -47,7 +46,6 @@ class gps_l1_ca_pvt_cc; typedef boost::shared_ptr gps_l1_ca_pvt_cc_sptr; gps_l1_ca_pvt_cc_sptr gps_l1_ca_make_pvt_cc(unsigned int n_channels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, @@ -69,7 +67,6 @@ class gps_l1_ca_pvt_cc : public gr::block { private: friend gps_l1_ca_pvt_cc_sptr gps_l1_ca_make_pvt_cc(unsigned int nchannels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, @@ -83,7 +80,6 @@ private: bool flag_rtcm_tty_port, std::string rtcm_dump_devname); gps_l1_ca_pvt_cc(unsigned int nchannels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, @@ -99,7 +95,6 @@ private: void msg_handler_telemetry(pmt::pmt_t msg); - boost::shared_ptr d_queue; bool d_dump; bool b_rinex_header_writen; bool b_rinex_sbs_header_writen; diff --git a/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc b/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc index 6853ead34..8e4f196f7 100644 --- a/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc +++ b/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc @@ -41,9 +41,9 @@ using google::LogMessage; hybrid_pvt_cc_sptr -hybrid_make_pvt_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) +hybrid_make_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) { - return hybrid_pvt_cc_sptr(new hybrid_pvt_cc(nchannels, queue, dump, dump_filename, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname)); + return hybrid_pvt_cc_sptr(new hybrid_pvt_cc(nchannels, dump, dump_filename, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname)); } @@ -128,14 +128,13 @@ void hybrid_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg) } -hybrid_pvt_cc::hybrid_pvt_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) : +hybrid_pvt_cc::hybrid_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) : gr::block("hybrid_pvt_cc", gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)), gr::io_signature::make(0, 0, sizeof(gr_complex))) { d_output_rate_ms = output_rate_ms; d_display_rate_ms = display_rate_ms; - d_queue = queue; d_dump = dump; d_nchannels = nchannels; d_dump_filename = dump_filename; diff --git a/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.h b/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.h index b0b25d76a..4fb746b06 100644 --- a/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.h +++ b/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.h @@ -35,7 +35,6 @@ #include #include #include -#include #include "nmea_printer.h" #include "kml_printer.h" #include "geojson_printer.h" @@ -49,7 +48,6 @@ class hybrid_pvt_cc; typedef boost::shared_ptr hybrid_pvt_cc_sptr; hybrid_pvt_cc_sptr hybrid_make_pvt_cc(unsigned int n_channels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, @@ -70,7 +68,6 @@ class hybrid_pvt_cc : public gr::block { private: friend hybrid_pvt_cc_sptr hybrid_make_pvt_cc(unsigned int nchannels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, @@ -84,7 +81,6 @@ private: bool flag_rtcm_tty_port, std::string rtcm_dump_devname); hybrid_pvt_cc(unsigned int nchannels, - boost::shared_ptr queue, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, @@ -99,7 +95,6 @@ private: void msg_handler_telemetry(pmt::pmt_t msg); - boost::shared_ptr d_queue; bool d_dump; bool b_rinex_header_writen; bool b_rinex_header_updated; diff --git a/src/core/receiver/gnss_block_factory.cc b/src/core/receiver/gnss_block_factory.cc index dfb89e131..eb88a025f 100644 --- a/src/core/receiver/gnss_block_factory.cc +++ b/src/core/receiver/gnss_block_factory.cc @@ -1392,19 +1392,19 @@ std::unique_ptr GNSSBlockFactory::GetBlock( else if (implementation.compare("GPS_L1_CA_PVT") == 0) { std::unique_ptr block_(new GpsL1CaPvt(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("GALILEO_E1_PVT") == 0) { std::unique_ptr block_(new GalileoE1Pvt(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Hybrid_PVT") == 0) { std::unique_ptr block_(new HybridPvt(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else From 6b45d4019cef302e5a1268ba416b8eb3e51ad6b0 Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Wed, 13 Apr 2016 17:02:33 +0200 Subject: [PATCH 4/5] removed unused queues in observables blocks --- .../observables/adapters/galileo_e1_observables.cc | 8 +++----- .../observables/adapters/galileo_e1_observables.h | 5 +---- .../observables/adapters/gps_l1_ca_observables.cc | 8 +++----- .../observables/adapters/gps_l1_ca_observables.h | 5 +---- .../observables/adapters/hybrid_observables.cc | 8 +++----- src/algorithms/observables/adapters/hybrid_observables.h | 5 +---- src/algorithms/observables/adapters/mixed_observables.cc | 8 +++----- src/algorithms/observables/adapters/mixed_observables.h | 5 +---- .../gnuradio_blocks/galileo_e1_observables_cc.cc | 9 ++++----- .../gnuradio_blocks/galileo_e1_observables_cc.h | 8 +++----- .../gnuradio_blocks/gps_l1_ca_observables_cc.cc | 9 ++++----- .../gnuradio_blocks/gps_l1_ca_observables_cc.h | 8 +++----- .../observables/gnuradio_blocks/hybrid_observables_cc.cc | 9 ++++----- .../observables/gnuradio_blocks/hybrid_observables_cc.h | 9 +++------ .../observables/gnuradio_blocks/mixed_observables_cc.cc | 7 +++---- .../observables/gnuradio_blocks/mixed_observables_cc.h | 8 +++----- src/core/receiver/gnss_block_factory.cc | 8 ++++---- 17 files changed, 47 insertions(+), 80 deletions(-) diff --git a/src/algorithms/observables/adapters/galileo_e1_observables.cc b/src/algorithms/observables/adapters/galileo_e1_observables.cc index f6ddd1321..e8f7218b0 100644 --- a/src/algorithms/observables/adapters/galileo_e1_observables.cc +++ b/src/algorithms/observables/adapters/galileo_e1_observables.cc @@ -39,12 +39,10 @@ using google::LogMessage; GalileoE1Observables::GalileoE1Observables(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { int output_rate_ms; output_rate_ms = configuration->property(role + ".output_rate_ms", 500); @@ -54,7 +52,7 @@ GalileoE1Observables::GalileoE1Observables(ConfigurationInterface* configuration flag_averaging = configuration->property(role + ".flag_averaging", false); dump_ = configuration->property(role + ".dump", false); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); - observables_ = galileo_e1_make_observables_cc(in_streams_, queue_, dump_, dump_filename_, output_rate_ms, flag_averaging); + observables_ = galileo_e1_make_observables_cc(in_streams_, dump_, dump_filename_, output_rate_ms, flag_averaging); DLOG(INFO) << "pseudorange(" << observables_->unique_id() << ")"; } diff --git a/src/algorithms/observables/adapters/galileo_e1_observables.h b/src/algorithms/observables/adapters/galileo_e1_observables.h index 2c7ce44de..6de5b8b62 100644 --- a/src/algorithms/observables/adapters/galileo_e1_observables.h +++ b/src/algorithms/observables/adapters/galileo_e1_observables.h @@ -35,7 +35,6 @@ #define GNSS_SDR_GALILEO_E1_OBSERVABLES_H_ #include -#include #include "observables_interface.h" #include "galileo_e1_observables_cc.h" @@ -51,8 +50,7 @@ public: GalileoE1Observables(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~GalileoE1Observables(); std::string role() { @@ -86,7 +84,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/observables/adapters/gps_l1_ca_observables.cc b/src/algorithms/observables/adapters/gps_l1_ca_observables.cc index ef8b3247a..c5c0b17ef 100644 --- a/src/algorithms/observables/adapters/gps_l1_ca_observables.cc +++ b/src/algorithms/observables/adapters/gps_l1_ca_observables.cc @@ -39,12 +39,10 @@ using google::LogMessage; GpsL1CaObservables::GpsL1CaObservables(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { int output_rate_ms; output_rate_ms = configuration->property(role + ".output_rate_ms", 500); @@ -54,7 +52,7 @@ GpsL1CaObservables::GpsL1CaObservables(ConfigurationInterface* configuration, flag_averaging = configuration->property(role + ".flag_averaging", false); dump_ = configuration->property(role + ".dump", false); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); - observables_ = gps_l1_ca_make_observables_cc(in_streams_, queue_, dump_, dump_filename_, output_rate_ms, flag_averaging); + observables_ = gps_l1_ca_make_observables_cc(in_streams_, dump_, dump_filename_, output_rate_ms, flag_averaging); DLOG(INFO) << "pseudorange(" << observables_->unique_id() << ")"; } diff --git a/src/algorithms/observables/adapters/gps_l1_ca_observables.h b/src/algorithms/observables/adapters/gps_l1_ca_observables.h index 8e8f49f40..cf83be10d 100644 --- a/src/algorithms/observables/adapters/gps_l1_ca_observables.h +++ b/src/algorithms/observables/adapters/gps_l1_ca_observables.h @@ -34,7 +34,6 @@ #define GNSS_SDR_GPS_L1_CA_OBSERVABLES_H_ #include -#include #include "observables_interface.h" #include "gps_l1_ca_observables_cc.h" @@ -50,8 +49,7 @@ public: GpsL1CaObservables(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~GpsL1CaObservables(); std::string role() { @@ -86,7 +84,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/observables/adapters/hybrid_observables.cc b/src/algorithms/observables/adapters/hybrid_observables.cc index 4eda3df3f..30832f771 100644 --- a/src/algorithms/observables/adapters/hybrid_observables.cc +++ b/src/algorithms/observables/adapters/hybrid_observables.cc @@ -39,12 +39,10 @@ using google::LogMessage; HybridObservables::HybridObservables(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { int output_rate_ms; output_rate_ms = configuration->property(role + ".output_rate_ms", 500); @@ -54,7 +52,7 @@ HybridObservables::HybridObservables(ConfigurationInterface* configuration, flag_averaging = configuration->property(role + ".flag_averaging", false); dump_ = configuration->property(role + ".dump", false); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); - observables_ = hybrid_make_observables_cc(in_streams_, queue_, dump_, dump_filename_, output_rate_ms, flag_averaging); + observables_ = hybrid_make_observables_cc(in_streams_, dump_, dump_filename_, output_rate_ms, flag_averaging); DLOG(INFO) << "pseudorange(" << observables_->unique_id() << ")"; } diff --git a/src/algorithms/observables/adapters/hybrid_observables.h b/src/algorithms/observables/adapters/hybrid_observables.h index 49fa99f32..105bcbe04 100644 --- a/src/algorithms/observables/adapters/hybrid_observables.h +++ b/src/algorithms/observables/adapters/hybrid_observables.h @@ -35,7 +35,6 @@ #define GNSS_SDR_hybrid_observables_H_ #include -#include #include "observables_interface.h" #include "hybrid_observables_cc.h" @@ -51,8 +50,7 @@ public: HybridObservables(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~HybridObservables(); std::string role() { @@ -86,7 +84,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/observables/adapters/mixed_observables.cc b/src/algorithms/observables/adapters/mixed_observables.cc index 94dedc353..22fc1c780 100644 --- a/src/algorithms/observables/adapters/mixed_observables.cc +++ b/src/algorithms/observables/adapters/mixed_observables.cc @@ -39,12 +39,10 @@ using google::LogMessage; MixedObservables::MixedObservables(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { int output_rate_ms; output_rate_ms = configuration->property(role + ".output_rate_ms", 500); @@ -54,7 +52,7 @@ MixedObservables::MixedObservables(ConfigurationInterface* configuration, flag_averaging = configuration->property(role + ".flag_averaging", false); dump_ = configuration->property(role + ".dump", false); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); - observables_ = mixed_make_observables_cc(in_streams_, queue_, dump_, dump_filename_, output_rate_ms, flag_averaging); + observables_ = mixed_make_observables_cc(in_streams_, dump_, dump_filename_, output_rate_ms, flag_averaging); DLOG(INFO) << "pseudorange(" << observables_->unique_id() << ")"; } diff --git a/src/algorithms/observables/adapters/mixed_observables.h b/src/algorithms/observables/adapters/mixed_observables.h index cb7ad2892..661f630b3 100644 --- a/src/algorithms/observables/adapters/mixed_observables.h +++ b/src/algorithms/observables/adapters/mixed_observables.h @@ -33,7 +33,6 @@ #define GNSS_SDR_MIXED_OBSERVABLES_H_ #include -#include #include "observables_interface.h" #include "mixed_observables_cc.h" @@ -49,8 +48,7 @@ public: MixedObservables(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~MixedObservables(); std::string role() { @@ -85,7 +83,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.cc b/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.cc index 7f96fd253..48506cbbf 100644 --- a/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.cc +++ b/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.cc @@ -50,18 +50,17 @@ using google::LogMessage; galileo_e1_observables_cc_sptr -galileo_e1_make_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) +galileo_e1_make_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) { - return galileo_e1_observables_cc_sptr(new galileo_e1_observables_cc(nchannels, queue, dump, dump_filename, output_rate_ms, flag_averaging)); + return galileo_e1_observables_cc_sptr(new galileo_e1_observables_cc(nchannels, dump, dump_filename, output_rate_ms, flag_averaging)); } -galileo_e1_observables_cc::galileo_e1_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) : +galileo_e1_observables_cc::galileo_e1_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) : gr::block("galileo_e1_observables_cc", gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)), gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro))) { // initialize internal vars - d_queue = queue; d_dump = dump; d_nchannels = nchannels; d_output_rate_ms = output_rate_ms; @@ -86,7 +85,7 @@ galileo_e1_observables_cc::galileo_e1_observables_cc(unsigned int nchannels, boo d_dump_file.open(d_dump_filename.c_str(), std::ios::out | std::ios::binary); LOG(INFO) << "Observables dump enabled Log file: " << d_dump_filename.c_str(); } - catch (std::ifstream::failure e) + catch (const std::ifstream::failure & e) { LOG(WARNING) << "Exception opening observables dump file " << e.what(); } diff --git a/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.h b/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.h index a16d9cfbe..b17fa1323 100644 --- a/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.h +++ b/src/algorithms/observables/gnuradio_blocks/galileo_e1_observables_cc.h @@ -37,7 +37,6 @@ #include #include #include -#include class galileo_e1_observables_cc; @@ -45,7 +44,7 @@ class galileo_e1_observables_cc; typedef boost::shared_ptr galileo_e1_observables_cc_sptr; galileo_e1_observables_cc_sptr -galileo_e1_make_observables_cc(unsigned int n_channels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); +galileo_e1_make_observables_cc(unsigned int n_channels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); /*! * \brief This class implements a block that computes Galileo observables @@ -60,8 +59,8 @@ public: private: friend galileo_e1_observables_cc_sptr - galileo_e1_make_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); - galileo_e1_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); + galileo_e1_make_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); + galileo_e1_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); //Tracking observable history std::vector> d_acc_carrier_phase_queue_rads; @@ -69,7 +68,6 @@ private: std::vector> d_symbol_TOW_queue_s; // class private vars - boost::shared_ptr d_queue; bool d_dump; bool d_flag_averaging; unsigned int d_nchannels; diff --git a/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.cc b/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.cc index bde660b90..8e59da836 100644 --- a/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.cc +++ b/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.cc @@ -47,18 +47,17 @@ using google::LogMessage; gps_l1_ca_observables_cc_sptr -gps_l1_ca_make_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) +gps_l1_ca_make_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) { - return gps_l1_ca_observables_cc_sptr(new gps_l1_ca_observables_cc(nchannels, queue, dump, dump_filename, output_rate_ms, flag_averaging)); + return gps_l1_ca_observables_cc_sptr(new gps_l1_ca_observables_cc(nchannels, dump, dump_filename, output_rate_ms, flag_averaging)); } -gps_l1_ca_observables_cc::gps_l1_ca_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) : +gps_l1_ca_observables_cc::gps_l1_ca_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) : gr::block("gps_l1_ca_observables_cc", gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)), gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro))) { // initialize internal vars - d_queue = queue; d_dump = dump; d_nchannels = nchannels; d_output_rate_ms = output_rate_ms; @@ -83,7 +82,7 @@ gps_l1_ca_observables_cc::gps_l1_ca_observables_cc(unsigned int nchannels, boost d_dump_file.open(d_dump_filename.c_str(), std::ios::out | std::ios::binary); LOG(INFO) << "Observables dump enabled Log file: " << d_dump_filename.c_str() << std::endl; } - catch (std::ifstream::failure e) + catch (const std::ifstream::failure & e) { LOG(WARNING) << "Exception opening observables dump file " << e.what() << std::endl; } diff --git a/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.h b/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.h index 174f38b85..f3b05e24b 100644 --- a/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.h +++ b/src/algorithms/observables/gnuradio_blocks/gps_l1_ca_observables_cc.h @@ -37,7 +37,6 @@ #include #include #include -#include class gps_l1_ca_observables_cc; @@ -45,7 +44,7 @@ class gps_l1_ca_observables_cc; typedef boost::shared_ptr gps_l1_ca_observables_cc_sptr; gps_l1_ca_observables_cc_sptr -gps_l1_ca_make_observables_cc(unsigned int n_channels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); +gps_l1_ca_make_observables_cc(unsigned int n_channels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); /*! * \brief This class implements a block that computes GPS L1 C/A observables @@ -60,8 +59,8 @@ public: private: friend gps_l1_ca_observables_cc_sptr - gps_l1_ca_make_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); - gps_l1_ca_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); + gps_l1_ca_make_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); + gps_l1_ca_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); //Tracking observable history @@ -70,7 +69,6 @@ private: std::vector> d_symbol_TOW_queue_s; // class private vars - boost::shared_ptr d_queue; bool d_dump; bool d_flag_averaging; unsigned int d_nchannels; diff --git a/src/algorithms/observables/gnuradio_blocks/hybrid_observables_cc.cc b/src/algorithms/observables/gnuradio_blocks/hybrid_observables_cc.cc index 52cac4e54..e3a55d79c 100644 --- a/src/algorithms/observables/gnuradio_blocks/hybrid_observables_cc.cc +++ b/src/algorithms/observables/gnuradio_blocks/hybrid_observables_cc.cc @@ -48,18 +48,17 @@ using google::LogMessage; hybrid_observables_cc_sptr -hybrid_make_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) +hybrid_make_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) { - return hybrid_observables_cc_sptr(new hybrid_observables_cc(nchannels, queue, dump, dump_filename, output_rate_ms, flag_averaging)); + return hybrid_observables_cc_sptr(new hybrid_observables_cc(nchannels, dump, dump_filename, output_rate_ms, flag_averaging)); } -hybrid_observables_cc::hybrid_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) : +hybrid_observables_cc::hybrid_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) : gr::block("hybrid_observables_cc", gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)), gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro))) { // initialize internal vars - d_queue = queue; d_dump = dump; d_nchannels = nchannels; d_output_rate_ms = output_rate_ms; @@ -77,7 +76,7 @@ hybrid_observables_cc::hybrid_observables_cc(unsigned int nchannels, boost::shar d_dump_file.open(d_dump_filename.c_str(), std::ios::out | std::ios::binary); LOG(INFO) << "Observables dump enabled Log file: " << d_dump_filename.c_str(); } - catch (std::ifstream::failure e) + catch (const std::ifstream::failure & e) { LOG(WARNING) << "Exception opening observables dump file " << e.what(); } diff --git a/src/algorithms/observables/gnuradio_blocks/hybrid_observables_cc.h b/src/algorithms/observables/gnuradio_blocks/hybrid_observables_cc.h index d1c049ed0..fcad2afea 100644 --- a/src/algorithms/observables/gnuradio_blocks/hybrid_observables_cc.h +++ b/src/algorithms/observables/gnuradio_blocks/hybrid_observables_cc.h @@ -36,7 +36,6 @@ #include #include #include -#include class hybrid_observables_cc; @@ -44,7 +43,7 @@ class hybrid_observables_cc; typedef boost::shared_ptr hybrid_observables_cc_sptr; hybrid_observables_cc_sptr -hybrid_make_observables_cc(unsigned int n_channels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); +hybrid_make_observables_cc(unsigned int n_channels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); /*! * \brief This class implements a block that computes Galileo observables @@ -53,17 +52,15 @@ class hybrid_observables_cc : public gr::block { public: ~hybrid_observables_cc (); - //void set_fs_in(unsigned long int fs_in) {d_fs_in = fs_in;}; int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items); private: friend hybrid_observables_cc_sptr - hybrid_make_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); - hybrid_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); + hybrid_make_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); + hybrid_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); // class private vars - boost::shared_ptr d_queue; bool d_dump; bool d_flag_averaging; unsigned int d_nchannels; diff --git a/src/algorithms/observables/gnuradio_blocks/mixed_observables_cc.cc b/src/algorithms/observables/gnuradio_blocks/mixed_observables_cc.cc index b041b2a63..b4d0f9bac 100644 --- a/src/algorithms/observables/gnuradio_blocks/mixed_observables_cc.cc +++ b/src/algorithms/observables/gnuradio_blocks/mixed_observables_cc.cc @@ -46,18 +46,17 @@ using google::LogMessage; mixed_observables_cc_sptr -mixed_make_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) +mixed_make_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) { - return mixed_observables_cc_sptr(new mixed_observables_cc(nchannels, queue, dump, dump_filename, output_rate_ms, flag_averaging)); + return mixed_observables_cc_sptr(new mixed_observables_cc(nchannels, dump, dump_filename, output_rate_ms, flag_averaging)); } -mixed_observables_cc::mixed_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) : +mixed_observables_cc::mixed_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging) : gr::block("mixed_observables_cc", gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)), gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro))) { // initialize internal vars - d_queue = queue; d_dump = dump; d_nchannels = nchannels; d_output_rate_ms = output_rate_ms; diff --git a/src/algorithms/observables/gnuradio_blocks/mixed_observables_cc.h b/src/algorithms/observables/gnuradio_blocks/mixed_observables_cc.h index 884b412bf..b278835fe 100644 --- a/src/algorithms/observables/gnuradio_blocks/mixed_observables_cc.h +++ b/src/algorithms/observables/gnuradio_blocks/mixed_observables_cc.h @@ -34,7 +34,6 @@ #include #include #include -#include class mixed_observables_cc; @@ -42,7 +41,7 @@ class mixed_observables_cc; typedef boost::shared_ptr mixed_observables_cc_sptr; mixed_observables_cc_sptr -mixed_make_observables_cc(unsigned int n_channels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); +mixed_make_observables_cc(unsigned int n_channels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); /*! * \brief This class implements a block that computes MIXED observables (Multi-frequency and Multi-system) @@ -56,11 +55,10 @@ public: private: friend mixed_observables_cc_sptr - mixed_make_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); - mixed_observables_cc(unsigned int nchannels, boost::shared_ptr queue, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); + mixed_make_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); + mixed_observables_cc(unsigned int nchannels, bool dump, std::string dump_filename, int output_rate_ms, bool flag_averaging); // class private vars - boost::shared_ptr d_queue; bool d_dump; bool d_flag_averaging; unsigned int d_nchannels; diff --git a/src/core/receiver/gnss_block_factory.cc b/src/core/receiver/gnss_block_factory.cc index eb88a025f..388b6d7b8 100644 --- a/src/core/receiver/gnss_block_factory.cc +++ b/src/core/receiver/gnss_block_factory.cc @@ -1366,26 +1366,26 @@ std::unique_ptr GNSSBlockFactory::GetBlock( else if (implementation.compare("GPS_L1_CA_Observables") == 0) { std::unique_ptr block_(new GpsL1CaObservables(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Galileo_E1B_Observables") == 0) { std::unique_ptr block_(new GalileoE1Observables(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Hybrid_Observables") == 0) { std::unique_ptr block_(new HybridObservables(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Mixed_Observables") == 0) { std::unique_ptr block_(new MixedObservables(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } // PVT ------------------------------------------------------------------------- From bd60379753d6307b87817a3267df13ad9e3f5dbc Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Wed, 13 Apr 2016 17:18:29 +0200 Subject: [PATCH 5/5] Removed unused queues in telemetry decoders --- .../adapters/galileo_e1b_telemetry_decoder.cc | 8 ++--- .../adapters/galileo_e1b_telemetry_decoder.h | 5 +-- .../adapters/galileo_e5a_telemetry_decoder.cc | 8 ++--- .../adapters/galileo_e5a_telemetry_decoder.h | 5 +-- .../adapters/gps_l1_ca_telemetry_decoder.cc | 8 ++--- .../adapters/gps_l1_ca_telemetry_decoder.h | 5 +-- .../adapters/gps_l2_m_telemetry_decoder.cc | 8 ++--- .../adapters/gps_l2_m_telemetry_decoder.h | 5 +-- .../adapters/sbas_l1_telemetry_decoder.cc | 8 ++--- .../adapters/sbas_l1_telemetry_decoder.h | 5 +-- .../galileo_e1b_telemetry_decoder_cc.cc | 6 ++-- .../galileo_e1b_telemetry_decoder_cc.h | 13 ++------ .../galileo_e5a_telemetry_decoder_cc.cc | 6 ++-- .../galileo_e5a_telemetry_decoder_cc.h | 8 ++--- .../gps_l1_ca_telemetry_decoder_cc.cc | 6 ++-- .../gps_l1_ca_telemetry_decoder_cc.h | 15 ++------- .../gps_l2_m_telemetry_decoder_cc.cc | 5 ++- .../gps_l2_m_telemetry_decoder_cc.h | 12 ++----- .../sbas_l1_telemetry_decoder_cc.cc | 5 ++- .../sbas_l1_telemetry_decoder_cc.h | 7 ++-- src/core/receiver/gnss_block_factory.cc | 32 +++++++++---------- src/core/receiver/gnss_block_factory.h | 2 +- 22 files changed, 62 insertions(+), 120 deletions(-) diff --git a/src/algorithms/telemetry_decoder/adapters/galileo_e1b_telemetry_decoder.cc b/src/algorithms/telemetry_decoder/adapters/galileo_e1b_telemetry_decoder.cc index 4f92ea75a..448eb02e8 100644 --- a/src/algorithms/telemetry_decoder/adapters/galileo_e1b_telemetry_decoder.cc +++ b/src/algorithms/telemetry_decoder/adapters/galileo_e1b_telemetry_decoder.cc @@ -46,12 +46,10 @@ using google::LogMessage; GalileoE1BTelemetryDecoder::GalileoE1BTelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { std::string default_item_type = "gr_complex"; std::string default_dump_filename = "./navigation.dat"; @@ -59,7 +57,7 @@ GalileoE1BTelemetryDecoder::GalileoE1BTelemetryDecoder(ConfigurationInterface* c dump_ = configuration->property(role + ".dump", false); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); // make telemetry decoder object - telemetry_decoder_ = galileo_e1b_make_telemetry_decoder_cc(satellite_, queue_, dump_); // TODO fix me + telemetry_decoder_ = galileo_e1b_make_telemetry_decoder_cc(satellite_, dump_); // TODO fix me DLOG(INFO) << "telemetry_decoder(" << telemetry_decoder_->unique_id() << ")"; //decimation factor diff --git a/src/algorithms/telemetry_decoder/adapters/galileo_e1b_telemetry_decoder.h b/src/algorithms/telemetry_decoder/adapters/galileo_e1b_telemetry_decoder.h index 3553530c1..5302c8f13 100644 --- a/src/algorithms/telemetry_decoder/adapters/galileo_e1b_telemetry_decoder.h +++ b/src/algorithms/telemetry_decoder/adapters/galileo_e1b_telemetry_decoder.h @@ -35,7 +35,6 @@ #define GNSS_SDR_GALILEO_E1B_TELEMETRY_DECODER_H_ #include -#include #include "telemetry_decoder_interface.h" #include "galileo_e1b_telemetry_decoder_cc.h" #include "gnss_satellite.h" @@ -53,8 +52,7 @@ public: GalileoE1BTelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~GalileoE1BTelemetryDecoder(); std::string role() @@ -94,7 +92,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/telemetry_decoder/adapters/galileo_e5a_telemetry_decoder.cc b/src/algorithms/telemetry_decoder/adapters/galileo_e5a_telemetry_decoder.cc index f15b1cbd2..82c3c19f9 100644 --- a/src/algorithms/telemetry_decoder/adapters/galileo_e5a_telemetry_decoder.cc +++ b/src/algorithms/telemetry_decoder/adapters/galileo_e5a_telemetry_decoder.cc @@ -50,12 +50,10 @@ using google::LogMessage; GalileoE5aTelemetryDecoder::GalileoE5aTelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { std::string default_item_type = "gr_complex"; std::string default_dump_filename = "./navigation.dat"; @@ -63,7 +61,7 @@ GalileoE5aTelemetryDecoder::GalileoE5aTelemetryDecoder(ConfigurationInterface* c dump_ = configuration->property(role + ".dump", false); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); // make telemetry decoder object - telemetry_decoder_ = galileo_e5a_make_telemetry_decoder_cc(satellite_, queue_, dump_); // TODO fix me + telemetry_decoder_ = galileo_e5a_make_telemetry_decoder_cc(satellite_, dump_); // TODO fix me DLOG(INFO) << "telemetry_decoder(" << telemetry_decoder_->unique_id() << ")"; DLOG(INFO) << "global navigation message queue assigned to telemetry_decoder ("<< telemetry_decoder_->unique_id() << ")"; channel_ = 0; diff --git a/src/algorithms/telemetry_decoder/adapters/galileo_e5a_telemetry_decoder.h b/src/algorithms/telemetry_decoder/adapters/galileo_e5a_telemetry_decoder.h index 5187ad881..95455b4d7 100644 --- a/src/algorithms/telemetry_decoder/adapters/galileo_e5a_telemetry_decoder.h +++ b/src/algorithms/telemetry_decoder/adapters/galileo_e5a_telemetry_decoder.h @@ -38,7 +38,6 @@ #define GNSS_SDR_GALILEO_E5A_TELEMETRY_DECODER_H_ #include -#include #include "telemetry_decoder_interface.h" #include "galileo_e5a_telemetry_decoder_cc.h" @@ -54,8 +53,7 @@ public: GalileoE5aTelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~GalileoE5aTelemetryDecoder(); std::string role() @@ -95,7 +93,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif /* GNSS_SDR_GALILEO_E5A_TELEMETRY_DECODER_H_ */ diff --git a/src/algorithms/telemetry_decoder/adapters/gps_l1_ca_telemetry_decoder.cc b/src/algorithms/telemetry_decoder/adapters/gps_l1_ca_telemetry_decoder.cc index 80fee1325..c20af6914 100644 --- a/src/algorithms/telemetry_decoder/adapters/gps_l1_ca_telemetry_decoder.cc +++ b/src/algorithms/telemetry_decoder/adapters/gps_l1_ca_telemetry_decoder.cc @@ -45,12 +45,10 @@ using google::LogMessage; GpsL1CaTelemetryDecoder::GpsL1CaTelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { std::string default_item_type = "gr_complex"; std::string default_dump_filename = "./navigation.dat"; @@ -58,7 +56,7 @@ GpsL1CaTelemetryDecoder::GpsL1CaTelemetryDecoder(ConfigurationInterface* configu dump_ = configuration->property(role + ".dump", false); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); // make telemetry decoder object - telemetry_decoder_ = gps_l1_ca_make_telemetry_decoder_cc(satellite_, queue_, dump_); // TODO fix me + telemetry_decoder_ = gps_l1_ca_make_telemetry_decoder_cc(satellite_, dump_); // TODO fix me DLOG(INFO) << "telemetry_decoder(" << telemetry_decoder_->unique_id() << ")"; //decimation factor diff --git a/src/algorithms/telemetry_decoder/adapters/gps_l1_ca_telemetry_decoder.h b/src/algorithms/telemetry_decoder/adapters/gps_l1_ca_telemetry_decoder.h index ce00f3146..f7854f4f5 100644 --- a/src/algorithms/telemetry_decoder/adapters/gps_l1_ca_telemetry_decoder.h +++ b/src/algorithms/telemetry_decoder/adapters/gps_l1_ca_telemetry_decoder.h @@ -34,7 +34,6 @@ #define GNSS_SDR_GPS_L1_CA_TELEMETRY_DECODER_H_ #include -#include #include "telemetry_decoder_interface.h" #include "gps_l1_ca_telemetry_decoder_cc.h" @@ -50,8 +49,7 @@ public: GpsL1CaTelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~GpsL1CaTelemetryDecoder(); std::string role() @@ -89,7 +87,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/telemetry_decoder/adapters/gps_l2_m_telemetry_decoder.cc b/src/algorithms/telemetry_decoder/adapters/gps_l2_m_telemetry_decoder.cc index 2299ca598..3e12872a2 100644 --- a/src/algorithms/telemetry_decoder/adapters/gps_l2_m_telemetry_decoder.cc +++ b/src/algorithms/telemetry_decoder/adapters/gps_l2_m_telemetry_decoder.cc @@ -46,12 +46,10 @@ using google::LogMessage; GpsL2MTelemetryDecoder::GpsL2MTelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { std::string default_item_type = "gr_complex"; std::string default_dump_filename = "./navigation.dat"; @@ -59,7 +57,7 @@ GpsL2MTelemetryDecoder::GpsL2MTelemetryDecoder(ConfigurationInterface* configura dump_ = configuration->property(role + ".dump", false); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); // make telemetry decoder object - telemetry_decoder_ = gps_l2_m_make_telemetry_decoder_cc(satellite_, queue_, dump_); // TODO fix me + telemetry_decoder_ = gps_l2_m_make_telemetry_decoder_cc(satellite_, dump_); // TODO fix me DLOG(INFO) << "telemetry_decoder(" << telemetry_decoder_->unique_id() << ")"; //decimation factor diff --git a/src/algorithms/telemetry_decoder/adapters/gps_l2_m_telemetry_decoder.h b/src/algorithms/telemetry_decoder/adapters/gps_l2_m_telemetry_decoder.h index 1ddf9894a..9ca7a0a38 100644 --- a/src/algorithms/telemetry_decoder/adapters/gps_l2_m_telemetry_decoder.h +++ b/src/algorithms/telemetry_decoder/adapters/gps_l2_m_telemetry_decoder.h @@ -34,7 +34,6 @@ #define GNSS_SDR_GPS_L2_M_TELEMETRY_DECODER_H_ #include -#include #include "telemetry_decoder_interface.h" #include "gps_l2_m_telemetry_decoder_cc.h" @@ -50,8 +49,7 @@ public: GpsL2MTelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~GpsL2MTelemetryDecoder(); std::string role() @@ -89,7 +87,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/telemetry_decoder/adapters/sbas_l1_telemetry_decoder.cc b/src/algorithms/telemetry_decoder/adapters/sbas_l1_telemetry_decoder.cc index be4d20d30..f4ea05f71 100644 --- a/src/algorithms/telemetry_decoder/adapters/sbas_l1_telemetry_decoder.cc +++ b/src/algorithms/telemetry_decoder/adapters/sbas_l1_telemetry_decoder.cc @@ -46,12 +46,10 @@ using google::LogMessage; SbasL1TelemetryDecoder::SbasL1TelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue) : + unsigned int out_streams) : role_(role), in_streams_(in_streams), - out_streams_(out_streams), - queue_(queue) + out_streams_(out_streams) { std::string default_item_type = "gr_complex"; std::string default_dump_filename = "./navigation.dat"; @@ -59,7 +57,7 @@ SbasL1TelemetryDecoder::SbasL1TelemetryDecoder(ConfigurationInterface* configura dump_ = configuration->property(role + ".dump", false); dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); // make telemetry decoder object - telemetry_decoder_ = sbas_l1_make_telemetry_decoder_cc(satellite_, queue_, dump_); // TODO fix me + telemetry_decoder_ = sbas_l1_make_telemetry_decoder_cc(satellite_, dump_); // TODO fix me channel_ = 0; DLOG(INFO) << "telemetry_decoder(" << telemetry_decoder_->unique_id() << ")"; } diff --git a/src/algorithms/telemetry_decoder/adapters/sbas_l1_telemetry_decoder.h b/src/algorithms/telemetry_decoder/adapters/sbas_l1_telemetry_decoder.h index d9edadc96..a5f69052e 100644 --- a/src/algorithms/telemetry_decoder/adapters/sbas_l1_telemetry_decoder.h +++ b/src/algorithms/telemetry_decoder/adapters/sbas_l1_telemetry_decoder.h @@ -34,7 +34,6 @@ #define GNSS_SDR_SBAS_L1_TELEMETRY_DECODER_H_ #include -#include #include "telemetry_decoder_interface.h" #include "sbas_l1_telemetry_decoder_cc.h" @@ -51,8 +50,7 @@ public: SbasL1TelemetryDecoder(ConfigurationInterface* configuration, std::string role, unsigned int in_streams, - unsigned int out_streams, - boost::shared_ptr queue); + unsigned int out_streams); virtual ~SbasL1TelemetryDecoder(); std::string role() @@ -92,7 +90,6 @@ private: std::string role_; unsigned int in_streams_; unsigned int out_streams_; - boost::shared_ptr queue_; }; #endif diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc index ab04c713f..b8ba2feac 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.cc @@ -48,9 +48,9 @@ using google::LogMessage; galileo_e1b_telemetry_decoder_cc_sptr -galileo_e1b_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump) +galileo_e1b_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump) { - return galileo_e1b_telemetry_decoder_cc_sptr(new galileo_e1b_telemetry_decoder_cc(satellite, queue, dump)); + return galileo_e1b_telemetry_decoder_cc_sptr(new galileo_e1b_telemetry_decoder_cc(satellite, dump)); } @@ -115,7 +115,6 @@ void galileo_e1b_telemetry_decoder_cc::deinterleaver(int rows, int cols, double galileo_e1b_telemetry_decoder_cc::galileo_e1b_telemetry_decoder_cc( Gnss_Satellite satellite, - boost::shared_ptr queue, bool dump) : gr::block("galileo_e1b_telemetry_decoder_cc", gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)), gr::io_signature::make(1, 1, sizeof(Gnss_Synchro))) @@ -125,7 +124,6 @@ galileo_e1b_telemetry_decoder_cc::galileo_e1b_telemetry_decoder_cc( // Ephemeris data port out this->message_port_register_out(pmt::mp("telemetry")); // initialize internal vars - d_queue = queue; d_dump = dump; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); LOG(INFO) << "Initializing GALILEO E1B TELEMETRY PROCESSING"; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.h index 663334197..774ae2f72 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e1b_telemetry_decoder_cc.h @@ -35,7 +35,6 @@ #include #include #include -#include #include "Galileo_E1.h" #include "concurrent_queue.h" #include "gnss_satellite.h" @@ -51,7 +50,7 @@ class galileo_e1b_telemetry_decoder_cc; typedef boost::shared_ptr galileo_e1b_telemetry_decoder_cc_sptr; -galileo_e1b_telemetry_decoder_cc_sptr galileo_e1b_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); +galileo_e1b_telemetry_decoder_cc_sptr galileo_e1b_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); /*! * \brief This class implements a block that decodes the INAV data defined in Galileo ICD @@ -64,11 +63,6 @@ public: void set_satellite(Gnss_Satellite satellite); //!< Set satellite PRN void set_channel(int channel); //!< Set receiver's channel int flag_even_word_arrived; - void set_ephemeris_queue(concurrent_queue *ephemeris_queue); //!< Set the satellite data queue - void set_iono_queue(concurrent_queue *iono_queue); //!< Set the iono data queue - void set_almanac_queue(concurrent_queue *almanac_queue); //!< Set the almanac data queue - void set_utc_model_queue(concurrent_queue *utc_model_queue); //!< Set the UTC model queue - /*! * \brief Set decimation factor to average the GPS synchronization estimation output from the tracking module. */ @@ -88,8 +82,8 @@ public: private: friend galileo_e1b_telemetry_decoder_cc_sptr - galileo_e1b_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); - galileo_e1b_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); + galileo_e1b_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); + galileo_e1b_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); void viterbi_decoder(double *page_part_symbols, int *page_part_bits); @@ -115,7 +109,6 @@ private: // navigation message vars Galileo_Navigation_Message d_nav; - boost::shared_ptr d_queue; bool d_dump; Gnss_Satellite d_satellite; int d_channel; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.cc index 45d91648e..4a607b74d 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.cc @@ -51,9 +51,9 @@ using google::LogMessage; galileo_e5a_telemetry_decoder_cc_sptr -galileo_e5a_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump) +galileo_e5a_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump) { - return galileo_e5a_telemetry_decoder_cc_sptr(new galileo_e5a_telemetry_decoder_cc(satellite, queue, dump)); + return galileo_e5a_telemetry_decoder_cc_sptr(new galileo_e5a_telemetry_decoder_cc(satellite, dump)); } @@ -188,7 +188,6 @@ void galileo_e5a_telemetry_decoder_cc::decode_word(double *page_symbols,int fram galileo_e5a_telemetry_decoder_cc::galileo_e5a_telemetry_decoder_cc( Gnss_Satellite satellite, - boost::shared_ptr queue, bool dump) : gr::block("galileo_e5a_telemetry_decoder_cc", gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)), gr::io_signature::make(1, 1, sizeof(Gnss_Synchro))) @@ -198,7 +197,6 @@ galileo_e5a_telemetry_decoder_cc::galileo_e5a_telemetry_decoder_cc( // Ephemeris data port out this->message_port_register_out(pmt::mp("telemetry")); // initialize internal vars - d_queue = queue; d_dump = dump; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); LOG(INFO) << "GALILEO E5A TELEMETRY PROCESSING: satellite " << d_satellite; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.h index 8d7913fe5..f4401bf79 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_e5a_telemetry_decoder_cc.h @@ -39,7 +39,6 @@ #include #include #include -#include #include "Galileo_E5a.h" #include "concurrent_queue.h" #include "gnss_satellite.h" @@ -55,7 +54,7 @@ class galileo_e5a_telemetry_decoder_cc; typedef boost::shared_ptr galileo_e5a_telemetry_decoder_cc_sptr; -galileo_e5a_telemetry_decoder_cc_sptr galileo_e5a_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); +galileo_e5a_telemetry_decoder_cc_sptr galileo_e5a_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); /*! @@ -82,8 +81,8 @@ public: private: friend galileo_e5a_telemetry_decoder_cc_sptr - galileo_e5a_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); - galileo_e5a_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); + galileo_e5a_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); + galileo_e5a_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); void viterbi_decoder(double *page_part_symbols, int *page_part_bits); @@ -113,7 +112,6 @@ private: // navigation message vars Galileo_Fnav_Message d_nav; - boost::shared_ptr d_queue; bool d_dump; Gnss_Satellite d_satellite; int d_channel; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.cc index bce1a3bb2..a56520199 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.cc @@ -44,9 +44,9 @@ using google::LogMessage; gps_l1_ca_telemetry_decoder_cc_sptr -gps_l1_ca_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump) +gps_l1_ca_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump) { - return gps_l1_ca_telemetry_decoder_cc_sptr(new gps_l1_ca_telemetry_decoder_cc(satellite, queue, dump)); + return gps_l1_ca_telemetry_decoder_cc_sptr(new gps_l1_ca_telemetry_decoder_cc(satellite, dump)); } void gps_l1_ca_telemetry_decoder_cc::forecast (int noutput_items __attribute__((unused)), gr_vector_int &ninput_items_required) @@ -56,7 +56,6 @@ void gps_l1_ca_telemetry_decoder_cc::forecast (int noutput_items __attribute__(( gps_l1_ca_telemetry_decoder_cc::gps_l1_ca_telemetry_decoder_cc( Gnss_Satellite satellite, - boost::shared_ptr queue, bool dump) : gr::block("gps_navigation_cc", gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)), gr::io_signature::make(1, 1, sizeof(Gnss_Synchro))) @@ -66,7 +65,6 @@ gps_l1_ca_telemetry_decoder_cc::gps_l1_ca_telemetry_decoder_cc( // Ephemeris data port out this->message_port_register_out(pmt::mp("telemetry")); // initialize internal vars - d_queue = queue; d_dump = dump; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.h index 1c2892df2..961d83c53 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_cc.h @@ -34,7 +34,6 @@ #include #include #include -#include #include #include "GPS_L1_CA.h" #include "gps_l1_ca_subframe_fsm.h" @@ -48,7 +47,7 @@ class gps_l1_ca_telemetry_decoder_cc; typedef boost::shared_ptr gps_l1_ca_telemetry_decoder_cc_sptr; gps_l1_ca_telemetry_decoder_cc_sptr -gps_l1_ca_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); +gps_l1_ca_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); /*! * \brief This class implements a block that decodes the NAV data defined in IS-GPS-200E @@ -60,18 +59,11 @@ public: ~gps_l1_ca_telemetry_decoder_cc(); void set_satellite(Gnss_Satellite satellite); //!< Set satellite PRN void set_channel(int channel); //!< Set receiver's channel - - /*! * \brief Set decimation factor to average the GPS synchronization estimation output from the tracking module. */ void set_decimation(int decimation); - /*! - * \brief Set the satellite data queue - */ - void set_almanac_queue(concurrent_queue *almanac_queue){d_GPS_FSM.d_almanac_queue = almanac_queue;} //!< Set the almanac data queue - /*! * \brief This is where all signal processing takes place */ @@ -86,9 +78,9 @@ public: private: friend gps_l1_ca_telemetry_decoder_cc_sptr - gps_l1_ca_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); + gps_l1_ca_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); - gps_l1_ca_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); + gps_l1_ca_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); bool gps_word_parityCheck(unsigned int gpsword); @@ -123,7 +115,6 @@ private: Gps_Navigation_Message d_nav; GpsL1CaSubframeFsm d_GPS_FSM; - boost::shared_ptr d_queue; bool d_dump; Gnss_Satellite d_satellite; int d_channel; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.cc index 925b046f5..0bdece092 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.cc @@ -48,16 +48,15 @@ using google::LogMessage; gps_l2_m_telemetry_decoder_cc_sptr -gps_l2_m_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump) +gps_l2_m_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump) { - return gps_l2_m_telemetry_decoder_cc_sptr(new gps_l2_m_telemetry_decoder_cc(satellite, queue, dump)); + return gps_l2_m_telemetry_decoder_cc_sptr(new gps_l2_m_telemetry_decoder_cc(satellite, dump)); } gps_l2_m_telemetry_decoder_cc::gps_l2_m_telemetry_decoder_cc( Gnss_Satellite satellite, - boost::shared_ptr queue __attribute__((unused)), bool dump) : gr::block("gps_l2_m_telemetry_decoder_cc", gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)), diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.h index 0feb75b6e..a8b2a42da 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2_m_telemetry_decoder_cc.h @@ -39,7 +39,6 @@ #include #include #include -#include #include "gnss_satellite.h" #include "viterbi_decoder.h" #include "gps_cnav_navigation_message.h" @@ -53,7 +52,7 @@ class gps_l2_m_telemetry_decoder_cc; typedef boost::shared_ptr gps_l2_m_telemetry_decoder_cc_sptr; gps_l2_m_telemetry_decoder_cc_sptr -gps_l2_m_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); +gps_l2_m_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); /*! * \brief This class implements a block that decodes the SBAS integrity and corrections data defined in RTCA MOPS DO-229 @@ -65,11 +64,6 @@ public: ~gps_l2_m_telemetry_decoder_cc(); void set_satellite(Gnss_Satellite satellite); //!< Set satellite PRN void set_channel(int channel); //!< Set receiver's channel - - // queues to communicate broadcasted CNAV data to other blocks of GNSS-SDR - void set_iono_queue(concurrent_queue *iono_queue); //!< Set iono queue - void set_ephemeris_queue(concurrent_queue *ephemeris_queue); //!< Set ephemeris queue - void set_decimation(int decimation); /*! @@ -86,8 +80,8 @@ public: private: friend gps_l2_m_telemetry_decoder_cc_sptr - gps_l2_m_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); - gps_l2_m_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); + gps_l2_m_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); + gps_l2_m_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); void viterbi_decoder(double *page_part_symbols, int *page_part_bits); void align_samples(); diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/sbas_l1_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/sbas_l1_telemetry_decoder_cc.cc index 928798fcd..284ff1bc7 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/sbas_l1_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/sbas_l1_telemetry_decoder_cc.cc @@ -48,16 +48,15 @@ using google::LogMessage; sbas_l1_telemetry_decoder_cc_sptr -sbas_l1_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump) +sbas_l1_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump) { - return sbas_l1_telemetry_decoder_cc_sptr(new sbas_l1_telemetry_decoder_cc(satellite, queue, dump)); + return sbas_l1_telemetry_decoder_cc_sptr(new sbas_l1_telemetry_decoder_cc(satellite, dump)); } sbas_l1_telemetry_decoder_cc::sbas_l1_telemetry_decoder_cc( Gnss_Satellite satellite, - boost::shared_ptr queue __attribute__((unused)), bool dump) : gr::block("sbas_l1_telemetry_decoder_cc", gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)), diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/sbas_l1_telemetry_decoder_cc.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/sbas_l1_telemetry_decoder_cc.h index c1c4395dd..6fc2d5699 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/sbas_l1_telemetry_decoder_cc.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/sbas_l1_telemetry_decoder_cc.h @@ -39,7 +39,6 @@ #include #include #include -#include #include "gnss_satellite.h" #include "viterbi_decoder.h" #include "sbas_telemetry_data.h" @@ -49,7 +48,7 @@ class sbas_l1_telemetry_decoder_cc; typedef boost::shared_ptr sbas_l1_telemetry_decoder_cc_sptr; sbas_l1_telemetry_decoder_cc_sptr -sbas_l1_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); +sbas_l1_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); /*! * \brief This class implements a block that decodes the SBAS integrity and corrections data defined in RTCA MOPS DO-229 @@ -76,8 +75,8 @@ public: private: friend sbas_l1_telemetry_decoder_cc_sptr - sbas_l1_make_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); - sbas_l1_telemetry_decoder_cc(Gnss_Satellite satellite, boost::shared_ptr queue, bool dump); + sbas_l1_make_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); + sbas_l1_telemetry_decoder_cc(Gnss_Satellite satellite, bool dump); void viterbi_decoder(double *page_part_symbols, int *page_part_bits); void align_samples(); diff --git a/src/core/receiver/gnss_block_factory.cc b/src/core/receiver/gnss_block_factory.cc index 388b6d7b8..719b82a28 100644 --- a/src/core/receiver/gnss_block_factory.cc +++ b/src/core/receiver/gnss_block_factory.cc @@ -310,7 +310,7 @@ std::unique_ptr GNSSBlockFactory::GetChannel_GPS( std::unique_ptr pass_through_ = GetBlock(configuration, "Channel", "Pass_Through", 1, 1, queue); std::unique_ptr acq_ = GetAcqBlock(configuration, "Acquisition_GPS" + appendix1, acq, 1, 0, queue); std::unique_ptr trk_ = GetTrkBlock(configuration, "Tracking_GPS" + appendix2, trk, 1, 1, queue); - std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_GPS" + appendix3, tlm, 1, 1, queue); + std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_GPS" + appendix3, tlm, 1, 1); std::unique_ptr channel_(new Channel(configuration.get(), channel, pass_through_.release(), acq_.release(), @@ -365,7 +365,7 @@ std::unique_ptr GNSSBlockFactory::GetChannel_1C( std::unique_ptr pass_through_ = GetBlock(configuration, "Channel", "Pass_Through", 1, 1, queue); std::unique_ptr acq_ = GetAcqBlock(configuration, "Acquisition_1C" + appendix1, acq, 1, 0, queue); std::unique_ptr trk_ = GetTrkBlock(configuration, "Tracking_1C"+ appendix2, trk, 1, 1, queue); - std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_1C" + appendix3, tlm, 1, 1, queue); + std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_1C" + appendix3, tlm, 1, 1); std::unique_ptr channel_(new Channel(configuration.get(), channel, pass_through_.release(), acq_.release(), @@ -420,7 +420,7 @@ std::unique_ptr GNSSBlockFactory::GetChannel_2S( std::unique_ptr acq_ = GetAcqBlock(configuration, "Acquisition_2S" + appendix1 , acq, 1, 0, queue); std::unique_ptr trk_ = GetTrkBlock(configuration, "Tracking_2S" + appendix2, trk, 1, 1, queue); - std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_2S" + appendix3, tlm, 1, 1, queue); + std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_2S" + appendix3, tlm, 1, 1); std::unique_ptr channel_(new Channel(configuration.get(), channel, pass_through_.release(), acq_.release(), @@ -476,7 +476,7 @@ std::unique_ptr GNSSBlockFactory::GetChannel_Galileo( std::unique_ptr pass_through_ = GetBlock(configuration, "Channel", "Pass_Through", 1, 1, queue); std::unique_ptr acq_ = GetAcqBlock(configuration, "Acquisition_Galileo" + appendix1, acq, 1, 0, queue); std::unique_ptr trk_ = GetTrkBlock(configuration, "Tracking_Galileo" + appendix2, trk, 1, 1, queue); - std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_Galileo" + appendix3, tlm, 1, 1, queue); + std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_Galileo" + appendix3, tlm, 1, 1); std::unique_ptr channel_(new Channel(configuration.get(), channel, pass_through_.release(), acq_.release(), @@ -532,7 +532,7 @@ std::unique_ptr GNSSBlockFactory::GetChannel_1B( std::unique_ptr pass_through_ = GetBlock(configuration, "Channel", "Pass_Through", 1, 1, queue); std::unique_ptr acq_ = GetAcqBlock(configuration, "Acquisition_1B" + appendix1, acq, 1, 0, queue); std::unique_ptr trk_ = GetTrkBlock(configuration, "Tracking_1B" + appendix2, trk, 1, 1, queue); - std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_1B" + appendix3, tlm, 1, 1, queue); + std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_1B" + appendix3, tlm, 1, 1); std::unique_ptr channel_(new Channel(configuration.get(), channel, pass_through_.release(), acq_.release(), @@ -588,7 +588,7 @@ std::unique_ptr GNSSBlockFactory::GetChannel_5X( std::unique_ptr pass_through_ = GetBlock(configuration, "Channel", "Pass_Through", 1, 1, queue); std::unique_ptr acq_ = GetAcqBlock(configuration, "Acquisition_5X" + appendix1, acq, 1, 0, queue); std::unique_ptr trk_ = GetTrkBlock(configuration, "Tracking_5X" + appendix2, trk, 1, 1, queue); - std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_5X" + appendix3, tlm, 1, 1, queue); + std::unique_ptr tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_5X" + appendix3, tlm, 1, 1); std::unique_ptr channel_(new Channel(configuration.get(), channel, pass_through_.release(), acq_.release(), @@ -1340,25 +1340,25 @@ std::unique_ptr GNSSBlockFactory::GetBlock( else if (implementation.compare("GPS_L1_CA_Telemetry_Decoder") == 0) { std::unique_ptr block_(new GpsL1CaTelemetryDecoder(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Galileo_E1B_Telemetry_Decoder") == 0) { std::unique_ptr block_(new GalileoE1BTelemetryDecoder(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("SBAS_L1_Telemetry_Decoder") == 0) { std::unique_ptr block_(new SbasL1TelemetryDecoder(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Galileo_E5a_Telemetry_Decoder") == 0) { std::unique_ptr block_(new GalileoE5aTelemetryDecoder(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } @@ -1602,7 +1602,7 @@ std::unique_ptr GNSSBlockFactory::GetTlmBlock( std::shared_ptr configuration, std::string role, std::string implementation, unsigned int in_streams, - unsigned int out_streams, boost::shared_ptr queue) + unsigned int out_streams) { std::unique_ptr block; @@ -1610,31 +1610,31 @@ std::unique_ptr GNSSBlockFactory::GetTlmBlock( if (implementation.compare("GPS_L1_CA_Telemetry_Decoder") == 0) { std::unique_ptr block_(new GpsL1CaTelemetryDecoder(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Galileo_E1B_Telemetry_Decoder") == 0) { std::unique_ptr block_(new GalileoE1BTelemetryDecoder(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("SBAS_L1_Telemetry_Decoder") == 0) { std::unique_ptr block_(new SbasL1TelemetryDecoder(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("Galileo_E5a_Telemetry_Decoder") == 0) { std::unique_ptr block_(new GalileoE5aTelemetryDecoder(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else if (implementation.compare("GPS_L2_M_Telemetry_Decoder") == 0) { std::unique_ptr block_(new GpsL2MTelemetryDecoder(configuration.get(), role, in_streams, - out_streams, queue)); + out_streams)); block = std::move(block_); } else diff --git a/src/core/receiver/gnss_block_factory.h b/src/core/receiver/gnss_block_factory.h index 5fa3b61d7..7eb596a21 100644 --- a/src/core/receiver/gnss_block_factory.h +++ b/src/core/receiver/gnss_block_factory.h @@ -125,7 +125,7 @@ private: std::shared_ptr configuration, std::string role, std::string implementation, unsigned int in_streams, - unsigned int out_streams, boost::shared_ptr queue); + unsigned int out_streams); }; #endif /*GNSS_SDR_BLOCK_FACTORY_H_*/