commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 10/16: gr-uhd: support for IQ imbalance ena


From: git
Subject: [Commit-gnuradio] [gnuradio] 10/16: gr-uhd: support for IQ imbalance enable/disable
Date: Sun, 29 Mar 2015 02:27:26 +0000 (UTC)

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

jcorgan pushed a commit to branch master
in repository gnuradio.

commit 24f4e1c2e60bf7af551dfed8c34001e5c661d843
Author: Julian Arnold <address@hidden>
Date:   Mon Feb 2 16:04:06 2015 -0800

    gr-uhd: support for IQ imbalance enable/disable
---
 gr-uhd/include/gnuradio/uhd/usrp_source.h |  8 ++++++++
 gr-uhd/lib/usrp_source_impl.cc            | 12 ++++++++++++
 gr-uhd/lib/usrp_source_impl.h             |  1 +
 3 files changed, 21 insertions(+)

diff --git a/gr-uhd/include/gnuradio/uhd/usrp_source.h 
b/gr-uhd/include/gnuradio/uhd/usrp_source.h
index 61f63bd..7da3968 100644
--- a/gr-uhd/include/gnuradio/uhd/usrp_source.h
+++ b/gr-uhd/include/gnuradio/uhd/usrp_source.h
@@ -359,6 +359,14 @@ namespace gr {
       virtual void set_dc_offset(const std::complex<double> &offset, size_t 
chan = 0) = 0;
 
       /*!
+       * Enable/Disable the RX frontend IQ imbalance correction.
+       *
+       * \param enb true to enable automatic IQ imbalance correction
+       * \param chan the channel index 0 to N-1
+       */
+      virtual void set_auto_iq_balance(const bool enb, size_t chan = 0) = 0;
+
+      /*!
        * Set the RX frontend IQ imbalance correction.
        * Use this to adjust the magnitude and phase of I and Q.
        *
diff --git a/gr-uhd/lib/usrp_source_impl.cc b/gr-uhd/lib/usrp_source_impl.cc
index b3eca9e..1345740 100644
--- a/gr-uhd/lib/usrp_source_impl.cc
+++ b/gr-uhd/lib/usrp_source_impl.cc
@@ -327,6 +327,18 @@ namespace gr {
     }
 
     void
+    usrp_source_impl::set_auto_iq_balance(const bool enable, size_t chan)
+    {
+      chan = _stream_args.channels[chan];
+#ifdef UHD_USRP_MULTI_USRP_FRONTEND_IQ_AUTO_API
+      return _dev->set_rx_iq_balance(enable, chan);
+#else
+      throw std::runtime_error("not implemented in this version");
+#endif
+    }
+
+
+    void
     usrp_source_impl::set_iq_balance(const std::complex<double> &correction,
                                      size_t chan)
     {
diff --git a/gr-uhd/lib/usrp_source_impl.h b/gr-uhd/lib/usrp_source_impl.h
index d5bd2f4..0cbbe2b 100644
--- a/gr-uhd/lib/usrp_source_impl.h
+++ b/gr-uhd/lib/usrp_source_impl.h
@@ -103,6 +103,7 @@ namespace gr {
       ::uhd::freq_range_t get_bandwidth_range(size_t chan);
       void set_auto_dc_offset(const bool enable, size_t chan);
       void set_dc_offset(const std::complex<double> &offset, size_t chan);
+      void set_auto_iq_balance(const bool enable, size_t chan);
       void set_iq_balance(const std::complex<double> &correction, size_t chan);
       void set_clock_config(const ::uhd::clock_config_t &clock_config, size_t 
mboard);
       void set_time_source(const std::string &source, const size_t mboard);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]