Modifications to the usrp blocks and wrapper so that the lo offset is set with the...
authorJosh Blum <josh@joshknows.com>
Wed, 2 Sep 2009 19:07:14 +0000 (12:07 -0700)
committerJosh Blum <josh@joshknows.com>
Wed, 2 Sep 2009 19:07:14 +0000 (12:07 -0700)
grc/blocks/usrp_dual_sink_x.xml
grc/blocks/usrp_dual_source_x.xml
grc/blocks/usrp_simple_sink_x.xml
grc/blocks/usrp_simple_source_x.xml
grc/grc_gnuradio/usrp/dual_usrp.py
grc/grc_gnuradio/usrp/simple_usrp.py

index 8f418becdba36e2db73eb4eded6e5827a62ceadd..4539b62f9527f1ef552022baa0f02a7c1e8d4a7b 100644 (file)
        <import>from grc_gnuradio import usrp as grc_usrp</import>
        <make>grc_usrp.dual_sink_$(type.fcn)(which=$which)
 self.$(id).set_interp_rate($interpolation)
-self.$(id).set_frequency_a($frequency_a, verbose=True)
-self.$(id).set_frequency_b($frequency_b, verbose=True)
-self.$(id).set_gain_a($gain_a)
-self.$(id).set_gain_b($gain_b)
+self.$(id).set_frequency_a($frequency_a, verbose=True#slurp
 #if $lo_offset_a() != float('inf')
-self.$(id).set_lo_offset_a($lo_offset_a)
+, lo_offset=$lo_offset_a#slurp
 #end if
+)
+self.$(id).set_frequency_b($frequency_b, verbose=True#slurp
 #if $lo_offset_b() != float('inf')
-self.$(id).set_lo_offset_b($lo_offset_b)
+, lo_offset=$lo_offset_b#slurp
 #end if
+)
+self.$(id).set_gain_a($gain_a)
+self.$(id).set_gain_b($gain_b)
 ##################################################
 ## Flex RF A
 ##################################################
@@ -39,8 +41,16 @@ self.$(id).set_enable_b(True)
 self.$(id).set_auto_tr_b(True)
 #end if</make>
        <callback>set_interp_rate($interpolation)</callback>
-       <callback>set_frequency_a($frequency_a)</callback>
-       <callback>set_frequency_b($frequency_b)</callback>
+       <callback>set_frequency_a($frequency_a#slurp
+#if $lo_offset_a() != float('inf')
+, lo_offset=$lo_offset_a#slurp
+#end if
+)</callback>
+       <callback>set_frequency_b($frequency_b#slurp
+#if $lo_offset_b() != float('inf')
+, lo_offset=$lo_offset_b#slurp
+#end if
+)</callback>
        <callback>set_gain_a($gain_a)</callback>
        <callback>set_gain_b($gain_b)</callback>
        <param>
index 740895d424697b8712c86c74a0ebba30cdb65f15..ad9a860ac3afd94ee2ca3424d61f335c47c24751 100644 (file)
 self.$(id).set_format(width=$format.width, shift=$format.shift)
 #end if
 self.$(id).set_decim_rate($decimation)
-self.$(id).set_frequency_a($frequency_a, verbose=True)
-self.$(id).set_frequency_b($frequency_b, verbose=True)
-self.$(id).set_gain_a($gain_a)
-self.$(id).set_gain_b($gain_b)
+self.$(id).set_frequency_a($frequency_a, verbose=True#slurp
 #if $lo_offset_a() != float('inf')
-self.$(id).set_lo_offset_a($lo_offset_a)
+, lo_offset=$lo_offset_a#slurp
 #end if
+)
+self.$(id).set_frequency_b($frequency_b, verbose=True#slurp
 #if $lo_offset_b() != float('inf')
-self.$(id).set_lo_offset_b($lo_offset_b)
-#end if</make>
+, lo_offset=$lo_offset_b#slurp
+#end if
+)
+self.$(id).set_gain_a($gain_a)
+self.$(id).set_gain_b($gain_b)</make>
        <callback>set_decim_rate($decimation)</callback>
