Adds lsusrp to gr-utils, obsoletes usrp_print_db.py
[debian/gnuradio] / gr-utils / src / python / lsusrp
1 #!/usr/bin/env python
2 #
3 # Copyright 2008 Free Software Foundation, Inc.
4
5 # This file is part of GNU Radio
6
7 # GNU Radio is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3, or (at your option)
10 # any later version.
11
12 # GNU Radio is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16
17 # You should have received a copy of the GNU General Public License
18 # along with GNU Radio; see the file COPYING.  If not, write to
19 # the Free Software Foundation, Inc., 51 Franklin Street,
20 # Boston, MA 02110-1301, USA.
21
22
23 MAX_USRPS = 8
24
25 from gnuradio import usrp
26 from optparse import OptionParser
27
28 def disp_usrp(which):
29     u_source = usrp.source_c(which=which)
30     u_sink = usrp.sink_c(which=which)
31         
32     print "USRP", which, "serial number", u_source.serial_number()
33     subdev_A_rx = usrp.selected_subdev(u_source, (0,0))
34     subdev_B_rx = usrp.selected_subdev(u_source, (1,0))
35     subdev_A_tx = usrp.selected_subdev(u_sink,   (0,0))
36     subdev_B_tx = usrp.selected_subdev(u_sink,   (1,0))
37     print "  RX d'board %s" % (subdev_A_rx.side_and_name(),)
38     print "  RX d'board %s" % (subdev_B_rx.side_and_name(),)
39     print "  TX d'board %s" % (subdev_A_tx.side_and_name(),)
40     print "  TX d'board %s" % (subdev_B_tx.side_and_name(),)
41
42 if __name__ == "__main__":
43     parser = OptionParser()
44     parser.add_option("-w", "--which", type="int", default=None,
45                       help="select which USRP (0, 1, ...) default is all found",
46                       metavar="NUM")
47     (options, args) = parser.parse_args()
48     if len(args) > 0:
49         print parser.print_help()
50         raise SystemExit, 1
51
52     if options.which is not None:
53         try:    
54             disp_usrp(options.which)
55         except:
56             print "USRP", options.which, "not found."
57     else:
58         for n in range(MAX_USRPS):
59             try:
60                 disp_usrp(n)
61             except:
62                 pass
63