[hamradio-commits] [gnss-sdr] 41/80: TCP port and RTCM station ID are now configured by the printer

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Sun May 15 20:11:55 UTC 2016


This is an automated email from the git hooks/post-receive script.

carles_fernandez-guest pushed a commit to branch upstream
in repository gnss-sdr.

commit 9cbb88bc9f6b2426e94947d95b5cbdbefb1ede53
Merge: e11e554 7403fec
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date:   Fri May 6 21:00:08 2016 +0200

    TCP port and RTCM station ID are now configured by the printer
    
    Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next

 conf/gnss-sdr.conf                                 |   5 +
 conf/gnss-sdr_GPS_L1_ishort.conf                   |   3 +
 conf/gnss-sdr_Galileo_E1_short.conf                |   6 +-
 src/algorithms/PVT/adapters/galileo_e1_pvt.cc      |   4 +-
 src/algorithms/PVT/adapters/gps_l1_ca_pvt.cc       | 122 +++++++++++----------
 src/algorithms/PVT/adapters/hybrid_pvt.cc          |   4 +-
 .../PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc       |  16 ++-
 .../PVT/gnuradio_blocks/galileo_e1_pvt_cc.h        |   6 +
 .../PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc        |  41 ++++++-
 .../PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.h         |   8 ++
 .../PVT/gnuradio_blocks/hybrid_pvt_cc.cc           |  37 ++++++-
 src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.h |   6 +
 src/algorithms/PVT/libs/rtcm_printer.cc            |  29 ++---
 src/algorithms/PVT/libs/rtcm_printer.h             |   5 +-
 .../galileo_e1_pcps_8ms_ambiguous_acquisition.cc   |  14 +--
 .../galileo_e1_pcps_ambiguous_acquisition.cc       |  14 +--
 ...galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc |  14 +--
 ...ileo_e1_pcps_quicksync_ambiguous_acquisition.cc |  14 +--
 .../galileo_e1_pcps_tong_ambiguous_acquisition.cc  |  15 ++-
 .../galileo_e1_pcps_tong_ambiguous_acquisition.h   |   1 -
 .../galileo_e5a_noncoherent_iq_acquisition_caf.cc  |  19 ++--
 .../adapters/gps_l1_ca_pcps_acquisition.cc         |  10 +-
 .../gps_l1_ca_pcps_acquisition_fine_doppler.cc     |   6 +-
 .../gps_l1_ca_pcps_assisted_acquisition.cc         |  10 +-
 .../gps_l1_ca_pcps_multithread_acquisition.cc      |  14 +--
 .../adapters/gps_l1_ca_pcps_opencl_acquisition.cc  |  14 +--
 .../gps_l1_ca_pcps_quicksync_acquisition.cc        |  13 +--
 .../adapters/gps_l1_ca_pcps_tong_acquisition.cc    |  14 +--
 .../adapters/gps_l1_ca_pcps_tong_acquisition.h     |   4 +-
 .../adapters/gps_l2_m_pcps_acquisition.cc          |  19 +---
 .../gnuradio_blocks/pcps_tong_acquisition_cc.cc    |   2 +-
 src/algorithms/channel/adapters/channel.cc         |   7 +-
 src/core/receiver/gnss_block_factory.cc            |   8 +-
 src/core/system_parameters/rtcm.cc                 |  29 ++---
 src/core/system_parameters/rtcm.h                  |  13 +--
 src/tests/formats/rtcm_test.cc                     |   5 +-
 src/tests/gnss_block/rtcm_printer_test.cc          |   8 +-
 37 files changed, 320 insertions(+), 239 deletions(-)

diff --cc conf/gnss-sdr.conf
index e959a03,e959a03..abd8a47
--- a/conf/gnss-sdr.conf
+++ b/conf/gnss-sdr.conf
@@@ -313,3 -313,3 +313,8 @@@ PVT.rtcm_dump_devname=/dev/pts/
  ;#dump: Enable or disable the PVT internal binary data file logging [true] or [false]
  PVT.dump=false
  
++;######### OUTPUT_FILTER CONFIG ############
++;# Receiver output filter: Leave this block disabled in this version
++OutputFilter.implementation=Null_Sink_Output_Filter
++OutputFilter.filename=data/gnss-sdr.dat
++OutputFilter.item_type=gr_complex
diff --cc conf/gnss-sdr_GPS_L1_ishort.conf
index 06c5d49,06c5d49..bbea100
--- a/conf/gnss-sdr_GPS_L1_ishort.conf
+++ b/conf/gnss-sdr_GPS_L1_ishort.conf
@@@ -82,3 -82,3 +82,6 @@@ PVT.flag_rtcm_tty_port=fals
  PVT.rtcm_dump_devname=/dev/pts/1
  PVT.dump=false
  
++;######### OUTPUT_FILTER CONFIG ############
++OutputFilter.implementation=Null_Sink_Output_Filter
++OutputFilter.item_type=gr_complex
diff --cc conf/gnss-sdr_Galileo_E1_short.conf
index 34f6b0b,34f6b0b..4b9d584
--- a/conf/gnss-sdr_Galileo_E1_short.conf
+++ b/conf/gnss-sdr_Galileo_E1_short.conf
@@@ -203,7 -203,7 +203,7 @@@ Acquisition_1B.cboc=fals
  
  ;######### TRACKING GLOBAL CONFIG ############
  