-       <callback>set_frequency_a($frequency_a)</callback>
-       <callback>set_frequency_b($frequency_b)</callback>
+       <callback>set_frequency_a($frequency_a#slurp
+#if $lo_offset_a() != float('inf')
+, lo_offset=$lo_offset_a#slurp
+#end if
+)</callback>
+       <callback>set_frequency_b($frequency_b#slurp
+#if $lo_offset_b() != float('inf')
+, lo_offset=$lo_offset_b#slurp
+#end if
+)</callback>
        <callback>set_gain_a($gain_a)</callback>
        <callback>set_gain_b($gain_b)</callback>
        <param>
index f3ccf1263c5671dfdb1da27ac3114f7eb1418dbf..b52cd4880913a2357c57227255e75bc1cc75c70e 100644 (file)
        <import>from grc_gnuradio import usrp as grc_usrp</import>
        <make>grc_usrp.simple_sink_$(type.fcn)(which=$which, side=$side)
 self.$(id).set_interp_rate($interpolation)
-self.$(id).set_frequency($frequency, verbose=True)
+self.$(id).set_frequency($frequency, verbose=True#slurp
+#if $lo_offset() != float('inf')
+, lo_offset=$lo_offset#slurp
+#end if
+)
 self.$(id).set_gain($gain)
 #if $transmit.tx_enb
 self.$(id).set_enable(True)
 #end if
 #if $transmit.auto_tr
 self.$(id).set_auto_tr(True)
-#end if
-#if $lo_offset() != float('inf')
-self.$(id).set_lo_offset($lo_offset)
 #end if</make>
-       <callback>set_lo_offset($lo_offset)</callback>
        <callback>set_interp_rate($interpolation)</callback>
-       <callback>set_frequency($frequency)</callback>
+       <callback>set_frequency($frequency#slurp
+#if $lo_offset() != float('inf')
+, lo_offset=$lo_offset#slurp
+#end if
+)</callback>
        <callback>set_gain($gain)</callback>
        <param>
                <name>Input Type</name>
index 1a777bd6302c7cf017703ce06556150a4e19e461..7fcc7a22cf37eeff7d924a95694c109718ba971b 100644 (file)
 self.$(id).set_format(width=$format.width, shift=$format.shift)
 #end if
 self.$(id).set_decim_rate($decimation)
-self.$(id).set_frequency($frequency, verbose=True)
-self.$(id).set_gain($gain)
+self.$(id).set_frequency($frequency, verbose=True#slurp
 #if $lo_offset() != float('inf')
-self.$(id).set_lo_offset($lo_offset)
-#end if</make>
-       <callback>set_lo_offset($lo_offset)</callback>
+, lo_offset=$lo_offset#slurp
+#end if
+)
+self.$(id).set_gain($gain)</make>
        <callback>set_decim_rate($decimation)</callback>
-       <callback>set_frequency($frequency)</callback>
+       <callback>set_frequency($frequency#slurp
+#if $lo_offset() != float('inf')
+, lo_offset=$lo_offset#slurp
+#end if
+)</callback>
        <callback>set_gain($gain)</callback>
        <param>
                <name>Output Type</name>
index 1ecf7c47fe4e980d2eba74d25f0ca5538236fc21..3692e17602148c9d674e648eb7a1a157f86e93a2 100644 (file)
@@ -53,22 +53,22 @@ class _dual_source(gr.hier_block2):
                for i in range(2): self.connect((deinter, i), (self, i))
 
        def set_decim_rate(self, decim): self._get_u().set_decim_rate(int(decim))
-       def set_frequency_a(self, frequency, verbose=False):
+       def set_frequency_a(self, frequency, verbose=False, lo_offset=None):
+               if lo_offset is not None: self._subdev_a.set_lo_offset(lo_offset)
                self._set_frequency(
                        chan=0, #ddc0
                        subdev=self._subdev_a,
                        frequency=frequency,
                        verbose=verbose,
                )
