Fri Apr 28 11:07:37 2017 options author window_size category [GRC Hier Blocks] comment description _enabled True _coordinate (8, 8) _rotation 0 generate_options qt_gui hier_block_src_path .: id top_block max_nouts 0 qt_qss_theme realtime_scheduling run_command {python} -u {filename} run_options prompt run True thread_safe_setters title variable comment _enabled True _coordinate (1022, 11) _rotation 0 id audio_decim value 5 variable comment _enabled True _coordinate (878, 11) _rotation 0 id audio_rate value 48000 variable comment _enabled True _coordinate (702, 35) _rotation 0 id baseband_rate value 240000 variable comment _enabled True _coordinate (151, 706) _rotation 0 id fft19k_len value 2048 variable_qtgui_range comment SWR3 value 922e5 _enabled 1 _coordinate (511, 0) gui_hint tabs@0:0,1,1,1 _rotation 0 id freq1 label min_len 200 orient Qt.Horizontal start 86e6 step 1e5 stop 108e6 rangeType float widget counter_slider variable_qtgui_range comment value 98800000 _enabled True _coordinate (375, 31) gui_hint tabs@0:0,0,1,1 _rotation 0 id freq_tune label min_len 200 orient Qt.Horizontal start 86e6 step 1e5 stop 108e6 rangeType float widget counter_slider variable comment _enabled True _coordinate (1014, 115) _rotation 0 id loop_bw value 470 variable_qtgui_range comment value 0.1 _enabled True _coordinate (335, 710) gui_hint tabs@0:0,2,1,1 _rotation 0 id volume label min_len 200 orient Qt.Horizontal start 0 step 0.01 stop 1 rangeType float widget counter_slider analog_fm_deemph alias comment affinity _enabled 1 _coordinate (391, 611) _rotation 0 id analog_fm_deemph_0_0_1 maxoutbuf 0 minoutbuf 0 samp_rate audio_rate tau 75e-6 audio_sink alias comment affinity device_name _enabled True _coordinate (734, 646) _rotation 0 id audio_sink_0_0 num_inputs 1 ok_to_block True samp_rate audio_rate blocks_complex_to_real alias comment affinity _enabled 1 _coordinate (686, 207) _rotation 0 id blocks_complex_to_real_0 maxoutbuf 0 minoutbuf 0 vlen 1 blocks_file_source alias comment affinity _enabled True file /tmp/cr/rds_rec_all_1500news/fm_dec_240k_5888.0 _coordinate (55, 131) _rotation 0 id blocks_file_source_0 maxoutbuf 0 minoutbuf 0 type float repeat True vlen 1 blocks_multiply_const_vxx alias comment const volume affinity _enabled 1 _coordinate (567, 658) _rotation 0 id blocks_multiply_const_vxx_0_1 type float maxoutbuf 0 minoutbuf 0 vlen 1 blocks_throttle alias comment affinity _enabled True _coordinate (247, 115) _rotation 0 id blocks_throttle_0 ignoretag True maxoutbuf 0 minoutbuf 0 samples_per_second baseband_rate type float vlen 1 digital_binary_slicer_fb alias comment affinity _enabled 1 _coordinate (830, 343) _rotation 180 id digital_binary_slicer_fb_0 maxoutbuf 0 minoutbuf 0 digital_diff_decoder_bb alias comment affinity _enabled 1 _coordinate (631, 339) _rotation 180 id digital_diff_decoder_bb_0 maxoutbuf 0 minoutbuf 0 modulus 2 digital_mpsk_receiver_cc alias comment affinity _enabled 1 _coordinate (463, 139) _rotation 0 gain_mu 0.05 gain_omega 0.001 id digital_mpsk_receiver_cc_0 w 3.14/loop_bw M 2 fmax 0.06 maxoutbuf 0 fmin -0.06 minoutbuf 0 mu 0.5 omega_relative_limit 0.005 omega 48000 / 2375.0 theta 0 epy_block alias _io_cache ('freq-setter', 'blk', [('freqlist', '[92200000, 94700000, 101300000, 102300000, 105700000, 107700000]')], [], [('out', 'message', None)], 'Embedded Python Block example - a simple multiply const', ['freqlist']) _source_code """ Embedded Python Blocks: Each time this file is saved, GRC will instantiate the first class it finds to get ports and parameters of your block. The arguments to __init__ will be the parameters. All of them are required to have default values! """ import numpy as np from gnuradio import gr import pmt from threading import Timer #import time class blk(gr.sync_block): # other base classes are basic_block, decim_block, interp_block """Embedded Python Block example - a simple multiply const""" def __init__(self, freqlist=[92200000,94700000,101300000,102300000,105700000,107700000]): # only default arguments here """arguments to this function show up as parameters in GRC""" gr.sync_block.__init__( self, name='freq-setter', # will show up in GRC in_sig=None, out_sig=None ) # if an attribute with the same name as a parameter is found, # a callback is registered (properties work, too). self._freqlist=freqlist self.message_port_register_out(pmt.intern('out')) self.send_msg() Timer(3, self.send_msg).start() #after 3 seconds (when table initialized) #self.time=time.time() @property def freqlist(self): """I'm the 'freqlist' property.""" return self._freqlist @freqlist.setter def freqlist(self, value): self._freqlist = value self.send_msg() @freqlist.deleter def freqlist(self): del self._freqlist def send_msg(self): #print(self.freqlist) for i,freq in enumerate(self.freqlist): send_string=str(i+1)+" "+str(freq) send_pmt = pmt.string_to_symbol(send_string) self.message_port_pub(pmt.intern('out'), send_pmt) #def work(self, input_items, output_items): #print("work") #now=time.time() #if now-self.time >2: #self.time=now #self.send_msg() #return len(input_items[0]) comment _enabled True freqlist [freq1] _coordinate (638, 531) _rotation 0 id epy_block_0 fir_filter_xxx alias comment affinity decim audio_decim _enabled 1 _coordinate (159, 627) _rotation 0 id fir_filter_xxx_0_0_1 maxoutbuf 0 minoutbuf 0 samp_delay 0 taps firdes.low_pass(1.0,baseband_rate,13e3,3e3,firdes.WIN_HAMMING) type fff freq_xlating_fir_filter_xxx alias center_freq 57e3 comment affinity decim audio_decim _enabled 1 _coordinate (231, 271) _rotation 270 id freq_xlating_fir_filter_xxx_1 maxoutbuf 0 minoutbuf 0 samp_rate baseband_rate taps firdes.low_pass(2500.0,baseband_rate,2.4e3,2e3,firdes.WIN_HAMMING) type fcc logpwrfft_x avg_alpha 1.0 average False alias comment affinity _enabled True fft_size fft19k_len frame_rate 30 _coordinate (231, 519) _rotation 0 id logpwrfft_x_0 type float maxoutbuf 0 minoutbuf 0 ref_scale 2 sample_rate baseband_rate multirds_pilot_SNR alias comment affinity debug False _enabled 1 _coordinate (559, 543) _rotation 0 id multirds_pilot_SNR_0 maxoutbuf 0 minoutbuf 0 carrier_freq 19e3 fft_len fft19k_len gap_width 4e3 msg_adr 3 samp_rate baseband_rate update_period 0.4 multirds_rds_decoder_redsea alias comment affinity debug False _enabled True _coordinate (631, 443) _rotation 0 id multirds_rds_decoder_redsea_0 log False maxoutbuf 0 minoutbuf 0 multirds_rds_parser_table_qt alias comment affinity debug False _enabled True _coordinate (878, 487) gui_hint tabs@1 _rotation 0 id multirds_rds_parser_table_qt_0 label log False maxoutbuf 0 minoutbuf 0 nPorts 1 freq_tune freq_tune workdir /user/wire2/richter/data/ writeDB False multirds_sync_decim alias comment affinity _enabled True _coordinate (1006, 243) _rotation 0 id multirds_sync_decim_0 log True maxoutbuf 0 minoutbuf 0 threshold 1 min_diff 0.2 multirds_tmc_parser alias comment affinity debug True _enabled 0 _coordinate (1102, 499) gui_hint tabs@1 _rotation 0 id multirds_tmc_parser_0 label log False maxheight 160 workdir /user/wire2/richter/data/ writeDB False qtgui_const_sink_x autoscale False axislabels False alias comment affinity _enabled True _coordinate (710, 131) gui_hint tabs@0 _rotation 0 grid False id qtgui_const_sink_x_0 legend True alpha1 1.0 color1 "blue" label1 marker1 0 style1 0 width1 1 alpha10 1.0 color10 "red" label10 marker10 0 style10 0 width10 1 alpha2 1.0 color2 "red" label2 marker2 0 style2 0 width2 1 alpha3 1.0 color3 "green" label3 marker3 0 style3 0 width3 1 alpha4 1.0 color4 "black" label4 marker4 0 style4 0 width4 1 alpha5 1.0 color5 "cyan" label5 marker5 0 style5 0 width5 1 alpha6 1.0 color6 "magenta" label6 marker6 0 style6 0 width6 1 alpha7 1.0 color7 "red" label7 marker7 0 style7 0 width7 1 alpha8 1.0 color8 "red" label8 marker8 0 style8 0 width8 1 alpha9 1.0 color9 "red" label9 marker9 0 style9 0 width9 1 name "" nconnections 1 size 1024 tr_chan 0 tr_level 0.0 tr_mode qtgui.TRIG_MODE_FREE tr_slope qtgui.TRIG_SLOPE_POS tr_tag "" type complex update_time 0.01 xmax 2 xmin -2 ymax 2 ymin -2 qtgui_freq_sink_x autoscale False average 1.0 axislabels True bw 48000 alias fc 0 comment ctrlpanel False affinity _enabled True fftsize 1024 _coordinate (511, 363) gui_hint _rotation 0 grid False id qtgui_freq_sink_x_0 legend True alpha1 1.0 color1 "blue" label1 width1 1 alpha10 1.0 color10 "dark blue" label10 width10 1 alpha2 1.0 color2 "red" label2 width2 1 alpha3 1.0 color3 "green" label3 width3 1 alpha4 1.0 color4 "black" label4 width4 1 alpha5 1.0 color5 "cyan" label5 width5 1 alpha6 1.0 color6 "magenta" label6 width6 1 alpha7 1.0 color7 "yellow" label7 width7 1 alpha8 1.0 color8 "dark red" label8 width8 1 alpha9 1.0 color9 "dark green" label9 width9 1 maxoutbuf 0 minoutbuf 0 name "" nconnections 2 showports True freqhalf True tr_chan 0 tr_level 0.0 tr_mode qtgui.TRIG_MODE_FREE tr_tag "" type complex update_time 0.10 wintype firdes.WIN_BLACKMAN_hARRIS label Relative Gain ymax 10 ymin -140 units dB qtgui_freq_sink_x autoscale False average 1.0 axislabels False bw baseband_rate alias fc 0 comment ctrlpanel False affinity _enabled 1 fftsize 1024 _coordinate (399, 471) gui_hint tabs@0 _rotation 0 grid False id qtgui_freq_sink_x_0_0_1_2 legend True alpha1 1.0 color1 "blue" label1 width1 1 alpha10 1.0 color10 "dark blue" label10 width10 1 alpha2 1.0 color2 "red" label2 width2 1 alpha3 1.0 color3 "green" label3 width3 1 alpha4 1.0 color4 "black" label4 width4 1 alpha5 1.0 color5 "cyan" label5 width5 1 alpha6 1.0 color6 "magenta" label6 width6 1 alpha7 1.0 color7 "yellow" label7 width7 1 alpha8 1.0 color8 "dark red" label8 width8 1 alpha9 1.0 color9 "dark green" label9 width9 1 maxoutbuf 0 minoutbuf 0 name nconnections 1 showports True freqhalf True tr_chan 0 tr_level 0.0 tr_mode qtgui.TRIG_MODE_FREE tr_tag "" type float update_time 0.10 wintype firdes.WIN_BLACKMAN_hARRIS label Relative Gain ymax 0 ymin -120 units dB root_raised_cosine_filter alpha 1 alias comment affinity decim 1 _enabled 1 type fir_filter_ccf _coordinate (319, 279) _rotation 90 gain 1 id root_raised_cosine_filter_0 interp 1 maxoutbuf 0 minoutbuf 0 ntaps 100 samp_rate audio_rate sym_rate 2375 qtgui_tab_widget alias comment _enabled 1 _coordinate (0, 355) gui_hint _rotation 0 id tabs label0 graphs label1 table label10 Tab 10 label11 Tab 11 label12 Tab 12 label13 Tab 13 label14 Tab 14 label15 Tab 15 label16 Tab 16 label17 Tab 17 label18 Tab 18 label19 Tab 19 label2 Tab 2 label3 Tab 3 label4 Tab 4 label5 Tab 5 label6 Tab 6 label7 Tab 7 label8 Tab 8 label9 Tab 9 num_tabs 2 analog_fm_deemph_0_0_1 blocks_multiply_const_vxx_0_1 0 0 blocks_complex_to_real_0 multirds_sync_decim_0 0 0 blocks_file_source_0 blocks_throttle_0 0 0 blocks_multiply_const_vxx_0_1 audio_sink_0_0 0 0 blocks_throttle_0 fir_filter_xxx_0_0_1 0 0 blocks_throttle_0 freq_xlating_fir_filter_xxx_1 0 0 blocks_throttle_0 logpwrfft_x_0 0 0 blocks_throttle_0 qtgui_freq_sink_x_0_0_1_2 0 0 digital_binary_slicer_fb_0 digital_diff_decoder_bb_0 0 0 digital_diff_decoder_bb_0 multirds_rds_decoder_redsea_0 0 0 digital_mpsk_receiver_cc_0 blocks_complex_to_real_0 0 0 digital_mpsk_receiver_cc_0 qtgui_const_sink_x_0 0 0 epy_block_0 multirds_rds_parser_table_qt_0 out freq fir_filter_xxx_0_0_1 analog_fm_deemph_0_0_1 0 0 freq_xlating_fir_filter_xxx_1 qtgui_freq_sink_x_0 0 1 freq_xlating_fir_filter_xxx_1 root_raised_cosine_filter_0 0 0 logpwrfft_x_0 multirds_pilot_SNR_0 0 0 multirds_pilot_SNR_0 multirds_rds_parser_table_qt_0 out in multirds_rds_decoder_redsea_0 multirds_rds_parser_table_qt_0 out in multirds_rds_decoder_redsea_0 multirds_sync_decim_0 out ctrl multirds_rds_parser_table_qt_0 multirds_tmc_parser_0 tmc_raw in multirds_sync_decim_0 multirds_rds_parser_table_qt_0 ctrl in multirds_sync_decim_0 digital_binary_slicer_fb_0 0 0 root_raised_cosine_filter_0 digital_mpsk_receiver_cc_0 0 0 root_raised_cosine_filter_0 qtgui_freq_sink_x_0 0 0