From 6f6cef02f4d2f7750c8dcda847dda0df61407b9a Mon Sep 17 00:00:00 2001 From: Jason Abele Date: Mon, 18 Apr 2011 14:02:37 -0700 Subject: Added necessary swig to get i2c_writes through dboard_iface --- gr-uhd/swig/uhd_swig.i | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gr-uhd') diff --git a/gr-uhd/swig/uhd_swig.i b/gr-uhd/swig/uhd_swig.i index 3ffcc7aea..9bdb962c9 100644 --- a/gr-uhd/swig/uhd_swig.i +++ b/gr-uhd/swig/uhd_swig.i @@ -100,6 +100,7 @@ //////////////////////////////////////////////////////////////////////// %include stdint.i %include +%template(byte_vector_t) std::vector; %include %template(dboard_iface_sptr) boost::shared_ptr; @@ -129,6 +130,6 @@ static const size_t ALL_MBOARDS; %goops %{ (use-modules (gnuradio gnuradio_core_runtime)) %} -#endif /* SWIGGUILE */ +#endif /* SWIGGUILE */ #endif /* GR_HAVE_UHD */ -- cgit From 517bee34087044336f83c4717734d3d1f5ff5b02 Mon Sep 17 00:00:00 2001 From: Jason Abele Date: Mon, 18 Apr 2011 18:46:37 -0700 Subject: Expose named gain stages in gr-uhd via swig --- gr-uhd/include/gr_uhd_usrp_sink.h | 32 ++++++++++++++++++++++++++++++++ gr-uhd/include/gr_uhd_usrp_source.h | 32 ++++++++++++++++++++++++++++++++ gr-uhd/lib/gr_uhd_usrp_sink.cc | 16 ++++++++++++++++ gr-uhd/lib/gr_uhd_usrp_source.cc | 16 ++++++++++++++++ 4 files changed, 96 insertions(+) (limited to 'gr-uhd') diff --git a/gr-uhd/include/gr_uhd_usrp_sink.h b/gr-uhd/include/gr_uhd_usrp_sink.h index 0475957de..320d07d41 100644 --- a/gr-uhd/include/gr_uhd_usrp_sink.h +++ b/gr-uhd/include/gr_uhd_usrp_sink.h @@ -100,6 +100,14 @@ public: */ virtual void set_gain(double gain, size_t chan = 0) = 0; + /*! + * Set the named gain on the dboard. + * \param gain the gain in dB + * \param name the name of the gain stage + * \param chan the channel index 0 to N-1 + */ + virtual void set_gain(double gain, const std::string &name, size_t chan = 0) = 0; + /*! * Get the actual dboard gain setting. * \param chan the channel index 0 to N-1 @@ -107,6 +115,22 @@ public: */ virtual double get_gain(size_t chan = 0) = 0; + /*! + * Get the actual dboard gain setting of named stage. + * \param name the name of the gain stage + * \param chan the channel index 0 to N-1 + * \return the actual gain in dB + */ + virtual double get_gain(const std::string &name, size_t chan = 0) = 0; + + /*! + * Get the actual dboard gain setting of named stage. + * \param name the name of the gain stage + * \param chan the channel index 0 to N-1 + * \return the actual gain in dB + */ + virtual std::vector get_gain_names(size_t chan = 0) = 0; + /*! * Get the settable gain range. * \param chan the channel index 0 to N-1 @@ -114,6 +138,14 @@ public: */ virtual uhd::gain_range_t get_gain_range(size_t chan = 0) = 0; + /*! + * Get the settable gain range. + * \param name the name of the gain stage + * \param chan the channel index 0 to N-1 + * \return the gain range in dB + */ + virtual uhd::gain_range_t get_gain_range(const std::string &name, size_t chan = 0) = 0; + /*! * Set the antenna to use. * \param ant the antenna string diff --git a/gr-uhd/include/gr_uhd_usrp_source.h b/gr-uhd/include/gr_uhd_usrp_source.h index 038f9a91e..36331f782 100644 --- a/gr-uhd/include/gr_uhd_usrp_source.h +++ b/gr-uhd/include/gr_uhd_usrp_source.h @@ -100,6 +100,14 @@ public: */ virtual void set_gain(double gain, size_t chan = 0) = 0; + /*! + * Set the named gain on the dboard. + * \param gain the gain in dB + * \param name the name of the gain stage + * \param chan the channel index 0 to N-1 + */ + virtual void set_gain(double gain, const std::string &name, size_t chan = 0) = 0; + /*! * Get the actual dboard gain setting. * \param chan the channel index 0 to N-1 @@ -107,6 +115,22 @@ public: */ virtual double get_gain(size_t chan = 0) = 0; + /*! + * Get the actual dboard gain setting of named stage. + * \param name the name of the gain stage + * \param chan the channel index 0 to N-1 + * \return the actual gain in dB + */ + virtual double get_gain(const std::string &name, size_t chan = 0) = 0; + + /*! + * Get the actual dboard gain setting of named stage. + * \param name the name of the gain stage + * \param chan the channel index 0 to N-1 + * \return the actual gain in dB + */ + virtual std::vector get_gain_names(size_t chan = 0) = 0; + /*! * Get the settable gain range. * \param chan the channel index 0 to N-1 @@ -114,6 +138,14 @@ public: */ virtual uhd::gain_range_t get_gain_range(size_t chan = 0) = 0; + /*! + * Get the settable gain range. + * \param name the name of the gain stage + * \param chan the channel index 0 to N-1 + * \return the gain range in dB + */ + virtual uhd::gain_range_t get_gain_range(const std::string &name, size_t chan = 0) = 0; + /*! * Set the antenna to use. * \param ant the antenna string diff --git a/gr-uhd/lib/gr_uhd_usrp_sink.cc b/gr-uhd/lib/gr_uhd_usrp_sink.cc index d44af25ab..ce9d89d8d 100644 --- a/gr-uhd/lib/gr_uhd_usrp_sink.cc +++ b/gr-uhd/lib/gr_uhd_usrp_sink.cc @@ -76,14 +76,30 @@ public: return _dev->set_tx_gain(gain, chan); } + void set_gain(double gain, const std::string &name, size_t chan){ + return _dev->set_tx_gain(gain, name, chan); + } + double get_gain(size_t chan){ return _dev->get_tx_gain(chan); } + double get_gain(const std::string &name, size_t chan){ + return _dev->get_tx_gain(name, chan); + } + + std::vector get_gain_names(size_t chan){ + return _dev->get_tx_gain_names(chan); + } + uhd::gain_range_t get_gain_range(size_t chan){ return _dev->get_tx_gain_range(chan); } + uhd::gain_range_t get_gain_range(const std::string &name, size_t chan){ + return _dev->get_tx_gain_range(name, chan); + } + void set_antenna(const std::string &ant, size_t chan){ return _dev->set_tx_antenna(ant, chan); } diff --git a/gr-uhd/lib/gr_uhd_usrp_source.cc b/gr-uhd/lib/gr_uhd_usrp_source.cc index fed8e6624..9983489c3 100644 --- a/gr-uhd/lib/gr_uhd_usrp_source.cc +++ b/gr-uhd/lib/gr_uhd_usrp_source.cc @@ -78,14 +78,30 @@ public: return _dev->set_rx_gain(gain, chan); } + void set_gain(double gain, const std::string &name, size_t chan){ + return _dev->set_rx_gain(gain, name, chan); + } + double get_gain(size_t chan){ return _dev->get_rx_gain(chan); } + double get_gain(const std::string &name, size_t chan){ + return _dev->get_rx_gain(name, chan); + } + + std::vector get_gain_names(size_t chan){ + return _dev->get_rx_gain_names(chan); + } + uhd::gain_range_t get_gain_range(size_t chan){ return _dev->get_rx_gain_range(chan); } + uhd::gain_range_t get_gain_range(const std::string &name, size_t chan){ + return _dev->get_rx_gain_range(name, chan); + } + void set_antenna(const std::string &ant, size_t chan){ return _dev->set_rx_antenna(ant, chan); } -- cgit