--;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_PLL_C_Aid_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
++;#implementation: Selected tracking algorithm: [GPS_L1_CA_DLL_PLL_Tracking] or [GPS_L1_CA_DLL_FLL_PLL_Tracking] or [GPS_L1_CA_TCP_CONNECTOR_Tracking] or [Galileo_E1_DLL_PLL_VEML_Tracking]
  Tracking_1B.implementation=Galileo_E1_DLL_PLL_VEML_Tracking
  ;#item_type: Type and resolution for each of the signal samples. Use only [gr_complex] in this version.
  Tracking_1B.item_type=gr_complex
@@@ -223,6 -223,6 +223,9 @@@ Tracking_1B.pll_bw_hz=15.0
  ;#dll_bw_hz: DLL loop filter bandwidth [Hz]
  Tracking_1B.dll_bw_hz=2.0;
  
++;#fll_bw_hz: FLL loop filter bandwidth [Hz]
++Tracking_1B.fll_bw_hz=10.0;
++
  ;#order: PLL/DLL loop filter order [2] or [3]
  Tracking_1B.order=3;
  
@@@ -290,3 -290,3 +293,4 @@@ PVT.flag_rtcm_tty_port=false
  
  ;#rtcm_dump_devname: serial device descriptor for RTCM logging
  PVT.rtcm_dump_devname=/dev/pts/1
++
diff --cc src/algorithms/PVT/adapters/galileo_e1_pvt.cc
index af1272f,af1272f..4f026ad
--- a/src/algorithms/PVT/adapters/galileo_e1_pvt.cc
+++ b/src/algorithms/PVT/adapters/galileo_e1_pvt.cc
@@@ -79,8 -79,8 +79,10 @@@ GalileoE1Pvt::GalileoE1Pvt(Configuratio
      rtcm_dump_devname = configuration->property(role + ".rtcm_dump_devname", default_rtcm_dump_devname);
      bool flag_rtcm_server;
      flag_rtcm_server = configuration->property(role + ".flag_rtcm_server", false);
++    unsigned short rtcm_tcp_port = configuration->property(role + ".rtcm_tcp_port", 2101);
++    unsigned short rtcm_station_id = configuration->property(role + ".rtcm_station_id", 1234);
      // make PVT object
--    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);
++    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_tcp_port, rtcm_station_id, rtcm_dump_devname);
      DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")";
  }
  
diff --cc src/algorithms/PVT/adapters/gps_l1_ca_pvt.cc
index f478812,f478812..94f3ce5
--- a/src/algorithms/PVT/adapters/gps_l1_ca_pvt.cc
+++ b/src/algorithms/PVT/adapters/gps_l1_ca_pvt.cc
@@@ -81,14 -81,14 +81,16 @@@ GpsL1CaPvt::GpsL1CaPvt(ConfigurationInt
      rtcm_dump_devname = configuration->property(role + ".rtcm_dump_devname", default_rtcm_dump_devname);
      bool flag_rtcm_server;
      flag_rtcm_server = configuration->property(role + ".flag_rtcm_server", false);
++    unsigned short rtcm_tcp_port = configuration->property(role + ".rtcm_tcp_port", 2101);
++    unsigned short rtcm_station_id = configuration->property(role + ".rtcm_station_id", 1234);
  
      // getting names from the config file, if available
      // default filename for assistance data
      const std::string eph_default_xml_filename = "./gps_ephemeris.xml";
--    const std::string utc_default_xml_filename = "./gps_utc_model.xml";
--    const std::string iono_default_xml_filename = "./gps_iono.xml";
--    const std::string ref_time_default_xml_filename = "./gps_ref_time.xml";
--    const std::string ref_location_default_xml_filename = "./gps_ref_location.xml";
++    //const std::string utc_default_xml_filename = "./gps_utc_model.xml";
++    //const std::string iono_default_xml_filename = "./gps_iono.xml";
++    //const std::string ref_time_default_xml_filename = "./gps_ref_time.xml";
++    //const std::string ref_location_default_xml_filename = "./gps_ref_location.xml";
      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);
@@@ -96,7 -96,7 +98,7 @@@
      //std::string ref_location_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ref_location_xml", ref_location_default_xml_filename);
  
      // make PVT object
--    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 );
++    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_tcp_port, rtcm_station_id, rtcm_dump_devname );
      DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")";
  }
  
@@@ -104,10 -104,10 +106,10 @@@ bool GpsL1CaPvt::save_assistance_to_XML
  {
      // return variable (true == succeeded)
      bool ret = false;
--
++    
      LOG(INFO) << "SUPL: Try to save GPS ephemeris to XML file " << eph_xml_filename_;
++    std::map<int,Gps_Ephemeris> eph_map = pvt_->get_GPS_L1_ephemeris_map();
  
--    std::map<int,Gps_Ephemeris> eph_map=pvt_->get_GPS_L1_ephemeris_map();
      if (eph_map.size() > 0)
          {
              try
@@@ -120,7 -120,7 +122,7 @@@
                  }
              catch (std::exception& e)
                  {
--                    LOG(ERROR) << e.what();
++                    LOG(WARNING) << e.what();
                      return false;
                  }
              return true;
@@@ -131,58 -131,58 +133,58 @@@
              return false;
          }
      // Only try to save {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 save utc model xml file
