[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