commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r5976 - gnuradio/branches/features/pager/gr-pager/src


From: jcorgan
Subject: [Commit-gnuradio] r5976 - gnuradio/branches/features/pager/gr-pager/src
Date: Sun, 15 Jul 2007 22:29:58 -0600 (MDT)

Author: jcorgan
Date: 2007-07-15 22:29:58 -0600 (Sun, 15 Jul 2007)
New Revision: 5976

Modified:
   gnuradio/branches/features/pager/gr-pager/src/flex_demod.py
   gnuradio/branches/features/pager/gr-pager/src/usrp_flex.py
   gnuradio/branches/features/pager/gr-pager/src/usrp_flex_all.py
Log:
Converted gr-pager to hier_block2

Modified: gnuradio/branches/features/pager/gr-pager/src/flex_demod.py
===================================================================
--- gnuradio/branches/features/pager/gr-pager/src/flex_demod.py 2007-07-16 
04:25:54 UTC (rev 5975)
+++ gnuradio/branches/features/pager/gr-pager/src/flex_demod.py 2007-07-16 
04:29:58 UTC (rev 5976)
@@ -19,11 +19,11 @@
 # Boston, MA 02110-1301, USA.
 # 
 
-from gnuradio import gr, gru, optfir, blks
+from gnuradio import gr, gru, optfir, blks2
 from math import pi
 import pager_swig
 
-class flex_demod:
+class flex_demod(gr.hier_block2):
     """
     FLEX pager protocol demodulation block.
 
@@ -44,40 +44,30 @@
     @type sample_rate: integer
     """
 
-    def __init__(self, fg, queue, freq=0.0, verbose=False, log=False):
+    def __init__(self, queue, freq=0.0, verbose=False, log=False):
+       gr.hier_block2.__init__(self, "flex_demod",
+                               gr.io_signature(1, 1, gr.sizeof_gr_complex),
+                               gr.io_signature(0,0,0))
+
         k = 25000/(2*pi*1600)        # 4800 Hz max deviation
-        QUAD = gr.quadrature_demod_cf(k)
-       self.INPUT = QUAD
+        quad = gr.quadrature_demod_cf(k)
+       self.connect(self, quad)
+       
+        rsamp = blks2.rational_resampler_fff(16, 25)
+        slicer = pager_swig.slicer_fb(1e-5) # DC removal averaging filter 
constant
+       sync = pager_swig.flex_sync(16000)
 
-        RSAMP = blks.rational_resampler_fff(fg, 16, 25)
-        SLICER = pager_swig.slicer_fb(1e-3) # Averaging filter constant
-       SYNC = pager_swig.flex_sync(16000)
+        self.connect(quad, rsamp, slicer, sync)
 
-        fg.connect(QUAD, RSAMP, SLICER, SYNC)
+       for i in range(4):
+           self.connect((sync, i), pager_swig.flex_deinterleave(), 
pager_swig.flex_parse(queue, freq))
 
-       DEINTA = pager_swig.flex_deinterleave()
-       PARSEA = pager_swig.flex_parse(queue, freq)
-
-       DEINTB = pager_swig.flex_deinterleave()
-       PARSEB = pager_swig.flex_parse(queue, freq)
-
-       DEINTC = pager_swig.flex_deinterleave()
-       PARSEC = pager_swig.flex_parse(queue, freq)
-
-       DEINTD = pager_swig.flex_deinterleave()
-       PARSED = pager_swig.flex_parse(queue, freq)
-       
-       fg.connect((SYNC, 0), DEINTA, PARSEA)
-       fg.connect((SYNC, 1), DEINTB, PARSEB)
-       fg.connect((SYNC, 2), DEINTC, PARSEC)
-       fg.connect((SYNC, 3), DEINTD, PARSED)
-
        if log:
            suffix = '_'+ "%3.3f" % (freq/1e6,) + '.dat'
            quad_sink = gr.file_sink(gr.sizeof_float, 'quad'+suffix)
            rsamp_sink = gr.file_sink(gr.sizeof_float, 'rsamp'+suffix)
            slicer_sink = gr.file_sink(gr.sizeof_char, 'slicer'+suffix)
-           fg.connect(RSAMP, rsamp_sink)
-           fg.connect(QUAD, quad_sink)
-           fg.connect(SLICER, slicer_sink)
+           self.connect(rsamp, rsamp_sink)
+           self.connect(quad, quad_sink)
+           self.connect(slicer, slicer_sink)
            
\ No newline at end of file

