#!/usr/bin/env python2 ################################################## # GNU Radio Python Flow Graph # Title: Top Block # Generated: Tue Dec 22 16:32:04 2015 ################################################## from gnuradio import blocks from gnuradio import eng_notation from gnuradio import gr from gnuradio import gr, blocks from gnuradio.eng_option import eng_option from gnuradio.filter import firdes from optparse import OptionParser import osmosdr class top_block(gr.top_block): def __init__(self): gr.top_block.__init__(self, "Top Block") ################################################## # Variables ################################################## self.time = time = 60 self.samp_rate = samp_rate = 2e6 self.freq = freq = 868e6 ################################################## # Blocks ################################################## self.rtlsdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + "" ) self.rtlsdr_source_0.set_sample_rate(samp_rate) self.rtlsdr_source_0.set_center_freq(freq, 0) self.rtlsdr_source_0.set_freq_corr(0, 0) self.rtlsdr_source_0.set_dc_offset_mode(0, 0) self.rtlsdr_source_0.set_iq_balance_mode(0, 0) self.rtlsdr_source_0.set_gain_mode(False, 0) self.rtlsdr_source_0.set_gain(0, 0) self.rtlsdr_source_0.set_if_gain(20, 0) self.rtlsdr_source_0.set_bb_gain(20, 0) self.rtlsdr_source_0.set_antenna("", 0) self.rtlsdr_source_0.set_bandwidth(0, 0) self.blocks_head_0 = blocks.head(gr.sizeof_gr_complex*1, int(samp_rate)*time) self.blocks_file_meta_sink_0 = blocks.file_meta_sink(gr.sizeof_gr_complex*1, "bla", samp_rate, 1, blocks.GR_FILE_FLOAT, True, 1000000, "", False) self.blocks_file_meta_sink_0.set_unbuffered(False) ################################################## # Connections ################################################## self.connect((self.blocks_head_0, 0), (self.blocks_file_meta_sink_0, 0)) self.connect((self.rtlsdr_source_0, 0), (self.blocks_head_0, 0)) def get_time(self): return self.time def set_time(self, time): self.time = time self.blocks_head_0.set_length(int(self.samp_rate)*self.time) def get_samp_rate(self): return self.samp_rate def set_samp_rate(self, samp_rate): self.samp_rate = samp_rate self.blocks_head_0.set_length(int(self.samp_rate)*self.time) self.rtlsdr_source_0.set_sample_rate(self.samp_rate) def get_freq(self): return self.freq def set_freq(self, freq): self.freq = freq self.rtlsdr_source_0.set_center_freq(self.freq, 0) if __name__ == '__main__': parser = OptionParser(option_class=eng_option, usage="%prog: [options]") (options, args) = parser.parse_args() tb = top_block() tb.start() try: raw_input('Press Enter to quit: ') except EOFError: pass tb.stop() tb.wait()