commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r9164 - gnuradio/branches/features/experimental-gui


From: jcorgan
Subject: [Commit-gnuradio] r9164 - gnuradio/branches/features/experimental-gui
Date: Sun, 3 Aug 2008 12:33:18 -0600 (MDT)

Author: jcorgan
Date: 2008-08-03 12:33:17 -0600 (Sun, 03 Aug 2008)
New Revision: 9164

Modified:
   gnuradio/branches/features/experimental-gui/const_top_block.py
   gnuradio/branches/features/experimental-gui/fft_top_block.py
   gnuradio/branches/features/experimental-gui/simple_usrp.py
   gnuradio/branches/features/experimental-gui/todo.txt
Log:
Improved controller interface between top blocks and simple_usrp

Modified: gnuradio/branches/features/experimental-gui/const_top_block.py
===================================================================
--- gnuradio/branches/features/experimental-gui/const_top_block.py      
2008-08-03 18:09:09 UTC (rev 9163)
+++ gnuradio/branches/features/experimental-gui/const_top_block.py      
2008-08-03 18:33:17 UTC (rev 9164)
@@ -103,7 +103,7 @@
         self.connect(self._u, # self._filt,
                     self._const, self._sink)
 
-        self.subscribe('decim', self._set_decim)
+        self.proxy('decim', self._u)
         self.proxy('gain', self._u)
         self.proxy('freq', self._u)
         self.proxy('sample_rate', self._const)
@@ -113,11 +113,12 @@
         self.proxy('gain_omega', self._const)
         self.publish('queue', lambda : self._msgq)
 
+        self._u.subscribe('sample_rate', self._on_sample_rate)
+        
        self._thread = msgq_publisher(self._msgq, self, 'const')
         
-    def _set_decim(self, decim):
-        self._u['decim'] = decim
-        self._const['sample_rate'] = self._u['sample_rate']
+    def _on_sample_rate(self, sample_rate):
+        self._const['sample_rate'] = sample_rate
 
     def on_init(self):
        """

Modified: gnuradio/branches/features/experimental-gui/fft_top_block.py
===================================================================
--- gnuradio/branches/features/experimental-gui/fft_top_block.py        
2008-08-03 18:09:09 UTC (rev 9163)
+++ gnuradio/branches/features/experimental-gui/fft_top_block.py        
2008-08-03 18:33:17 UTC (rev 9164)
@@ -104,28 +104,25 @@
         """
         Create controller interface
         """
-       # Subscribers are invoked when a property is set on the top block
-       self.subscribe('decim', self._set_decim)
 
        # Proxies pass through subscribers and publishers to the supplied object
+        self.proxy('decim', self._u)
+       self.proxy('sample_rate', self._u)
         self.proxy('gain', self._u)
         self.proxy('freq', self._u)
         self.proxy('average', self._fft)
         self.proxy('avg_alpha', self._fft)
-       self.proxy('sample_rate', self._fft)
-       
+
+        # Update my pipeline whenever USRP sample_rate changes
+       self._u.subscribe('sample_rate', self._on_sample_rate)
+
         """
         Create update thread.  Updates property 'fft' at desired frame rate
         """
        self._thread = msgq_publisher(self._msgq, self, 'fft')
 
-    def _set_decim(self, decim):
-        """!
-        Listens to property 'decim'. Changes decimation rate and updates
-       fft streamer sample rate.
-        """
-       self._u['decim'] = decim
-       self._fft['sample_rate'] = self._u['sample_rate']
+    def _on_sample_rate(self, sample_rate):
+       self._fft['sample_rate'] = sample_rate
 
     def on_init(self):
        """

Modified: gnuradio/branches/features/experimental-gui/simple_usrp.py
===================================================================
--- gnuradio/branches/features/experimental-gui/simple_usrp.py  2008-08-03 
18:09:09 UTC (rev 9163)
+++ gnuradio/branches/features/experimental-gui/simple_usrp.py  2008-08-03 
18:33:17 UTC (rev 9164)
@@ -66,7 +66,6 @@
        self.subscribe('decim', lambda x: self._set_decim(x))
        self.subscribe('gain', lambda x: self._set_gain(x))
        self.subscribe('freq', lambda x: self._set_freq(x))
-       self.publish('sample_rate', lambda : self._u.adc_rate()/self._decim)
                
     def _setup_usrp(self, which, decim, width_8, no_hb):
        if no_hb or decim < 8:
@@ -100,6 +99,7 @@
        """
        self._decim = decim
        self._u.set_decim_rate(decim)
+        self['sample_rate'] = self._u.adc_rate()/self._decim;
 
     def _set_gain(self, gain):
        """!

Modified: gnuradio/branches/features/experimental-gui/todo.txt
===================================================================
--- gnuradio/branches/features/experimental-gui/todo.txt        2008-08-03 
18:09:09 UTC (rev 9163)
+++ gnuradio/branches/features/experimental-gui/todo.txt        2008-08-03 
18:33:17 UTC (rev 9164)
@@ -6,7 +6,6 @@
 -constsink: replace mpsk recv with costas + clock recovery
 -give numbersink the treatment
 -run expand on all files (sorry tabs)
--update fft_top_block to subscribe to 'sample_rate' on self._u
 -update *sink.py to use new controller-aware top blocks instead of internal 
and/or blks2 ones
 -fix grc_scopesink_test.py 
 -merge fft_gui.py and usrp_fft.py (and const_gui.py and usrp_const.py)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]