diff options
Diffstat (limited to 'gr-usrp/apps/lsusrp')
-rwxr-xr-x | gr-usrp/apps/lsusrp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/gr-usrp/apps/lsusrp b/gr-usrp/apps/lsusrp new file mode 100755 index 000000000..d2eab33fe --- /dev/null +++ b/gr-usrp/apps/lsusrp @@ -0,0 +1,75 @@ +#!/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 + |