[hamradio-commits] [gnss-sdr] 32/251: working towards the new configuration

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Wed Sep 2 00:22:33 UTC 2015


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

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

commit 3ea6ae76fabbbecac80e9f6871b692e287ae1633
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date:   Thu May 7 16:30:01 2015 +0200

    working towards the new configuration
---
 .../adapters/gps_l1_ca_pcps_acquisition.cc         |  6 +-
 src/core/receiver/gnss_block_factory.cc            | 16 +++---
 src/core/receiver/gnss_block_factory.h             |  2 +-
 src/core/receiver/gnss_flowgraph.cc                | 66 +++++++++++++---------
 4 files changed, 51 insertions(+), 39 deletions(-)

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 579b0a6..1c75758 100644
--- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc
+++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc
@@ -57,6 +57,7 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
     std::string default_dump_filename = "./data/acquisition.dat";
 
     DLOG(INFO) << "role " << role;
+std::cout << "THIS IS THE ROLE " << role;
 
     item_type_ = configuration_->property(role + ".item_type",
             default_item_type);
@@ -90,11 +91,6 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition(
 
     code_= new gr_complex[vector_length_];
 
-    std::complex<float>* code = new std::complex<float>[code_length_];
-
-    gps_l1_ca_code_gen_complex_sampled(code, gnss_synchro_->PRN, fs_in_, 0);
-
-
     // if (item_type_.compare("gr_complex") == 0 )
     //         {
     item_size_ = sizeof(gr_complex);
diff --git a/src/core/receiver/gnss_block_factory.cc b/src/core/receiver/gnss_block_factory.cc
index c1ca0f5..63f75ea 100644
--- a/src/core/receiver/gnss_block_factory.cc
+++ b/src/core/receiver/gnss_block_factory.cc
@@ -283,9 +283,8 @@ std::unique_ptr<GNSSBlockInterface> GNSSBlockFactory::GetChannel_GPS(
 
     std::unique_ptr<GNSSBlockInterface> pass_through_ = GetBlock(configuration, "Channel", "Pass_Through", 1, 1, queue);
     std::unique_ptr<AcquisitionInterface> acq_ = GetAcqBlock(configuration, "Acquisition_GPS", acq, 1, 1, queue);
-    std::unique_ptr<TrackingInterface> trk_ = GetTrkBlock(configuration, "Tracking_GPS" + boost::lexical_cast<std::string>(channel), trk, 1, 1, queue);
-
-    std::unique_ptr<TelemetryDecoderInterface> tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_GPS" + boost::lexical_cast<std::string>(channel), tlm, 1, 1, queue);
+    std::unique_ptr<TrackingInterface> trk_ = GetTrkBlock(configuration, "Tracking_GPS", trk, 1, 1, queue);
+    std::unique_ptr<TelemetryDecoderInterface> tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_GPS", tlm, 1, 1, queue);
 
     std::unique_ptr<GNSSBlockInterface> channel_(new Channel(configuration.get(), channel, pass_through_.release(),
             acq_.release(),
@@ -309,14 +308,13 @@ std::unique_ptr<GNSSBlockInterface> GNSSBlockFactory::GetChannel_1C(
     std::unique_ptr<GNSSBlockInterface> pass_through_ = GetBlock(configuration, "Channel", "Pass_Through", 1, 1, queue);
     std::unique_ptr<AcquisitionInterface> acq_ = GetAcqBlock(configuration, "Acquisition_1C", acq, 1, 1, queue);
     std::unique_ptr<TrackingInterface> trk_ = GetTrkBlock(configuration, "Tracking_1C", trk, 1, 1, queue);
-
     std::unique_ptr<TelemetryDecoderInterface> tlm_ = GetTlmBlock(configuration, "TelemetryDecoder_1C", tlm, 1, 1, queue);
 
     std::unique_ptr<GNSSBlockInterface> channel_(new Channel(configuration.get(), channel, pass_through_.release(),
             acq_.release(),
             trk_.release(),
             tlm_.release(),
-            "Channel", "1C", queue));
+            "Channel", "GPS", queue));
 
     return channel_;
 }
@@ -513,9 +511,14 @@ std::unique_ptr<std::vector<std::unique_ptr<GNSSBlockInterface>>> GNSSBlockFacto
                             "TelemetryDecoder_1C" + boost::lexical_cast<std::string>(i) + ".implementation",
                             default_implementation);
                 }
+            if(telemetry_decoder_implementation_specific.compare(default_implementation) != 0)
+                {
+                    telemetry_decoder_implementation = telemetry_decoder_implementation_specific;
+                }
 
             channels->push_back(std::move(GetChannel_GPS(configuration,
                     acquisition_implementation, tracking_implementation, telemetry_decoder_implementation, channel_absolute_id, queue)));
+
             channel_absolute_id++;
         }
 