--//            std::map<int, Gps_Utc_Model> utc_copy = global_gps_utc_model_map.get_map_copy();
--//            if (supl_client_acquisition_.save_utc_map_xml(utc_xml_filename, utc_copy) == true)
--//                {
--//                    LOG(INFO) << "SUPL: Successfully saved UTC Model XML file";
--//                    //ret = true;
--//                }
--//            else
--//                {
--//                    LOG(INFO) << "SUPL: Error while trying to save utc XML file";
--//                    //ret = false;
--//                }
--//            // try to save iono model xml file
--//            std::map<int, Gps_Iono> iono_copy = global_gps_iono_map.get_map_copy();
--//            if (supl_client_acquisition_.save_iono_map_xml(iono_xml_filename, iono_copy) == true)
--//                {
--//                    LOG(INFO) << "SUPL: Successfully saved IONO Model XML file";
--//                    //ret = true;
--//                }
--//            else
--//                {
--//                    LOG(INFO) << "SUPL: Error while trying to save iono XML file";
--//                    //ret = false;
--//                }
--//            // try to save ref time xml file
--//            std::map<int, Gps_Ref_Time> ref_time_copy = global_gps_ref_time_map.get_map_copy();
--//            if (supl_client_acquisition_.save_ref_time_map_xml(ref_time_xml_filename, ref_time_copy) == true)
--//                {
--//                    LOG(INFO) << "SUPL: Successfully saved Ref Time XML file";
--//                    //ret = true;
--//                }
--//            else
--//                {
--//                    LOG(INFO) << "SUPL: Error while trying to save ref time XML file";
--//                    //ref = false;
--//                }
--//            // try to save ref location xml file
--//            std::map<int, Gps_Ref_Location> ref_location_copy = global_gps_ref_location_map.get_map_copy();
--//            if (supl_client_acquisition_.save_ref_location_map_xml(ref_location_xml_filename, ref_location_copy) == true)
--//                {
--//                    LOG(INFO) << "SUPL: Successfully saved Ref Location XML file";
--//                    //ref = true;
--//                }
--//            else
--//                {
--//                    LOG(INFO) << "SUPL: Error while trying to save ref location XML file";
--//                    //ret = false;
--//                }
--//        }
++    //    bool enable_gps_supl_assistance = configuration_->property("GNSS-SDR.SUPL_gps_enabled", false);
++    //    if (enable_gps_supl_assistance == true)
++    //        {
++    //            // try to save utc model xml file
++    //            std::map<int, Gps_Utc_Model> utc_copy = global_gps_utc_model_map.get_map_copy();
++    //            if (supl_client_acquisition_.save_utc_map_xml(utc_xml_filename, utc_copy) == true)
++    //                {
++    //                    LOG(INFO) << "SUPL: Successfully saved UTC Model XML file";
++    //                    //ret = true;
++    //                }
++    //            else
++    //                {
++    //                    LOG(INFO) << "SUPL: Error while trying to save utc XML file";
++    //                    //ret = false;
++    //                }
++    //            // try to save iono model xml file
++    //            std::map<int, Gps_Iono> iono_copy = global_gps_iono_map.get_map_copy();
++    //            if (supl_client_acquisition_.save_iono_map_xml(iono_xml_filename, iono_copy) == true)
++    //                {
++    //                    LOG(INFO) << "SUPL: Successfully saved IONO Model XML file";
++    //                    //ret = true;
++    //                }
++    //            else
++    //                {
++    //                    LOG(INFO) << "SUPL: Error while trying to save iono XML file";
++    //                    //ret = false;
++    //                }
++    //            // try to save ref time xml file
++    //            std::map<int, Gps_Ref_Time> ref_time_copy = global_gps_ref_time_map.get_map_copy();
++    //            if (supl_client_acquisition_.save_ref_time_map_xml(ref_time_xml_filename, ref_time_copy) == true)
++    //                {
++    //                    LOG(INFO) << "SUPL: Successfully saved Ref Time XML file";
++    //                    //ret = true;
++    //                }
++    //            else
++    //                {
++    //                    LOG(INFO) << "SUPL: Error while trying to save ref time XML file";
++    //                    //ref = false;
++    //                }
++    //            // try to save ref location xml file
++    //            std::map<int, Gps_Ref_Location> ref_location_copy = global_gps_ref_location_map.get_map_copy();
++    //            if (supl_client_acquisition_.save_ref_location_map_xml(ref_location_xml_filename, ref_location_copy) == true)
++    //                {
++    //                    LOG(INFO) << "SUPL: Successfully saved Ref Location XML file";
++    //                    //ref = true;
++    //                }
++    //            else
++    //                {
++    //                    LOG(INFO) << "SUPL: Error while trying to save ref location XML file";
++    //                    //ret = false;
++    //                }
++    //        }
      return ret;
  }
  
