Ver código fonte

simplify fm_radio.py

Fabian Peter Hammerle 7 meses atrás
pai
commit
4e56553471
1 arquivos alterados com 9 adições e 27 exclusões
  1. 9 27
      fm_radio.py

+ 9 - 27
fm_radio.py

@@ -1,14 +1,10 @@
 #!/usr/bin/env python3
-# -*- coding: utf-8 -*-
 #
 # SPDX-License-Identifier: GPL-3.0
 #
 # GNU Radio Python Flow Graph
 # Title: FM Radio Receiver
 
-import signal
-import sys
-
 import gnuradio.analog
 import gnuradio.audio
 import gnuradio.fft
@@ -32,12 +28,12 @@ class fm_radio(gnuradio.gr.top_block):
             interpolation=audio_sample_rate_hertz, decimation=channel_width_hertz
         )
         low_pass_filter = gnuradio.filter.fir_filter_ccf(
-            (int(samp_rate / channel_width_hertz)),
+            samp_rate // channel_width_hertz,
             gnuradio.filter.firdes.low_pass(
                 2, samp_rate, 100000, 10000, gnuradio.fft.window.WIN_KAISER, 6.76
             ),
         )
-        audio_sink = gnuradio.audio.sink(audio_sample_rate_hertz, "", True)
+        audio_sink = gnuradio.audio.sink(audio_sample_rate_hertz)
         wbfm_demodulator = gnuradio.analog.wfm_rcv(
             quad_rate=channel_width_hertz, audio_decimation=1
         )
@@ -48,27 +44,13 @@ class fm_radio(gnuradio.gr.top_block):
         self.connect((rtlsdr_source, 0), (low_pass_filter, 0))
 
 
-def main(top_block_cls=fm_radio, options=None):
-    tb = top_block_cls()
-
-    def sig_handler(sig=None, frame=None):
-        tb.stop()
-        tb.wait()
-
-        sys.exit(0)
-
-    signal.signal(signal.SIGINT, sig_handler)
-    signal.signal(signal.SIGTERM, sig_handler)
-
-    tb.start()
-
-    try:
-        input("Press Enter to quit: ")
-    except EOFError:
-        pass
-    tb.stop()
-    tb.wait()
+def _main():
+    top_block = fm_radio()
+    top_block.start()
+    input("Press Enter to quit: ")
+    top_block.stop()
+    top_block.wait()
 
 
 if __name__ == "__main__":
-    main()
+    _main()