Merge r6461:6464 from jcorgan/t162-staging into trunk.
[debian/gnuradio] / gnuradio-examples / python / usrp / usrp_wfm_rcv2_nogui.py
index efb0448fa207bfa6d4964fba76adc7747b20d0a3..942fd070a0aac73210a3a067ea610e6363201cfd 100755 (executable)
@@ -1,9 +1,29 @@
 #!/usr/bin/env python
+#
+# Copyright 2005,2006,2007 Free Software Foundation, Inc.
+# 
+# This file is part of GNU Radio
+# 
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+# 
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+# 
 
 from gnuradio import gr, gru, eng_notation, optfir
 from gnuradio import audio
 from gnuradio import usrp
-from gnuradio import blks
+from gnuradio import blks2
 from gnuradio.eng_option import eng_option
 from optparse import OptionParser
 from usrpm import usrp_dbid
@@ -22,10 +42,10 @@ def pick_subdevice(u):
                                 usrp_dbid.BASIC_RX))
 
 
-class wfm_rx_graph (gr.flow_graph):
+class wfm_rx_block (gr.top_block):
 
     def __init__(self):
-        gr.flow_graph.__init__(self)
+        gr.top_block.__init__(self)
 
         parser=OptionParser(option_class=eng_option)
         parser.add_option("-R", "--rx-subdev-spec", type="subdev", default=None,
@@ -107,7 +127,7 @@ class wfm_rx_graph (gr.flow_graph):
 
         for n in range(2):
             chan_filt = gr.fir_filter_ccf (chanfilt_decim, chan_filt_coeffs)
-            guts = blks.wfm_rcv (self, demod_rate, audio_decimation)
+            guts = blks2.wfm_rcv (demod_rate, audio_decimation)
             volume_control = gr.multiply_const_ff(self.vol)
             self.connect((di, n), chan_filt)
             self.connect(chan_filt, guts, volume_control)
@@ -135,10 +155,13 @@ class wfm_rx_graph (gr.flow_graph):
     def set_gain(self, gain):
         self.subdev.set_gain(gain)
 
+    def __del__(self):
+       # Avoid weak-reference error
+       del self.subdev
     
 if __name__ == '__main__':
-    fg = wfm_rx_graph()
+    tb = wfm_rx_block()
     try:
-        fg.run()
+        tb.run()
     except KeyboardInterrupt:
         pass