@@ -1119,7 +1122,7 @@ std::unique_ptr<AcquisitionInterface> GNSSBlockFactory::GetAcqBlock(
         std::shared_ptr<ConfigurationInterface> configuration,
         std::string role,
         std::string implementation, unsigned int in_streams,
-        unsigned int out_streams, boost::shared_ptr<gr::msg_queue> queue)
+        unsigned int out_streams, gr::msg_queue::sptr queue)
 {
     std::unique_ptr<AcquisitionInterface> block;
     // ACQUISITION BLOCKS ---------------------------------------------------------
@@ -1307,7 +1310,6 @@ std::unique_ptr<TelemetryDecoderInterface> GNSSBlockFactory::GetTlmBlock(
 {
     std::unique_ptr<TelemetryDecoderInterface> block;
 
-    std::cout<<"implementation tlm="<<implementation<<std::endl;
     // TELEMETRY DECODERS ----------------------------------------------------------
     if (implementation.compare("GPS_L1_CA_Telemetry_Decoder") == 0)
         {
diff --git a/src/core/receiver/gnss_block_factory.h b/src/core/receiver/gnss_block_factory.h
index 00d7e93..0ceec49 100644
--- a/src/core/receiver/gnss_block_factory.h
+++ b/src/core/receiver/gnss_block_factory.h
@@ -114,7 +114,7 @@ private:
             std::shared_ptr<ConfigurationInterface> configuration,
             std::string role,
             std::string implementation, unsigned int in_streams,
-            unsigned int out_streams, boost::shared_ptr<gr::msg_queue> queue);
+            unsigned int out_streams, gr::msg_queue::sptr queue);
 
     std::unique_ptr<TrackingInterface> GetTrkBlock(
             std::shared_ptr<ConfigurationInterface> configuration,
diff --git a/src/core/receiver/gnss_flowgraph.cc b/src/core/receiver/gnss_flowgraph.cc
index f6e1771..4d0137b 100644
--- a/src/core/receiver/gnss_flowgraph.cc
+++ b/src/core/receiver/gnss_flowgraph.cc
@@ -243,13 +243,13 @@ void GNSSFlowgraph::connect()
                                             if (j == 0)
                                                 {
                                                     // RF_channel 0 backward compatibility with single channel sources
-                                            		LOG(WARNING)<<"connecting sig_source_ "<<i<<" stream "<<0<<" to conditioner "<<j<<std::endl;
+                                            		LOG(WARNING) << "connecting sig_source_ " << i <<" stream "<<0<<" to conditioner "<<j<<std::endl;
                                                     top_block_->connect(sig_source_.at(i)->get_right_block(), 0, sig_conditioner_.at(signal_conditioner_ID)->get_left_block(), 0);
                                                 }
                                             else
                                                 {
                                                     // Multiple channel sources using multiple output blocks of single channel (requires RF_channel selector in call)
-                                            		LOG(WARNING)<<"connecting sig_source_ "<<i<<" stream "<<j<<" to conditioner "<<j<<std::endl;
+                                            		LOG(WARNING)<<"connecting sig_source_ "<<i<<" stream "<<j<<" to conditioner " << j    <<    std::endl;
                                                     top_block_->connect(sig_source_.at(i)->get_right_block(j), 0, sig_conditioner_.at(signal_conditioner_ID)->get_left_block(), 0);
                                                 }
                                         }
@@ -260,7 +260,7 @@ void GNSSFlowgraph::connect()
             }
             catch (std::exception& e)
             {
-                    LOG(WARNING) << "Can't connect signal source " << i << " to signal conditioner " << i;
+                    LOG(WARNING)  <<  "Can't connect signal source "  <<  i << " to signal conditioner " << i;
                     LOG(ERROR) << e.what();
                     top_block_->disconnect_all();
                     return;
@@ -304,11 +304,11 @@ void GNSSFlowgraph::connect()
             }
 
             //discriminate between systems
-            std::string default_system = configuration_->property("Channel.system", std::string("GPS"));
+            //std::string default_system = configuration_->property("Channel.system", std::string("GPS"));
             std::string default_signal = configuration_->property("Channel.signal", std::string("1C"));
-            std::string gnss_system = (configuration_->property("Channel"
-                    + boost::lexical_cast<std::string>(i) + ".system",
-                    default_system));
+            //std::string gnss_system = (configuration_->property("Channel"
+            //        + boost::lexical_cast<std::string>(i) + ".system",
+           //         default_system));
             std::string gnss_signal = (configuration_->property("Channel"
                     + boost::lexical_cast<std::string>(i) + ".signal",
                     default_signal));
@@ -578,22 +578,23 @@ void GNSSFlowgraph::set_signals_list()
     /*
      * Read GNSS-SDR default GNSS system and signal
      */
-    std::string default_system = configuration_->property("Channel.system", std::string("GPS"));
-    std::string default_signal = configuration_->property("Channel.signal", std::string("1C"));
+    std::string default_system = configuration_->property("Channel.system", std::string("")); // DEPRECATED
+    std::string default_signal = configuration_->property("Channel.signal", std::string(""));
 
     /*
      * Loop to create the list of GNSS Signals
      * To add signals from other systems, add another loop 'for'
      */
-    if (default_system.find(std::string("GPS")) != std::string::npos )
+
+    std::set<unsigned int> available_gps_prn = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+                    11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+                    29, 30, 31, 32 };
+
+    if ((configuration_->property("Channels_1C.count", 0) > 0) or (default_system.find(std::string("GPS")) != std::string::npos) or (default_signal.compare("1C") == 0) )
         {
             /*
              * Loop to create GPS L1 C/A signals
              */
-            std::set<unsigned int> available_gps_prn = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
-                    11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
-                    29, 30, 31, 32 };
-
             for (available_gnss_prn_iter = available_gps_prn.begin();
                     available_gnss_prn_iter != available_gps_prn.end();
                     available_gnss_prn_iter++)
