[hamradio-commits] [gnss-sdr] 50/251: Setting AGC mode

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Wed Sep 2 00:22:35 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 6d16921845f624722b8d95e677fd6a31e9d622a4
Author: Anthony Arnold <anthony.arnold at uqconnect.edu.au>
Date:   Sat May 9 12:53:17 2015 +1000

    Setting AGC mode
---
 .../adapters/rtl_tcp_signal_source.cc              | 13 +++----
 .../gnuradio_blocks/rtl_tcp_signal_source_c.cc     | 40 +++++++++++++++++++++-
 .../gnuradio_blocks/rtl_tcp_signal_source_c.h      |  3 +-
 3 files changed, 48 insertions(+), 8 deletions(-)

diff --git a/src/algorithms/signal_source/adapters/rtl_tcp_signal_source.cc b/src/algorithms/signal_source/adapters/rtl_tcp_signal_source.cc
index 33bf159..24c9e66 100644
--- a/src/algorithms/signal_source/adapters/rtl_tcp_signal_source.cc
+++ b/src/algorithms/signal_source/adapters/rtl_tcp_signal_source.cc
@@ -94,19 +94,20 @@ RtlTcpSignalSource::RtlTcpSignalSource(ConfigurationInterface* configuration,
             // 3. set rx frequency
             signal_source_->set_frequency(freq_);
 
-	    // 4. set rx gain
+	    // TODO set rx gain
+            signal_source_->set_agc_mode(true);
+            
             /*if (this->AGC_enabled_ == true)
 	    {
-                    osmosdr_source_->set_gain_mode(true);
+                    signal_source_->set_agc_mode(true);
                     std::cout << "AGC enabled" << std::endl;
                     LOG(INFO) << "AGC enabled";
 	    }
             else
 	    {
-                    osmosdr_source_->set_gain_mode(false);
-                    osmosdr_source_->set_gain(gain_, 0);
-                    osmosdr_source_->set_if_gain(if_gain_, 0);
-                    osmosdr_source_->set_bb_gain(rf_gain_, 0);
+                    signal_source_->set_agc_mode(false);
+                    signal_source_->set_gain(gain_, 0);
+                    signal_source_->set_if_gain(if_gain_, 0);
 	    }*/
         }
     else
diff --git a/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.cc b/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.cc
index 5182ce6..ccc5fbe 100644
--- a/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.cc
+++ b/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.cc
@@ -46,7 +46,11 @@ enum {
 // command ids
 enum {
    CMD_ID_SET_FREQUENCY = 1,
-   CMD_ID_SET_SAMPLE_RATE = 2
+   CMD_ID_SET_SAMPLE_RATE = 2,
+   CMD_ID_SET_GAIN_MODE = 3,
+   CMD_ID_SET_GAIN = 4,
+   CMD_ID_SET_IF_GAIN = 6,
+   CMD_ID_SET_AGC_MODE = 8
 };
 
 // rtl_tcp command
@@ -87,6 +91,24 @@ struct set_sample_rate_command : command {
    }
 };
 
+// set gain mode command
+struct set_gain_mode_command : command {
+  set_gain_mode_command (bool manual)
+    : command (CMD_ID_SET_GAIN_MODE, static_cast<unsigned int>( manual ))
+  {
+  }
+};
+
+  
+// set agc mode command
+struct set_agc_mode_command : command {
+  set_agc_mode_command (bool manual)
+    : command (CMD_ID_SET_AGC_MODE, static_cast<unsigned int>( manual ))
+  {
+  }
+};
+  
+  
 rtl_tcp_signal_source_c_sptr
 rtl_tcp_make_signal_source_c(const std::string &address,
 			      short port)
@@ -181,6 +203,22 @@ void rtl_tcp_signal_source_c::set_sample_rate (int sample_rate) {
    }
 }
 
+
+void rtl_tcp_signal_source_c::set_agc_mode (bool agc) {
+  boost::system::error_code ec =
+    set_gain_mode_command (!agc).send (socket_);
+  if (ec) {
+      std::cout << "Failed to set gain mode" << std::endl;
+      LOG (WARNING) << "Failed to set gain mode";
+  }
+  ec =
+    set_agc_mode_command (agc).send (socket_);
+  if (ec) {
+      std::cout << "Failed to set gain mode" << std::endl;
+      LOG (WARNING) << "Failed to set gain mode";
+  }
+}
+
 void
 rtl_tcp_signal_source_c::handle_read (const boost::system::error_code &ec,
                                        size_t bytes_transferred)
diff --git a/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.h b/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.h
index 8a2963c..17ad456 100644
--- a/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.h
+++ b/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.h
@@ -70,7 +70,8 @@ public:
 
     void set_frequency (int frequency);
     void set_sample_rate (int sample_rate);
-
+    void set_agc_mode (bool agc);
+    
 private:
     typedef boost::circular_buffer_space_optimized<float> buffer_type;
     

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