Modified: gnuradio/branches/features/pager/gr-pager/src/usrp_flex.py
===================================================================
--- gnuradio/branches/features/pager/gr-pager/src/usrp_flex.py  2007-07-16 
04:25:54 UTC (rev 5975)
+++ gnuradio/branches/features/pager/gr-pager/src/usrp_flex.py  2007-07-16 
04:29:58 UTC (rev 5976)
@@ -48,9 +48,9 @@
 Once the program is running, ctrl-break (Ctrl-C) stops operation.
 """
 
-class app_flow_graph(gr.flow_graph):
+class app_top_block(gr.top_block):
     def __init__(self, options, queue):
-        gr.flow_graph.__init__(self)
+        gr.top_block.__init__(self, "usrp_flex")
         self.options = options
 
        if options.from_file is None:
@@ -114,9 +114,9 @@
            self.connect(chan, chan_sink)
 
         # FLEX protocol demodulator
-        flex = pager.flex_demod(self, queue, options.frequency, 
options.verbose, options.log)
+        flex = pager.flex_demod(queue, options.frequency, options.verbose, 
options.log)
 
-        self.connect(src, chan, flex.INPUT)
+        self.connect(src, chan, flex)
        
 def main():
     parser = OptionParser(option_class=eng_option)
@@ -145,10 +145,11 @@
 
     # Flow graph emits pages into message queue
     queue = gr.msg_queue()
-    fg = app_flow_graph(options, queue)
-
+    tb = app_top_block(options, queue)
+    r = gr.runtime(tb)
+    
     try:
-        fg.start()
+        r.start()
        while 1:
            if not queue.empty_p():
                msg = queue.delete_head() # Blocking read
@@ -165,7 +166,7 @@
                time.sleep(1)
 
     except KeyboardInterrupt:
-        fg.stop()
+        r.stop()
 
 if __name__ == "__main__":
     main()

Modified: gnuradio/branches/features/pager/gr-pager/src/usrp_flex_all.py
===================================================================
--- gnuradio/branches/features/pager/gr-pager/src/usrp_flex_all.py      
2007-07-16 04:25:54 UTC (rev 5975)
+++ gnuradio/branches/features/pager/gr-pager/src/usrp_flex_all.py      
2007-07-16 04:29:58 UTC (rev 5976)
@@ -1,14 +1,14 @@
 #!/usr/bin/env python
 
-from gnuradio import gr, gru, usrp, optfir, eng_notation, blks, pager
+from gnuradio import gr, gru, usrp, optfir, eng_notation, blks2, pager
 from gnuradio.eng_option import eng_option
 from optparse import OptionParser
 from string import split, join, printable
 import time
 
-class app_flow_graph(gr.flow_graph):
+class app_top_block(gr.top_block):
     def __init__(self, options, queue):
-        gr.flow_graph.__init__(self)
+       gr.top_block.__init__(self, "usrp_flex_all")
 
         if options.from_file is not None:
             src = gr.file_source(gr.sizeof_gr_complex, options.from_file)
@@ -35,7 +35,7 @@
         if options.verbose:
             print "Channel filter has", len(taps), "taps"
 
-        bank = blks.analysis_filterbank(self, 128, taps)
+        bank = blks2.analysis_filterbank(128, taps)
         self.connect(src, bank)
 
         if options.log and options.from_file == None:
@@ -51,8 +51,7 @@
            if ((i < 20) or (i >= 60 and i < 68) or (i >= 108)): # Non-forward 
channel frequencies
                 self.connect((bank, i), gr.null_sink(gr.sizeof_gr_complex))
            else:
-               self.connect((bank, i), pager.flex_demod(self, queue, freq,
-                                                         options.verbose, 
options.log).INPUT)
+               self.connect((bank, i), pager.flex_demod(queue, freq, 
options.verbose, options.log))
                 if options.log:
                     self.connect((bank, i), gr.file_sink(gr.sizeof_gr_complex, 
'chan_'+'%3.3f'%(freq/1e6)+'.dat'))
 
@@ -76,9 +75,11 @@
         print options
 
     queue = gr.msg_queue()
-    fg = app_flow_graph(options, queue)
+    tb = app_top_block(options, queue)
+    r = gr.runtime(tb)
+
     try:
-        fg.start()
+        r.start()
        while 1:
            if not queue.empty_p():
                msg = queue.delete_head() # Blocking read
@@ -95,7 +96,7 @@
                time.sleep(1)
 
     except KeyboardInterrupt:
-        fg.stop()
-
+        r.stop()
+    
 if __name__ == "__main__":
     main()





reply via email to

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