[Top][All Lists]
[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()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r5976 - gnuradio/branches/features/pager/gr-pager/src,
jcorgan <=