diff --cc src/algorithms/PVT/adapters/hybrid_pvt.cc
index 3d7f0a6,3d7f0a6..c254b23
--- a/src/algorithms/PVT/adapters/hybrid_pvt.cc
+++ b/src/algorithms/PVT/adapters/hybrid_pvt.cc
@@@ -82,6 -82,6 +82,8 @@@ HybridPvt::HybridPvt(ConfigurationInter
      rtcm_dump_devname = configuration->property(role + ".rtcm_dump_devname", default_rtcm_dump_devname);
      bool flag_rtcm_server;
      flag_rtcm_server = configuration->property(role + ".flag_rtcm_server", false);
++    unsigned short rtcm_tcp_port = configuration->property(role + ".rtcm_tcp_port", 2101);
++    unsigned short rtcm_station_id = configuration->property(role + ".rtcm_station_id", 1234);
      
      // getting names from the config file, if available
      // default filename for assistance data
@@@ -97,7 -97,7 +99,7 @@@
      //std::string ref_location_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ref_location_xml", ref_location_default_xml_filename);    
      
      // make PVT object
--    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);
++    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_tcp_port, rtcm_station_id, rtcm_dump_devname);
      DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")";
  }
  
diff --cc src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc
index 8c5f8c3,8c5f8c3..117169b
--- a/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc
+++ b/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.cc
@@@ -43,11 -43,11 +43,12 @@@ using google::LogMessage
  
  galileo_e1_pvt_cc_sptr 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)
++        std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port,
++        unsigned short rtcm_station_id, std::string 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));
++            flag_rtcm_server, flag_rtcm_tty_port, rtcm_tcp_port, rtcm_station_id, rtcm_dump_devname));
  }
  
  
@@@ -106,7 -106,7 +107,8 @@@ void galileo_e1_pvt_cc::msg_handler_tel
  
  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) :
++        bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port,
++        unsigned short rtcm_station_id, 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;
@@@ -138,7 -138,7 +140,9 @@@
      //initialize rtcm_printer
      std::string rtcm_dump_filename;
      rtcm_dump_filename = d_dump_filename;
--    d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname);
++    unsigned short _port = rtcm_tcp_port;
++    unsigned short _station_id = rtcm_station_id;
++    d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, _port, _station_id, rtcm_dump_devname);
  
      d_dump_filename.append("_raw.dat");
      dump_ls_pvt_filename.append("_ls_pvt.dat");
@@@ -298,7 -298,7 +302,7 @@@ int galileo_e1_pvt_cc::general_work (in
                                              gal_ephemeris_iter = d_ls_pvt->galileo_ephemeris_map.begin();
                                              if (gal_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end())
                                                  {
--                                                    d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, gal_ephemeris_iter->second, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);
++                                                    d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, gal_ephemeris_iter->second, d_rx_time, gnss_pseudoranges_map, 0, 0, 0, 0, 0);
                                                  }
                                          }
                                  }
@@@ -313,7 -313,7 +317,7 @@@
  
                                      if (gal_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end())
                                          {
--                                            d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, gal_ephemeris_iter->second, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);
++                                            d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, gal_ephemeris_iter->second, d_rx_time, gnss_pseudoranges_map, 0, 0, 0, 0, 0);
                                          }
                                      b_rtcm_writing_started = true;
                                  }
diff --cc src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.h
index e865204,e865204..b506e3f
--- a/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.h
+++ b/src/algorithms/PVT/gnuradio_blocks/galileo_e1_pvt_cc.h
@@@ -59,6 -59,6 +59,8 @@@ galileo_e1_pvt_cc_sptr galileo_e1_make_
                                                std::string nmea_dump_devname,
                                                bool flag_rtcm_server,
                                                bool flag_rtcm_tty_port,
