From f896ce03e8fbe6baf18ea7b6e5bbe74f7e67c25a Mon Sep 17 00:00:00 2001
From: Tom Rondeau <trondeau@vt.edu>
Date: Fri, 21 Oct 2011 19:04:06 -0400
Subject: digital: added subdevspec option to digital UHD examples.

---
 gr-digital/examples/narrowband/uhd_interface.py | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

(limited to 'gr-digital/examples/narrowband/uhd_interface.py')

diff --git a/gr-digital/examples/narrowband/uhd_interface.py b/gr-digital/examples/narrowband/uhd_interface.py
index a0be516ec4..21930ad01f 100644
--- a/gr-digital/examples/narrowband/uhd_interface.py
+++ b/gr-digital/examples/narrowband/uhd_interface.py
@@ -43,7 +43,7 @@ def add_freq_option(parser):
 
 class uhd_interface:
     def __init__(self, istx, args, sym_rate, sps, freq=None,
-                 gain=None, antenna=None):
+                 gain=None, spec=None, antenna=None):
         
         if(istx):
             self.u = uhd.usrp_sink(device_addr=args,
@@ -56,11 +56,17 @@ class uhd_interface:
 
         self._args = args
         self._ant  = antenna
+        self._spec = spec
         self._gain = self.set_gain(gain)
         self._freq = self.set_freq(freq)
 
         self._rate, self._sps = self.set_sample_rate(sym_rate, sps)
 
+        # Set the subdevice spec
+        if(spec):
+            self.u.set_subdev_spec(spec, 0)
+
+        # Set the antenna
         if(antenna):
             self.u.set_antenna(antenna, 0)
         
@@ -125,14 +131,14 @@ class uhd_interface:
 
 class uhd_transmitter(uhd_interface, gr.hier_block2):
     def __init__(self, args, sym_rate, sps, freq=None, gain=None,
-                 antenna=None, verbose=False):
+                 spec=None, antenna=None, verbose=False):
         gr.hier_block2.__init__(self, "uhd_transmitter",
                                 gr.io_signature(1,1,gr.sizeof_gr_complex),
                                 gr.io_signature(0,0,0))
 
         # Set up the UHD interface as a transmitter
         uhd_interface.__init__(self, True, args, sym_rate, sps,
-                               freq, gain, antenna)
+                               freq, gain, spec, antenna)
 
         self.connect(self, self.u)
 
@@ -143,6 +149,8 @@ class uhd_transmitter(uhd_interface, gr.hier_block2):
         add_freq_option(parser)
         parser.add_option("-a", "--args", type="string", default="",
                           help="UHD device address args [default=%default]")
+        parser.add_option("", "--spec", type="string", default=None,
+                          help="Subdevice of UHD device where appropriate")
         parser.add_option("-A", "--antenna", type="string", default=None,
                           help="select Rx Antenna where appropriate")
         parser.add_option("", "--tx-freq", type="eng_float", default=None,
@@ -165,7 +173,7 @@ class uhd_transmitter(uhd_interface, gr.hier_block2):
         print "Gain:        %f dB" % (self._gain)
         print "Sample Rate: %ssps" % (eng_notation.num_to_str(self._rate))
         print "Antenna:     %s"    % (self._ant)
-
+        print "Subdev Sec:  %s"    % (self._spec)
 
 
 #-------------------------------------------------------------------#
@@ -175,14 +183,14 @@ class uhd_transmitter(uhd_interface, gr.hier_block2):
 
 class uhd_receiver(uhd_interface, gr.hier_block2):
     def __init__(self, args, sym_rate, sps, freq=None, gain=None,
-                 antenna=None, verbose=False):
+                 spec=None, antenna=None, verbose=False):
         gr.hier_block2.__init__(self, "uhd_receiver",
                                 gr.io_signature(0,0,0),
                                 gr.io_signature(1,1,gr.sizeof_gr_complex))
       
         # Set up the UHD interface as a receiver
         uhd_interface.__init__(self, False, args, sym_rate, sps,
-                               freq, gain, antenna)
+                               freq, gain, spec, antenna)
 
         self.connect(self.u, self)
 
@@ -193,6 +201,8 @@ class uhd_receiver(uhd_interface, gr.hier_block2):
         add_freq_option(parser)
         parser.add_option("-a", "--args", type="string", default="",
                           help="UHD device address args [default=%default]")
+        parser.add_option("", "--spec", type="string", default=None,
+                          help="Subdevice of UHD device where appropriate")
         parser.add_option("-A", "--antenna", type="string", default=None,
                           help="select Rx Antenna where appropriate")
         parser.add_option("", "--rx-freq", type="eng_float", default=None,
@@ -216,4 +226,4 @@ class uhd_receiver(uhd_interface, gr.hier_block2):
         print "Gain:        %f dB" % (self._gain)
         print "Sample Rate: %ssps" % (eng_notation.num_to_str(self._rate))
         print "Antenna:     %s"    % (self._ant)
-
+        print "Spec:        %s"    % (self._spec)
-- 
cgit v1.2.3