diff options
author | Nicholas Corgan | 2012-04-04 16:56:14 -0700 |
---|---|---|
committer | Nicholas Corgan | 2012-04-04 16:56:14 -0700 |
commit | 27dd737afdab4123e40a1b886635b387b3c063c6 (patch) | |
tree | 919302a2ba4aa07b738924228be72b048e4fb2e6 /gr-uhd | |
parent | fc03a9b18ca874cac546b7a414089d3649dce48d (diff) | |
download | gnuradio-27dd737afdab4123e40a1b886635b387b3c063c6.tar.gz gnuradio-27dd737afdab4123e40a1b886635b387b3c063c6.tar.bz2 gnuradio-27dd737afdab4123e40a1b886635b387b3c063c6.zip |
gr-uhd: uhd_siggen, uhd_siggen_gui, and uhd_fft include information on the user's UHD version and USRP configuration
Diffstat (limited to 'gr-uhd')
-rwxr-xr-x | gr-uhd/apps/uhd_fft.py | 26 | ||||
-rwxr-xr-x | gr-uhd/apps/uhd_siggen.py | 26 | ||||
-rwxr-xr-x | gr-uhd/apps/uhd_siggen_gui.py | 6 | ||||
-rw-r--r-- | gr-uhd/include/gr_uhd_usrp_sink.h | 14 | ||||
-rw-r--r-- | gr-uhd/include/gr_uhd_usrp_source.h | 13 | ||||
-rw-r--r-- | gr-uhd/lib/gr_uhd_usrp_sink.cc | 8 | ||||
-rw-r--r-- | gr-uhd/lib/gr_uhd_usrp_source.cc | 8 |
7 files changed, 84 insertions, 17 deletions
diff --git a/gr-uhd/apps/uhd_fft.py b/gr-uhd/apps/uhd_fft.py index 18edc8f86..a3858e341 100755 --- a/gr-uhd/apps/uhd_fft.py +++ b/gr-uhd/apps/uhd_fft.py @@ -31,6 +31,7 @@ import numpy try: from gnuradio.wxgui import stdgui2, form, slider + from gnuradio.wxgui import forms from gnuradio.wxgui import fftsink2, waterfallsink2, scopesink2 import wx except ImportError: @@ -195,6 +196,26 @@ class app_top_block(stdgui2.std_top_block): min=int(glow), max=int(ghigh), callback=self.set_gain) + try: + usrp_config_val = "%s (%s), %s (%s, %s, %s)" % (self.u.get_usrp_rx_info().get("mboard_id").split(" ")[0], self.u.get_usrp_rx_info().get("mboard_serial"), + self.u.get_usrp_rx_info().get("rx_id").split(" ")[0].split(",")[0], self.u.get_usrp_rx_info().get("rx_serial"), self.u.get_subdev_spec(), self.u.get_antenna()) + except: + usrp_config_val = "Not implemented in this version." + + uhd_box = forms.static_box_sizer(parent=self.panel, + label="UHD (%s)" % (uhd.get_version_string()), + orient=wx.HORIZONTAL, + bold=True) + usrp_config_form = forms.static_text( + parent=self.panel, + sizer=uhd_box, + value=usrp_config_val, + label="USRP", + converter=forms.str_converter(), + ) + vbox.Add(uhd_box, 0, wx.EXPAND) + vbox.AddSpacer(5) + hbox.Add((5,0), 0, 0) vbox.Add(hbox, 0, wx.EXPAND) @@ -232,8 +253,10 @@ class app_top_block(stdgui2.std_top_block): myform['dspfreq'] = form.static_float_field( parent=panel, sizer=hbox, label="DSP Freq.") - hbox.Add((5,0), 0) + vbox.AddSpacer(5) + vbox.Add(hbox, 0, wx.EXPAND) + vbox.AddSpacer(5) def set_freq(self, target_freq): """ @@ -248,6 +271,7 @@ class app_top_block(stdgui2.std_top_block): self.myform['freq'].set_value(self.u.get_center_freq()) self.myform['rffreq'].set_value(r.actual_rf_freq) self.myform['dspfreq'].set_value(r.actual_dsp_freq) + if not self.options.oscilloscope: self.scope.set_baseband_freq(target_freq) return True diff --git a/gr-uhd/apps/uhd_siggen.py b/gr-uhd/apps/uhd_siggen.py index e1af586ae..ff36b4f4d 100755 --- a/gr-uhd/apps/uhd_siggen.py +++ b/gr-uhd/apps/uhd_siggen.py @@ -107,12 +107,32 @@ class top_block(gr.top_block, pubsub): if(options.antenna): self._u.set_antenna(options.antenna, 0) - self.publish(DESC_KEY, lambda: str(self._u)) + # Setup USRP Configuration value + try: + usrp_info = self._u.get_usrp_tx_info() + usrp_mb = usrp_info.get("mboard_id").split(" ")[0] + usrp_mbs = usrp_info.get("mboard_serial") + usrp_db = usrp_info.get("tx_id").split(" ")[0] + usrp_dbs = usrp_info.get("tx_serial") + usrp_sd = self._u.get_subdev_spec() + usrp_ant = self._u.get_antenna() + + desc_key_str = "Motherboard: %s [%s]\n" % (usrp_mb, usrp_mbs) + desc_key_str += "Daughterboard: %s [%s]\n" % (usrp_db, usrp_dbs) + desc_key_str += "Subdev: %s\n" % usrp_sd + desc_key_str += "Antenna: %s" % usrp_ant + except: + desc_key_str = "USRP configuration output not implemented in this version" + + self.publish(DESC_KEY, lambda: desc_key_str) self.publish(FREQ_RANGE_KEY, self._u.get_freq_range) self.publish(GAIN_RANGE_KEY, self._u.get_gain_range) self.publish(GAIN_KEY, self._u.get_gain) - if self._verbose: - print str(self._u) + + print "UHD Signal Generator" + print "Version: %s" % uhd.get_version_string() + print "\nUsing USRP configuration:" + print desc_key_str + "\n" # Direct asynchronous notifications to callback function if options.show_async_msg: diff --git a/gr-uhd/apps/uhd_siggen_gui.py b/gr-uhd/apps/uhd_siggen_gui.py index 2ef6ea40f..1f6a73c2c 100755 --- a/gr-uhd/apps/uhd_siggen_gui.py +++ b/gr-uhd/apps/uhd_siggen_gui.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2009,2011 Free Software Foundation, Inc. +# Copyright 2009,2011,2012 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -21,7 +21,7 @@ # import wx -from gnuradio import gr +from gnuradio import gr, uhd from gnuradio.gr.pubsub import pubsub from gnuradio.wxgui import gui, forms import uhd_siggen @@ -269,7 +269,7 @@ class app_gui(pubsub): # UHD status ################################################## u2_hbox = forms.static_box_sizer(parent=self.panel, - label="UHD Status", + label="UHD (%s)" % (uhd.get_version_string()), orient=wx.HORIZONTAL, bold=True) self.vbox.Add(u2_hbox, 0, wx.EXPAND) diff --git a/gr-uhd/include/gr_uhd_usrp_sink.h b/gr-uhd/include/gr_uhd_usrp_sink.h index 169d58152..fff567438 100644 --- a/gr-uhd/include/gr_uhd_usrp_sink.h +++ b/gr-uhd/include/gr_uhd_usrp_sink.h @@ -133,11 +133,11 @@ public: /*! * Returns identifying information about this USRP's configuration. * Returns motherboard ID, name, and serial. - * Returns daughterboard TX/RX ID, subdev name, and serial. - * \param mboard the motherboard index 0 to M-1 + * Returns daughterboard TX ID, subdev name, and serial. * \param chan channel index 0 to N-1 + * \return TX info */ - virtual uhd::dict<std::string, std::string> get_usrp_info(size_t mboard = 0, size_t chan = 0) = 0; + virtual uhd::dict<std::string, std::string> get_usrp_tx_info(size_t chan = 0) = 0; /*! * Set the frontend specification. @@ -146,6 +146,14 @@ public: */ virtual void set_subdev_spec(const std::string &spec, size_t mboard = 0) = 0; + + /*! + * Get the TX frontend specification. + * \param mboard the motherboard index 0 to M-1 + * \return the frontend specification in use + */ + virtual std::string get_subdev_spec (size_t mboard = 0) = 0; + /*! * Set the sample rate for the usrp device. * \param rate a new rate in Sps diff --git a/gr-uhd/include/gr_uhd_usrp_source.h b/gr-uhd/include/gr_uhd_usrp_source.h index 20cc863d7..0dde4b194 100644 --- a/gr-uhd/include/gr_uhd_usrp_source.h +++ b/gr-uhd/include/gr_uhd_usrp_source.h @@ -125,11 +125,11 @@ public: /*! * Returns identifying information about this USRP's configuration. * Returns motherboard ID, name, and serial. - * Returns daughterboard TX/RX ID, subdev name, and serial. - * \param mboard the motherboard index 0 to M-1 + * Returns daughterboard RX ID, subdev name, and serial. * \param chan channel index 0 to N-1 + * \return RX info */ - virtual uhd::dict<std::string, std::string> get_usrp_info(size_t mboard = 0, size_t chan = 0) = 0; + virtual uhd::dict<std::string, std::string> get_usrp_rx_info(size_t chan = 0) = 0; /*! * Set the frontend specification. @@ -139,6 +139,13 @@ public: virtual void set_subdev_spec(const std::string &spec, size_t mboard = 0) = 0; /*! + * Get the RX frontend specification. + * \param mboard the motherboard index 0 to M-1 + * \return the frontend specification in use + */ + virtual std::string get_subdev_spec(size_t mboard = 0) = 0; + + /*! * Set the sample rate for the usrp device. * \param rate a new rate in Sps */ diff --git a/gr-uhd/lib/gr_uhd_usrp_sink.cc b/gr-uhd/lib/gr_uhd_usrp_sink.cc index 66be056df..d86165f65 100644 --- a/gr-uhd/lib/gr_uhd_usrp_sink.cc +++ b/gr-uhd/lib/gr_uhd_usrp_sink.cc @@ -66,9 +66,9 @@ public: _dev = uhd::usrp::multi_usrp::make(device_addr); } - uhd::dict<std::string, std::string> get_usrp_info(size_t mboard, size_t chan){ + uhd::dict<std::string, std::string> get_usrp_tx_info(size_t chan){ #ifdef UHD_USRP_MULTI_USRP_GET_USRP_INFO_API - return _dev->get_usrp_info(mboard, chan); + return _dev->get_usrp_tx_info(chan); #else throw std::runtime_error("not implemented in this version"); #endif @@ -78,6 +78,10 @@ public: return _dev->set_tx_subdev_spec(spec, mboard); } + std::string get_subdev_spec(size_t mboard){ + return _dev->get_tx_subdev_spec(mboard).to_string(); + } + void set_samp_rate(double rate){ _dev->set_tx_rate(rate); _sample_rate = this->get_samp_rate(); diff --git a/gr-uhd/lib/gr_uhd_usrp_source.cc b/gr-uhd/lib/gr_uhd_usrp_source.cc index ba87ae8e0..49558cee6 100644 --- a/gr-uhd/lib/gr_uhd_usrp_source.cc +++ b/gr-uhd/lib/gr_uhd_usrp_source.cc @@ -70,9 +70,9 @@ public: _dev = uhd::usrp::multi_usrp::make(device_addr); } - uhd::dict<std::string, std::string> get_usrp_info(size_t mboard, size_t chan){ + uhd::dict<std::string, std::string> get_usrp_rx_info(size_t chan){ #ifdef UHD_USRP_MULTI_USRP_GET_USRP_INFO_API - return _dev->get_usrp_info(mboard, chan); + return _dev->get_usrp_rx_info(chan); #else throw std::runtime_error("not implemented in this version"); #endif @@ -82,6 +82,10 @@ public: return _dev->set_rx_subdev_spec(spec, mboard); } + std::string get_subdev_spec(size_t mboard){ + return _dev->get_rx_subdev_spec(mboard).to_string(); + } + void set_samp_rate(double rate){ _dev->set_rx_rate(rate); } |