++                                              unsigned short rtcm_tcp_port,
++                                              unsigned short rtcm_station_id,
                                                std::string rtcm_dump_devname);
  
  /*!
@@@ -79,6 -79,6 +81,8 @@@ private
                                                           std::string nmea_dump_devname,
                                                           bool flag_rtcm_server,
                                                           bool flag_rtcm_tty_port,
++                                                         unsigned short rtcm_tcp_port,
++                                                         unsigned short rtcm_station_id,
                                                           std::string rtcm_dump_devname);
      galileo_e1_pvt_cc(unsigned int nchannels,
                        bool dump, std::string dump_filename,
@@@ -91,6 -91,6 +95,8 @@@
                        std::string nmea_dump_devname,
                        bool flag_rtcm_server,
                        bool flag_rtcm_tty_port,
++                      unsigned short rtcm_tcp_port,
++                      unsigned short rtcm_station_id,
                        std::string rtcm_dump_devname);
  
      void msg_handler_telemetry(pmt::pmt_t msg);
diff --cc src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.cc
index decadd7,decadd7..9eb00de
--- 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 +43,36 @@@
  using google::LogMessage;
  
  gps_l1_ca_pvt_cc_sptr
--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)
++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,
++        unsigned short rtcm_tcp_port,
++        unsigned short rtcm_station_id,
++        std::string 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));
++    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_tcp_port,
++            rtcm_station_id,
++            rtcm_dump_devname));
  }
  
  
@@@ -160,6 -160,6 +187,8 @@@ gps_l1_ca_pvt_cc::gps_l1_ca_pvt_cc(unsi
          std::string nmea_dump_devname,
          bool flag_rtcm_server,
          bool flag_rtcm_tty_port,
++        unsigned short rtcm_tcp_port,
++        unsigned short rtcm_station_id,
          std::string rtcm_dump_devname) :
               gr::block("gps_l1_ca_pvt_cc", gr::io_signature::make(nchannels, nchannels,  sizeof(Gnss_Synchro)),
               gr::io_signature::make(0, 0, sizeof(gr_complex)) )
@@@ -194,7 -194,7 +223,9 @@@
      //initialize rtcm_printer
      std::string rtcm_dump_filename;
      rtcm_dump_filename = d_dump_filename;
--    d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname);
++    d_rtcm_tcp_port = rtcm_tcp_port;
++    d_rtcm_station_id = rtcm_station_id;
++    d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, d_rtcm_tcp_port, d_rtcm_station_id, rtcm_dump_devname);
      b_rtcm_writing_started = false;
  
      d_dump_filename.append("_raw.dat");
@@@ -349,7 -349,7 +380,7 @@@ int gps_l1_ca_pvt_cc::general_work (in
                                              gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.begin();
                                              if (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end())
                                                  {
--                                                    d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);
++                                                    d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 0, 0, 0, 0, 0);
                                                  }
                                          }
                                  }
@@@ -365,7 -365,7 +396,7 @@@
  
                                      if (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end())
                                          {
--                                            d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);
++                                            d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 0, 0, 0, 0, 0);
                                          }
                                      b_rtcm_writing_started = true;
                                  }
diff --cc src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.h
index 5207409,5207409..5bc46d2
--- a/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.h
+++ b/src/algorithms/PVT/gnuradio_blocks/gps_l1_ca_pvt_cc.h
@@@ -57,6 -57,6 +57,8 @@@ gps_l1_ca_pvt_cc_sptr gps_l1_ca_make_pv
                                              std::string nmea_dump_devname,
                                              bool flag_rtcm_server,
                                              bool flag_rtcm_tty_port,
++                                            unsigned short rtcm_tcp_port,
++                                            unsigned short rtcm_station_id,
                                              std::string rtcm_dump_devname
  );
  
@@@ -78,6 -78,6 +80,8 @@@ private
                                                         std::string nmea_dump_devname,
                                                         bool flag_rtcm_server,
                                                         bool flag_rtcm_tty_port,
++                                                       unsigned short rtcm_tcp_port,
++                                                       unsigned short rtcm_station_id,
                                                         std::string rtcm_dump_devname);
      gps_l1_ca_pvt_cc(unsigned int nchannels,
                       bool dump,
@@@ -91,6 -91,6 +95,8 @@@
                       std::string nmea_dump_devname,
                       bool flag_rtcm_server,
                       bool flag_rtcm_tty_port,
++                     unsigned short rtcm_tcp_port,
++                     unsigned short rtcm_station_id,
                       std::string rtcm_dump_devname);
  
      void msg_handler_telemetry(pmt::pmt_t msg);
@@@ -100,6 -100,6 +106,8 @@@
      bool b_rinex_sbs_header_writen;
      bool b_rinex_header_updated;
      bool b_rtcm_writing_started;
++    unsigned short d_rtcm_tcp_port;
++    unsigned short d_rtcm_station_id;
  
      void print_receiver_status(Gnss_Synchro** channels_synchronization_data);
      int d_last_status_print_seg; //for status printer
diff --cc src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc
index 8adf372,8adf372..68a6ea4
--- a/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc
+++ b/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.cc
@@@ -41,9 -41,9 +41,37 @@@
  using google::LogMessage;
  
  hybrid_pvt_cc_sptr
--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)
++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,
++        unsigned short rtcm_tcp_port,
++        unsigned short rtcm_station_id,
++        std::string 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));
++    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_tcp_port,
++            rtcm_station_id,
++            rtcm_dump_devname));
  }
  
  
@@@ -139,7 -139,7 +167,8 @@@ std::map<int,Gps_Ephemeris> hybrid_pvt_
  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) :
++        bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port,
++        unsigned short rtcm_station_id, 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)))
  
@@@ -173,7 -173,7 +202,7 @@@
      //initialize rtcm_printer
      std::string rtcm_dump_filename;
      rtcm_dump_filename = d_dump_filename;
--    d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname);
++    d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_tcp_port, rtcm_station_id, rtcm_dump_devname);
  
      d_dump_filename.append("_raw.dat");
      dump_ls_pvt_filename.append("_ls_pvt.dat");
diff --cc src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.h
index d6ec220,d6ec220..d11f954
--- a/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.h
+++ b/src/algorithms/PVT/gnuradio_blocks/hybrid_pvt_cc.h
@@@ -59,6 -59,6 +59,8 @@@ hybrid_pvt_cc_sptr hybrid_make_pvt_cc(u
                                                std::string nmea_dump_devname,
                                                bool flag_rtcm_server,
                                                bool flag_rtcm_tty_port,
++                                              unsigned short rtcm_tcp_port,
++                                              unsigned short rtcm_station_id,
                                                std::string rtcm_dump_devname);
  
  /*!
@@@ -79,6 -79,6 +81,8 @@@ private
                                                           std::string nmea_dump_devname,
                                                           bool flag_rtcm_server,
                                                           bool flag_rtcm_tty_port,
++                                                         unsigned short rtcm_tcp_port,
++                                                         unsigned short rtcm_station_id,
                                                           std::string rtcm_dump_devname);
      hybrid_pvt_cc(unsigned int nchannels,
                        bool dump, std::string dump_filename,
@@@ -91,6 -91,6 +95,8 @@@
                        std::string nmea_dump_devname,
                        bool flag_rtcm_server,
                        bool flag_rtcm_tty_port,
++                      unsigned short rtcm_tcp_port,
++                      unsigned short rtcm_station_id,
                        std::string rtcm_dump_devname);
  
      void msg_handler_telemetry(pmt::pmt_t msg);
diff --cc src/algorithms/PVT/libs/rtcm_printer.cc
index dcf2f6a,dcf2f6a..a738165
--- a/src/algorithms/PVT/libs/rtcm_printer.cc
+++ b/src/algorithms/PVT/libs/rtcm_printer.cc
@@@ -43,7 -43,7 +43,7 @@@
  using google::LogMessage;
  
  
--Rtcm_Printer::Rtcm_Printer(std::string filename, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname, bool time_tag_name)
++Rtcm_Printer::Rtcm_Printer(std::string filename, bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port, unsigned short rtcm_station_id, std::string rtcm_dump_devname, bool time_tag_name)
  {
      time_t rawtime;
      struct tm * timeinfo;
@@@ -113,7 -113,7 +113,11 @@@
              rtcm_dev_descriptor = -1;
          }
  
--    rtcm = std::make_shared<Rtcm>();
++    port = rtcm_tcp_port;
++    station_id = rtcm_station_id;
++
++    rtcm = std::make_shared<Rtcm>(port);
++
      if(flag_rtcm_server)
          {
              rtcm->run_server();
@@@ -143,7 -143,7 +147,7 @@@ Rtcm_Printer::~Rtcm_Printer(
  
  bool Rtcm_Printer::Print_Rtcm_MT1001(const Gps_Ephemeris& gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges)
  {
--    std::string m1001 = rtcm->print_MT1001(gps_eph, obs_time, pseudoranges);
++    std::string m1001 = rtcm->print_MT1001(gps_eph, obs_time, pseudoranges, station_id);
      Rtcm_Printer::Print_Message(m1001);
      return true;
  }
@@@ -151,7 -151,7 +155,7 @@@
  
  bool Rtcm_Printer::Print_Rtcm_MT1002(const Gps_Ephemeris& gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges)
  {
--    std::string m1002 = rtcm->print_MT1002(gps_eph, obs_time, pseudoranges);
++    std::string m1002 = rtcm->print_MT1002(gps_eph, obs_time, pseudoranges, station_id);
      Rtcm_Printer::Print_Message(m1002);
      return true;
  }
@@@ -178,7 -178,7 +182,6 @@@ bool Rtcm_Printer::Print_Rtcm_MSM(unsig
          const Galileo_Ephemeris & gal_eph,
          double obs_time,
          const std::map<int, Gnss_Synchro> & pseudoranges,
--        unsigned int ref_id,
          unsigned int clock_steering_indicator,
          unsigned int external_clock_indicator,
          int smooth_int,
@@@ -188,31 -188,31 +191,31 @@@
      std::string msm;
      if(msm_number == 1)
          {
--            msm = rtcm->print_MSM_1(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
++            msm = rtcm->print_MSM_1(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
          }
      else if(msm_number == 2)
          {
--            msm = rtcm->print_MSM_2(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
++            msm = rtcm->print_MSM_2(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
          }
      else if(msm_number == 3)
          {
--            msm = rtcm->print_MSM_3(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
++            msm = rtcm->print_MSM_3(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
          }
      else if(msm_number == 4)
          {
--            msm = rtcm->print_MSM_4(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
++            msm = rtcm->print_MSM_4(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
          }
      else if(msm_number == 5)
          {
--            msm = rtcm->print_MSM_5(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
++            msm = rtcm->print_MSM_5(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
          }
      else if(msm_number == 6)
          {
--            msm = rtcm->print_MSM_6(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
++            msm = rtcm->print_MSM_6(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
          }
      else if(msm_number == 7)
          {
--            msm = rtcm->print_MSM_7(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
++            msm = rtcm->print_MSM_7(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
          }
      else
          {
@@@ -261,7 -261,7 +264,6 @@@ int Rtcm_Printer::init_serial(std::stri
  }
  
  
--
  void Rtcm_Printer::close_serial()
  {
      if (rtcm_dev_descriptor != -1)
@@@ -271,7 -271,7 +273,6 @@@
  }
  
  
--
  bool Rtcm_Printer::Print_Message(const std::string & message)
  {
      //write to file
diff --cc src/algorithms/PVT/libs/rtcm_printer.h
index c0c9634,c0c9634..517c470
--- a/src/algorithms/PVT/libs/rtcm_printer.h
+++ b/src/algorithms/PVT/libs/rtcm_printer.h
@@@ -48,7 -48,7 +48,7 @@@ public
      /*!
       * \brief Default constructor.
       */