-       def set_frequency_b(self, frequency, verbose=False):
+       def set_frequency_b(self, frequency, verbose=False, lo_offset=None):
+               if lo_offset is not None: self._subdev_b.set_lo_offset(lo_offset)
                self._set_frequency(
                        chan=1, #ddc1
                        subdev=self._subdev_b,
                        frequency=frequency,
                        verbose=verbose,
                )
-       def set_lo_offset_a(self, lo_offset): self._subdev_a.set_lo_offset(lo_offset)
-       def set_lo_offset_b(self, lo_offset): self._subdev_b.set_lo_offset(lo_offset)
        def set_gain_a(self, gain): self._subdev_a.set_gain(gain)
        def set_gain_b(self, gain): self._subdev_b.set_gain(gain)
 
@@ -105,22 +105,22 @@ class _dual_sink(gr.hier_block2):
                for i in range(2): self.connect((self, i), (inter, i))
 
        def set_interp_rate(self, interp): self._get_u().set_interp_rate(int(interp))
-       def set_frequency_a(self, frequency, verbose=False):
+       def set_frequency_a(self, frequency, verbose=False, lo_offset=None):
+               if lo_offset is not None: self._subdev_a.set_lo_offset(lo_offset)
                self._set_frequency(
                        chan=self._subdev_a.which(),
                        subdev=self._subdev_a,
                        frequency=frequency,
                        verbose=verbose,
                )
-       def set_frequency_b(self, frequency, verbose=False):
+       def set_frequency_b(self, frequency, verbose=False, lo_offset=None):
+               if lo_offset is not None: self._subdev_b.set_lo_offset(lo_offset)
                self._set_frequency(
                        chan=self._subdev_b.which(),
                        subdev=self._subdev_b,
                        frequency=frequency,
                        verbose=verbose,
                )
-       def set_lo_offset_a(self, lo_offset): self._subdev_a.set_lo_offset(lo_offset)
-       def set_lo_offset_b(self, lo_offset): self._subdev_b.set_lo_offset(lo_offset)
        def set_gain_a(self, gain): self._subdev_a.set_gain(gain)
        def set_gain_b(self, gain): self._subdev_b.set_gain(gain)
        def set_enable_a(self, enable): self._subdev_a.set_enable(enable)
index 9065c7fe93ed2decbba24ee49484807b52b8acd1..fc4c75bf0618598dab80b60fc0df990a7e623c92 100644 (file)
@@ -56,8 +56,8 @@ class _simple_source(gr.hier_block2):
                self._get_u().set_decim_rate(int(decim))
                if self._no_hb: #set the BW to half the sample rate
                        self._subdev.set_bw(self._get_u().converter_rate()/decim/2)
-       def set_lo_offset(self, lo_offset): self._subdev.set_lo_offset(lo_offset)
-       def set_frequency(self, frequency, verbose=False):
+       def set_frequency(self, frequency, verbose=False, lo_offset=None):
+               if lo_offset is not None: self._subdev.set_lo_offset(lo_offset)
                self._set_frequency(
                        chan=0, #ddc0
                        subdev=self._subdev,
@@ -96,14 +96,14 @@ class _simple_sink(gr.hier_block2):
                self.connect(self, self._get_u())
 
        def set_interp_rate(self, interp): self._get_u().set_interp_rate(int(interp))
-       def set_frequency(self, frequency, verbose=False):
+       def set_frequency(self, frequency, verbose=False, lo_offset=None):
+               if lo_offset is not None: self._subdev.set_lo_offset(lo_offset)
                self._set_frequency(
                        chan=self._subdev.which(),
                        subdev=self._subdev,
                        frequency=frequency,
                        verbose=verbose,
                )
-       def set_lo_offset(self, lo_offset): self._subdev.set_lo_offset(lo_offset)
        def set_gain(self, gain): self._subdev.set_gain(gain)
        def set_enable(self, enable): self._subdev.set_enable(enable)
        def set_auto_tr(self, auto_tr): self._subdev.set_auto_tr(auto_tr)