diff options
author | Josh Blum | 2011-03-13 17:33:33 -0700 |
---|---|---|
committer | Josh Blum | 2011-03-13 17:33:33 -0700 |
commit | 07bd878bc30f7ab54afc1e2f0055419388c3c992 (patch) | |
tree | 4e8113c440c8c287ea4a8239879d1cebd9e419ed /gr-usrp/grc/usrp_probe | |
parent | b812a91c0beb33ff755f4426f36a2a3e2c9b295c (diff) | |
download | gnuradio-07bd878bc30f7ab54afc1e2f0055419388c3c992.tar.gz gnuradio-07bd878bc30f7ab54afc1e2f0055419388c3c992.tar.bz2 gnuradio-07bd878bc30f7ab54afc1e2f0055419388c3c992.zip |
grc: moved all usrp1 and usrp2 stuff out of grc and into gr-usrp*/grc
Moved grc xml files, python wrappers (USRP1 only), probe apps + freedesktop files.
When the gr-usrp and gr-usrp2 directories are removed, grc will not have to change.
Minor change: the freedesktop files are always installed now.
This does not mean that they are installed properly with xdg,
it just means that the runtime can have access to the icons.
Diffstat (limited to 'gr-usrp/grc/usrp_probe')
-rwxr-xr-x | gr-usrp/grc/usrp_probe | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/gr-usrp/grc/usrp_probe b/gr-usrp/grc/usrp_probe new file mode 100755 index 000000000..d2e92e753 --- /dev/null +++ b/gr-usrp/grc/usrp_probe @@ -0,0 +1,115 @@ +#!/usr/bin/env python +""" +Copyright 2009 Free Software Foundation, Inc. +This file is part of GNU Radio + +GNU Radio Companion is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +GNU Radio Companion is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +""" + +from gnuradio import usrp +import os + +import pygtk +pygtk.require('2.0') +import gtk + +from gnuradio.grc.gui.Dialogs import TextDisplay + +from gnuradio.grc.python.Platform import Platform +platform = Platform() + +flow_graph = platform.get_new_flow_graph() +block = flow_graph.get_new_block('usrp_probe') + +##all params +usrp_which_param = block.get_param('which') +usrp_dboard_param = block.get_param('dboard') + +def get_input(param): + param.validate() + input = param.get_input() + return input + +class USRPProbeWindow(gtk.Window): + """ + The main window for USRP Dignostics. + """ + + def delete_event(self, widget, event, data=None): return False + + def destroy(self, widget, data=None): gtk.main_quit() + + def __init__(self): + """ + USRPProbeWindow contructor. + Create a new gtk Dialog with a close button, USRP input paramaters, and output labels. + """ + gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) + #quit signals + self.connect("delete_event", self.delete_event) + self.connect("destroy", self.destroy) + #set the title + self.set_title('USRP Probe') + #create decorative frame + frame = gtk.Frame() + self.add(frame) + #create vbox for storage + vbox = gtk.VBox() + frame.add(vbox) + vbox.pack_start(get_input(usrp_which_param), False) + vbox.pack_start(get_input(usrp_dboard_param), False) + self.probe_button = gtk.Button('Probe') + self.probe_button.connect('clicked', self._probe_usrp) + vbox.pack_start(self.probe_button, False) + #Create a text box for USRP queries + self.query_buffer = TextDisplay() + self.query_buffer.set_text(block.get_doc()) + vbox.pack_start(self.query_buffer) + self.show_all() + + def _probe_usrp(self, widget=None): + """Probe the USRP device and copy the results into the query text box.""" + dboard = usrp_dboard_param.evaluate() + side = {'a': 0, 'b': 1}[dboard[-1]] + if dboard.startswith('rx'): make = usrp.source_c + elif dboard.startswith('tx'): make = usrp.sink_c + try: + u = make(which=usrp_which_param.evaluate()) + subdev_spec = (side, 0) + subdev = usrp.selected_subdev(u, subdev_spec) #get the subdev + msg = ">>> USRP Probe\n" + msg = "%s\nName:\n\t%s\n"%(msg, str(subdev.name())) + msg = "%s\nConverter Rate:\n\t%s\n"%(msg, u.converter_rate()) + msg = "%s\nUses Quadrature:\n\t%s\n"%(msg, str(subdev.is_quadrature())) + gain_min, gain_max, gain_step = subdev.gain_range() + msg = "%s\nGain Range (min, max, step size):\n\t%s\n\t%s\n\t%s\n"%(msg, gain_min, gain_max, gain_step) + freq_min, freq_max, freq_step = subdev.freq_range() + msg = "%s\nFreq Range (min, max, step size):\n\t%s\n\t%s\n\t%s\n"%(msg, freq_min, freq_max, freq_step) + self.query_buffer.set_text(msg) + except Exception, e: #display the error message + self.query_buffer.set_text('''\ +>>> Error\n%s + +If the USRP cannot be found, make sure that the USRP is plugged-in and restart this program. \ +If the problem persists, there may be a problem with you gnuradio installation or USB 2.0. +'''%str(e)) + +if __name__ == '__main__': + #setup icon using icon theme + try: gtk.window_set_default_icon(gtk.IconTheme().load_icon('gnuradio-grc', 256, 0)) + except: pass + #enter the mainloop + USRPProbeWindow() + gtk.main() |