--    Rtcm_Printer(std::string filename, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_filename, bool time_tag_name = true);
++    Rtcm_Printer(std::string filename, bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port, unsigned short rtcm_station_id, std::string rtcm_dump_filename, bool time_tag_name = true);
  
      /*!
       * \brief Default destructor.
@@@ -65,7 -65,7 +65,6 @@@
              const Galileo_Ephemeris & gal_eph,
              double obs_time,
              const std::map<int, Gnss_Synchro> & pseudoranges,
--            unsigned int ref_id,
              unsigned int clock_steering_indicator,
              unsigned int external_clock_indicator,
              int smooth_int,
@@@ -81,6 -81,6 +80,8 @@@ private
      std::string rtcm_filename; // String with the RTCM log filename
      std::ofstream rtcm_file_descriptor; // Output file stream for RTCM log file
      std::string rtcm_devname;
++    unsigned short port;
++    unsigned short station_id;
      int rtcm_dev_descriptor; // RTCM serial device descriptor (i.e. COM port)
      int init_serial (std::string serial_device); //serial port control
      void close_serial ();
diff --cc src/core/system_parameters/rtcm.cc
index 72b8a98,e29fce6..52699a5
--- a/src/core/system_parameters/rtcm.cc
+++ b/src/core/system_parameters/rtcm.cc
@@@ -42,23 -42,18 +42,12 @@@
  #include <glog/logging.h>
  #include "Galileo_E1.h"
  
 -
  using google::LogMessage;
  
 -DEFINE_int32(RTCM_Ref_Station_ID, 1234, "Reference Station ID in RTCM messages");
 -DEFINE_int32(RTCM_Port, 2101 , "TCP port of the RTCM message server");
 -// 2101 is the standard RTCM port according to the Internet Assigned Numbers Authority (IANA)
 -// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
 -
  
--Rtcm::Rtcm()
- {
-     // 2101 is the standard RTCM port according to the Internet Assigned Numbers Authority (IANA)
-     // https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
-     unsigned short _default_port = 2101;
-     unsigned short _default_station_id = 1234;
-     Rtcm::Rtcm(_default_port, _default_station_id);
- }
- 
- 
- Rtcm::Rtcm(unsigned short port, unsigned short station_id)
++Rtcm::Rtcm(unsigned short port)
  {
 +    RTCM_port = port;
-     RTCM_Station_ID = station_id;
      preamble = std::bitset<8>("11010011");
      reserved_field = std::bitset<6>("000000");
      rtcm_message_queue = std::make_shared< concurrent_queue<std::string> >();
@@@ -451,9 -446,9 +440,9 @@@ std::bitset<58> Rtcm::get_MT1001_sat_co
  }
  
  
--std::string Rtcm::print_MT1001(const Gps_Ephemeris & gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges)
++std::string Rtcm::print_MT1001(const Gps_Ephemeris & gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges, unsigned short station_id)
  {
-     unsigned int ref_id = static_cast<unsigned int>(RTCM_Station_ID);
 -    unsigned int ref_id = static_cast<unsigned int>(FLAGS_RTCM_Ref_Station_ID);
++    unsigned int ref_id = static_cast<unsigned int>(station_id);
      unsigned int smooth_int = 0;
      bool sync_flag = false;
      bool divergence_free = false;
@@@ -501,9 -496,9 +490,9 @@@
  //
  // ********************************************************
  
--std::string Rtcm::print_MT1002(const Gps_Ephemeris & gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges)
++std::string Rtcm::print_MT1002(const Gps_Ephemeris & gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges, unsigned short station_id)
  {
-     unsigned int ref_id = static_cast<unsigned int>(RTCM_Station_ID);
 -    unsigned int ref_id = static_cast<unsigned int>(FLAGS_RTCM_Ref_Station_ID);
++    unsigned int ref_id = static_cast<unsigned int>(station_id);
      unsigned int smooth_int = 0;
      bool sync_flag = false;
      bool divergence_free = false;
@@@ -573,9 -568,9 +562,9 @@@ std::bitset<74> Rtcm::get_MT1002_sat_co
  //
  // ********************************************************
  
--std::string Rtcm::print_MT1003(const Gps_Ephemeris & ephL1, const Gps_CNAV_Ephemeris & ephL2, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges)
++std::string Rtcm::print_MT1003(const Gps_Ephemeris & ephL1, const Gps_CNAV_Ephemeris & ephL2, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges, unsigned short station_id)
  {
-     unsigned int ref_id = static_cast<unsigned int>(RTCM_Station_ID);
 -    unsigned int ref_id = static_cast<unsigned int>(FLAGS_RTCM_Ref_Station_ID);
++    unsigned int ref_id = static_cast<unsigned int>(station_id);
      unsigned int smooth_int = 0;
      bool sync_flag = false;
      bool divergence_free = false;
@@@ -683,9 -678,9 +672,9 @@@ std::bitset<101> Rtcm::get_MT1003_sat_c
  //
  // ******************************************************************
  
--std::string Rtcm::print_MT1004(const Gps_Ephemeris & ephL1, const Gps_CNAV_Ephemeris & ephL2, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges)
++std::string Rtcm::print_MT1004(const Gps_Ephemeris & ephL1, const Gps_CNAV_Ephemeris & ephL2, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges, unsigned short station_id)
  {
-     unsigned int ref_id = static_cast<unsigned int>(RTCM_Station_ID);
 -    unsigned int ref_id = static_cast<unsigned int>(FLAGS_RTCM_Ref_Station_ID);
++    unsigned int ref_id = static_cast<unsigned int>(station_id);
      unsigned int smooth_int = 0;
      bool sync_flag = false;
      bool divergence_free = false;
diff --cc src/core/system_parameters/rtcm.h
index 8c2b576,3931583..73f373e
--- a/src/core/system_parameters/rtcm.h
+++ b/src/core/system_parameters/rtcm.h
@@@ -83,29 -83,28 +83,28 @@@
  class Rtcm
  {
  public:
--    Rtcm(); //<! Default constructor
-     Rtcm(unsigned short port, unsigned short station_id); //<! Constructor that sets non-default TCP port of the RTCM message server and RTCM Station ID
++    Rtcm(unsigned short port = 2101); //<! Default constructor that sets TCP port of the RTCM message server and RTCM Station ID. 2101 is the standard RTCM port according to the Internet Assigned Numbers Authority (IANA). See https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
      ~Rtcm();
  
      /*!
       * \brief Prints message type 1001 (L1-Only GPS RTK Observables)
       */