@@ -603,15 +604,11 @@ void GNSSFlowgraph::set_signals_list()
                 }
         }
 
-    if (default_system.find(std::string("GPS L2C M")) != std::string::npos )
+    if ((configuration_->property("Channels_2S.count", 0) > 0) or (default_system.find(std::string("GPS L2C M")) != std::string::npos) )
         {
             /*
              * Loop to create GPS L2C M signals
              */
-            std::set<unsigned int> available_gps_prn = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
-                    11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28,
-                    29, 30, 31, 32 };
-
             for (available_gnss_prn_iter = available_gps_prn.begin();
                     available_gnss_prn_iter != available_gps_prn.end();
                     available_gnss_prn_iter++)
@@ -622,7 +619,7 @@ void GNSSFlowgraph::set_signals_list()
         }
 
 
-    if (default_system.find(std::string("SBAS")) != std::string::npos)
+    if ((configuration_->property("Channels_SBAS.count", 0) > 0) or default_system.find(std::string("SBAS")) != std::string::npos)
         {
             /*
              * Loop to create SBAS L1 C/A signals
@@ -638,16 +635,31 @@ void GNSSFlowgraph::set_signals_list()
                 }
         }
 
+    std::set<unsigned int> available_galileo_prn = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+                    11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28,
+                    29, 30, 31, 32, 33, 34, 35, 36};
 
-    if (default_system.find(std::string("Galileo")) != std::string::npos)
+    if ((configuration_->property("Channels_1B.count", 0) > 0) or (default_system.find(std::string("Galileo")) != std::string::npos) or (default_signal.compare("1B") == 0))
         {
             /*
              * Loop to create the list of Galileo E1 B signals
              */
-            std::set<unsigned int> available_galileo_prn = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
-                    11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28,
-                    29, 30, 31, 32, 33, 34, 35, 36};
+            for (available_gnss_prn_iter = available_galileo_prn.begin();
+                    available_gnss_prn_iter != available_galileo_prn.end();
+                    available_gnss_prn_iter++)
+                {
+                    //  available_GNSS_signals_.push_back(Gnss_Signal(Gnss_Satellite(std::string("Galileo"),
+                    //      *available_gnss_prn_iter), std::string("1B")));
+                    available_GNSS_signals_.push_back(Gnss_Signal(Gnss_Satellite(std::string("Galileo"),
+                            *available_gnss_prn_iter), std::string("1B")));
+                }
+        }
 
+if ((configuration_->property("Channels_5I.count", 0) > 0) )
+        {
+            /*
+             * Loop to create the list of Galileo E1 B signals
+             */
             for (available_gnss_prn_iter = available_galileo_prn.begin();
                     available_gnss_prn_iter != available_galileo_prn.end();
                     available_gnss_prn_iter++)
@@ -655,7 +667,7 @@ void GNSSFlowgraph::set_signals_list()
                     //  available_GNSS_signals_.push_back(Gnss_Signal(Gnss_Satellite(std::string("Galileo"),
                     //      *available_gnss_prn_iter), std::string("1B")));
                     available_GNSS_signals_.push_back(Gnss_Signal(Gnss_Satellite(std::string("Galileo"),
-                            *available_gnss_prn_iter), default_signal));
+                            *available_gnss_prn_iter), std::string("5I")));
                 }
         }
 
@@ -670,7 +682,7 @@ void GNSSFlowgraph::set_signals_list()
             std::string gnss_system = (configuration_->property("Channel"
                     + boost::lexical_cast<std::string>(i) + ".system",
                     default_system));
-            LOG(INFO) << "Channel " << i << " system " << gnss_system;
+           // LOG(INFO) << "Channel " << i << " system " << gnss_system;
 
             std::string gnss_signal = (configuration_->property("Channel"
                     + boost::lexical_cast<std::string>(i) + ".signal",
@@ -686,6 +698,8 @@ void GNSSFlowgraph::set_signals_list()
                 }
             else
                 {
+                    if((gnss_signal.compare("1C") == 0) or (gnss_signal.compare("2S") == 0) ) gnss_system = "GPS";
+                    if((gnss_signal.compare("1B") == 0) or (gnss_signal.compare("5I") == 0) ) gnss_system = "Galileo"; 
                     Gnss_Signal signal_value = Gnss_Signal(Gnss_Satellite(gnss_system, sat), gnss_signal);
                     DLOG(INFO) << "Channel " << i << " " << signal_value;
                     available_GNSS_signals_.remove(signal_value);

-- 
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