#!/usr/bin/env python # # Copyright 2008 Free Software Foundation, Inc. # # This file is part of GNU Radio # # GNU Radio 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 3, or (at your option) # any later version. # # GNU Radio 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 GNU Radio; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. # MAX_USRPS = 8 from gnuradio import usrp from optparse import OptionParser def disp_usrp(which, serial=None): u_source = usrp.source_c(which=which) u_sink = usrp.sink_c(which=which) u_serial = u_source.serial_number() if serial is not None: if serial != u_serial: raise ValueError print "USRP", which, "serial number", u_source.serial_number() subdev_A_rx = usrp.selected_subdev(u_source, (0,0)) subdev_B_rx = usrp.selected_subdev(u_source, (1,0)) subdev_A_tx = usrp.selected_subdev(u_sink, (0,0)) subdev_B_tx = usrp.selected_subdev(u_sink, (1,0)) print " RX d'board %s" % (subdev_A_rx.side_and_name(),) print " RX d'board %s" % (subdev_B_rx.side_and_name(),) print " TX d'board %s" % (subdev_A_tx.side_and_name(),) print " TX d'board %s" % (subdev_B_tx.side_and_name(),) if __name__ == "__main__": parser = OptionParser() parser.add_option("-w", "--which", type="int", default=None, help="select which USRP (0, 1, ...) default is all found", metavar="NUM") parser.add_option("-s", "--serial", default=None, help="select USRP by serial number", metavar="SER") (options, args) = parser.parse_args() if len(args) > 0: print parser.print_help() raise SystemExit, 1 if options.serial is not None and options.which is not None: print "Use of --which or --serial is exclusive" raise SystemExit, 1 if options.which is not None: try: disp_usrp(options.which) except: print "USRP", options.which, "not found." else: for n in range(MAX_USRPS): try: disp_usrp(n, options.serial) except: pass