--    std::string print_MT1001(const Gps_Ephemeris& gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges);
++    std::string print_MT1001(const Gps_Ephemeris& gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges, unsigned short station_id);
  
      /*!
       * \brief Prints message type 1002 (Extended L1-Only GPS RTK Observables)
       */
--    std::string print_MT1002(const Gps_Ephemeris & gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges);
++    std::string print_MT1002(const Gps_Ephemeris & gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges, unsigned short station_id);
  
      /*!
       * \brief Prints message type 1003 (L1 & L2 GPS RTK Observables)
       */
--    std::string print_MT1003(const Gps_Ephemeris & ephL1, const Gps_CNAV_Ephemeris & ephL2, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges);
++    std::string print_MT1003(const Gps_Ephemeris & ephL1, const Gps_CNAV_Ephemeris & ephL2, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges, unsigned short station_id);
  
      /*!
       * \brief Prints message type 1004 (Extended L1 & L2 GPS RTK Observables)
       */
--    std::string print_MT1004(const Gps_Ephemeris & ephL1, const Gps_CNAV_Ephemeris & ephL2, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges);
++    std::string print_MT1004(const Gps_Ephemeris & ephL1, const Gps_CNAV_Ephemeris & ephL2, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges, unsigned short station_id);
  
      /*!
       * \brief Prints message type 1005 (Stationary Antenna Reference Point)
@@@ -347,8 -346,6 +346,8 @@@ private
      //
      // Classes for TCP communication
      //
 +    unsigned short RTCM_port;
-     unsigned short RTCM_Station_ID;
++    //unsigned short RTCM_Station_ID;
      class Rtcm_Message
      {
      public:
diff --cc src/tests/formats/rtcm_test.cc
index a07fdfc,a07fdfc..0680dbf
--- a/src/tests/formats/rtcm_test.cc
+++ b/src/tests/formats/rtcm_test.cc
@@@ -194,6 -194,6 +194,7 @@@ TEST(Rtcm_Test, MT1001
      gnss_synchro.PRN = 2;
      std::string sys = "G";
      bool expected_true = true;
++    unsigned short station_id = 1234;
  
      std::string sig = "1C";
      gnss_synchro.System = *sys.c_str();
@@@ -203,7 -203,7 +204,7 @@@
      std::map<int, Gnss_Synchro> pseudoranges;
      pseudoranges.insert(std::pair<int, Gnss_Synchro>(1, gnss_synchro));
  
--    std::string MT1001 = rtcm->print_MT1001(gps_eph, obs_time, pseudoranges);
++    std::string MT1001 = rtcm->print_MT1001(gps_eph, obs_time, pseudoranges, station_id);
      EXPECT_EQ(expected_true, rtcm->check_CRC(MT1001));
  }
  
@@@ -487,7 -487,7 +488,7 @@@ TEST(Rtcm_Test, MSM1
      pseudoranges.insert(std::pair<int, Gnss_Synchro>(3, gnss_synchro3));
      pseudoranges.insert(std::pair<int, Gnss_Synchro>(4, gnss_synchro4));
  
--    unsigned int ref_id = 1234;
++    unsigned short ref_id = 1234;
      unsigned int clock_steering_indicator = 0;
      unsigned int external_clock_indicator = 0;
      int smooth_int = 0;
diff --cc src/tests/gnss_block/rtcm_printer_test.cc
index 3f2e215,3f2e215..268c056
--- a/src/tests/gnss_block/rtcm_printer_test.cc
+++ b/src/tests/gnss_block/rtcm_printer_test.cc
@@@ -43,7 -43,7 +43,9 @@@ TEST(Rtcm_Printer_Test, Instantiate
      bool flag_rtcm_tty_port = false;
      std::string rtcm_dump_devname = "/dev/pts/4";
      bool flag_rtcm_server = false;
--    std::unique_ptr<Rtcm_Printer> RTCM_printer(new Rtcm_Printer(filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname));
++    unsigned short rtcm_tcp_port = 2101;
++    unsigned short rtcm_station_id = 1234;
++    std::unique_ptr<Rtcm_Printer> RTCM_printer(new Rtcm_Printer(filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_tcp_port, rtcm_station_id, rtcm_dump_devname));
  }
  
  
@@@ -69,8 -69,8 +71,10 @@@ TEST(Rtcm_Printer_Test, Run
      bool flag_rtcm_tty_port = false;
      std::string rtcm_dump_devname = "/dev/pts/4";
      bool flag_rtcm_server = false;
++    unsigned short rtcm_tcp_port = 2101;
++    unsigned short rtcm_station_id = 1234;
  
--    std::unique_ptr<Rtcm_Printer> RTCM_printer(new Rtcm_Printer(filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname));
++    std::unique_ptr<Rtcm_Printer> RTCM_printer(new Rtcm_Printer(filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_tcp_port, rtcm_station_id, rtcm_dump_devname));
  
      std::string reference_msg = "D300133ED7D30202980EDEEF34B4BD62AC0941986F33360B98";
  

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git



More information about the pkg-hamradio-commits mailing list