#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # SPDX-License-Identifier: GPL-3.0 # # GNU Radio Python Flow Graph # Title: Not titled yet # Author: michael2 # GNU Radio version: 3.10.6.0 from gnuradio import analog from gnuradio import blocks from gnuradio import gr from gnuradio.filter import firdes from gnuradio.fft import window import sys import signal from argparse import ArgumentParser from gnuradio.eng_arg import eng_float, intx from gnuradio import eng_notation class Test(gr.top_block): def __init__(self): gr.top_block.__init__(self, "Not titled yet", catch_exceptions=True) ################################################## # Variables ################################################## self.samp_rate = samp_rate = 32000 ################################################## # Blocks ################################################## self.blocks_throttle2_0 = blocks.throttle( gr.sizeof_gr_complex*1, (samp_rate/8), True, 0 if "auto" == "auto" else max( int(float(0.1) * (samp_rate/8)) if "auto" == "time" else int(0.1), 1) ) self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_gr_complex*1, 'test', True) self.blocks_file_sink_0.set_unbuffered(True) self.analog_sig_source_x_0 = analog.sig_source_c(samp_rate, analog.GR_COS_WAVE, 1000, 1, 0, 0) ################################################## # Connections ################################################## self.connect((self.analog_sig_source_x_0, 0), (self.blocks_throttle2_0, 0)) self.connect((self.blocks_throttle2_0, 0), (self.blocks_file_sink_0, 0)) def get_samp_rate(self): return self.samp_rate def set_samp_rate(self, samp_rate): self.samp_rate = samp_rate self.analog_sig_source_x_0.set_sampling_freq(self.samp_rate) self.blocks_throttle2_0.set_sample_rate((self.samp_rate/8)) def main(top_block_cls=Test, 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() if __name__ == '__main__': main()