options: parameters: author: Wojciech Kaczmarski SP5WWP catch_exceptions: 'True' category: '[GRC Hier Blocks]' cmake_opt: '' comment: '' copyright: '' description: '' gen_cmake: 'On' gen_linking: dynamic generate_options: qt_gui hier_block_src_path: '.:' id: transmitterPLUTOSDR max_nouts: '0' output_language: python placement: (0,0) qt_qss_theme: '' realtime_scheduling: '' run: 'True' run_command: '{python} -u {filename}' run_options: prompt sizing_mode: fixed thread_safe_setters: '' title: Simple M17 transmitter for ADALM Pluto window_size: (1000,1000) states: bus_sink: false bus_source: false bus_structure: null coordinate: [8, 12.0] rotation: 0 state: enabled blocks: - name: dst id: variable_qtgui_entry parameters: comment: '' entry_signal: editingFinished gui_hint: qtgui_tab_widget_0@0:0,0 label: Destination callsign type: string value: ALL states: bus_sink: false bus_source: false bus_structure: null coordinate: [152, 108.0] rotation: 0 state: true - name: freq id: variable_qtgui_entry parameters: comment: '' entry_signal: editingFinished gui_hint: qtgui_tab_widget_0@0:1,0 label: Frequency type: int value: '433475000' states: bus_sink: false bus_source: false bus_structure: null coordinate: [432, 16.0] rotation: 0 state: true - name: ppm id: variable_qtgui_range parameters: comment: '' gui_hint: qtgui_tab_widget_0@0:1,1 label: Frequency error (ppm) min_len: '200' orient: QtCore.Qt.Horizontal rangeType: float start: '-10' step: '0.1' stop: '10' value: '0' widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [584, 16.0] rotation: 0 state: true - name: pwr id: variable_qtgui_range parameters: comment: '' gui_hint: qtgui_tab_widget_0@0:2,0,1,2 label: RF power out min_len: '100' orient: QtCore.Qt.Horizontal rangeType: float start: '0' step: '1' stop: '80' value: '0' widget: counter_slider states: bus_sink: false bus_source: false bus_structure: null coordinate: [752, 16.0] rotation: 0 state: true - name: rf_on id: variable_qtgui_check_box parameters: comment: '' 'false': '0' gui_hint: qtgui_tab_widget_0@1:0,0 label: RF out 'true': '1' type: real value: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1040, 16.0] rotation: 0 state: true - name: samp_rate id: variable parameters: comment: '' value: '48000' states: bus_sink: false bus_source: false bus_structure: null coordinate: [184, 12.0] rotation: 0 state: enabled - name: src id: variable_qtgui_entry parameters: comment: '' entry_signal: editingFinished gui_hint: qtgui_tab_widget_0@0:0,1 label: Source callsign type: string value: AB1CDE states: bus_sink: false bus_source: false bus_structure: null coordinate: [8, 108.0] rotation: 0 state: true - name: analog_frequency_modulator_fc_0_0 id: analog_frequency_modulator_fc parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' sensitivity: (2.0*math.pi*800.0)/samp_rate states: bus_sink: false bus_source: false bus_structure: null coordinate: [728, 240.0] rotation: 0 state: true - name: analog_sig_source_x_0 id: analog_sig_source_x parameters: affinity: '' alias: '' amp: '20000' comment: '' freq: '1000' maxoutbuf: '0' minoutbuf: '0' offset: '0' phase: '0' samp_rate: '8000' showports: 'False' type: short waveform: analog.GR_COS_WAVE states: bus_sink: false bus_source: false bus_structure: null coordinate: [120, 384.0] rotation: 0 state: enabled - name: blocks_multiply_const_vxx_0 id: blocks_multiply_const_vxx parameters: affinity: '' alias: '' comment: '' const: rf_on maxoutbuf: '0' minoutbuf: '0' type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [976, 240.0] rotation: 0 state: true - name: blocks_pack_k_bits_bb_0 id: blocks_pack_k_bits_bb parameters: affinity: '' alias: '' comment: '' k: '8' maxoutbuf: '0' minoutbuf: '0' states: bus_sink: false bus_source: false bus_structure: null coordinate: [336, 344.0] rotation: 180 state: true - name: blocks_vector_source_x_0_2 id: blocks_vector_source_x parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' repeat: 'True' tags: '[]' type: byte vector: (0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [8, 224.0] rotation: 0 state: disabled - name: blocks_vector_to_stream_0 id: blocks_vector_to_stream parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' num_items: '64' type: byte vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [488, 352.0] rotation: 180 state: enabled - name: iio_pluto_sink_0_0 id: iio_pluto_sink parameters: affinity: '' alias: '' attenuation1: 80-pwr bandwidth: samp_rate*16 buffer_size: '32768' comment: '' cyclic: 'False' filter: '' filter_source: '''Auto''' fpass: '0' frequency: int(freq*(1+ppm*1e-6)) fstop: '0' len_tag_key: '' samplerate: samp_rate*16 type: fc32 uri: '' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1296, 180.0] rotation: 0 state: disabled - name: import_0 id: import parameters: alias: '' comment: '' imports: import math states: bus_sink: false bus_source: false bus_structure: null coordinate: [280, 12.0] rotation: 0 state: enabled - name: m17_m17_coder_0_0 id: m17_m17_coder parameters: affinity: '' alias: '' comment: '' debug: 'False' dst_id: dst maxoutbuf: '0' meta: '' minoutbuf: '0' src_id: src type: '5' states: bus_sink: false bus_source: false bus_structure: null coordinate: [336, 208.0] rotation: 0 state: enabled - name: note_0_2 id: note parameters: alias: '' comment: '' note: DATA states: bus_sink: false bus_source: false bus_structure: null coordinate: [160, 312.0] rotation: 0 state: true - name: note_0_2_1 id: note parameters: alias: '' comment: '' note: 1kHz beep, can be replaced with a WAVE file source states: bus_sink: false bus_source: false bus_structure: null coordinate: [0, 312.0] rotation: 0 state: true - name: qtgui_freq_sink_x_0_0 id: qtgui_freq_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'False' average: '1.0' axislabels: 'True' bw: int(samp_rate*16) color1: '"blue"' color10: '"dark blue"' color2: '"red"' color3: '"green"' color4: '"black"' color5: '"cyan"' color6: '"magenta"' color7: '"yellow"' color8: '"dark red"' color9: '"dark green"' comment: '' ctrlpanel: 'False' fc: '0' fftsize: '4096' freqhalf: 'True' grid: 'True' gui_hint: qtgui_tab_widget_0@1:2,0 label: Relative Gain label1: '' label10: '''''' label2: '''''' label3: '''''' label4: '''''' label5: '''''' label6: '''''' label7: '''''' label8: '''''' label9: '''''' legend: 'False' maxoutbuf: '0' minoutbuf: '0' name: '"RF scpectrum"' nconnections: '1' norm_window: 'False' showports: 'False' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_tag: '""' type: complex units: dB update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' wintype: window.WIN_BLACKMAN_hARRIS ymax: '0' ymin: '-100' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1304, 360.0] rotation: 0 state: enabled - name: qtgui_tab_widget_0 id: qtgui_tab_widget parameters: alias: '' comment: '' gui_hint: '' label0: Settings label1: Baseband && RF spectrum 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' states: bus_sink: false bus_source: false bus_structure: null coordinate: [872, 16.0] rotation: 0 state: true - name: qtgui_time_sink_x_0_0 id: qtgui_time_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'False' axislabels: 'True' color1: blue color10: dark blue color2: red color3: green color4: black color5: cyan color6: magenta color7: yellow color8: dark red color9: dark green comment: '' ctrlpanel: 'False' entags: 'True' grid: 'True' gui_hint: qtgui_tab_widget_0@1:1,0 label1: '' label10: Signal 10 label2: Signal 2 label3: Signal 3 label4: Signal 4 label5: Signal 5 label6: Signal 6 label7: Signal 7 label8: Signal 8 label9: Signal 9 legend: 'False' marker1: '-1' marker10: '-1' marker2: '-1' marker3: '-1' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '"M17 baseband"' nconnections: '1' size: '1024' srate: samp_rate stemplot: 'False' style1: '1' style10: '1' style2: '1' style3: '1' style4: '1' style5: '1' style6: '1' style7: '1' style8: '1' style9: '1' tr_chan: '0' tr_delay: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: float update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' ylabel: Amplitude ymax: '5' ymin: '-5' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [776, 304.0] rotation: 0 state: enabled - name: rational_resampler_xxx_0_0 id: rational_resampler_xxx parameters: affinity: '' alias: '' comment: '' decim: '1' fbw: '0' interp: '16' maxoutbuf: '0' minoutbuf: '0' taps: '[]' type: ccf states: bus_sink: false bus_source: false bus_structure: null coordinate: [1128, 216.0] rotation: 0 state: true - name: root_raised_cosine_filter_0 id: root_raised_cosine_filter parameters: affinity: '' alias: '' alpha: '0.5' comment: '' decim: '1' gain: '10' interp: '10' maxoutbuf: '0' minoutbuf: '0' ntaps: '81' samp_rate: '10' sym_rate: '1.0' type: interp_fir_filter_fff states: bus_sink: false bus_source: false bus_structure: null coordinate: [528, 200.0] rotation: 0 state: true - name: uhd_usrp_sink_0 id: uhd_usrp_sink parameters: affinity: '' alias: '' ant0: '"TX/RX"' ant1: '"TX/RX"' ant10: '"TX/RX"' ant11: '"TX/RX"' ant12: '"TX/RX"' ant13: '"TX/RX"' ant14: '"TX/RX"' ant15: '"TX/RX"' ant16: '"TX/RX"' ant17: '"TX/RX"' ant18: '"TX/RX"' ant19: '"TX/RX"' ant2: '"TX/RX"' ant20: '"TX/RX"' ant21: '"TX/RX"' ant22: '"TX/RX"' ant23: '"TX/RX"' ant24: '"TX/RX"' ant25: '"TX/RX"' ant26: '"TX/RX"' ant27: '"TX/RX"' ant28: '"TX/RX"' ant29: '"TX/RX"' ant3: '"TX/RX"' ant30: '"TX/RX"' ant31: '"TX/RX"' ant4: '"TX/RX"' ant5: '"TX/RX"' ant6: '"TX/RX"' ant7: '"TX/RX"' ant8: '"TX/RX"' ant9: '"TX/RX"' bw0: '0' bw1: '0' bw10: '0' bw11: '0' bw12: '0' bw13: '0' bw14: '0' bw15: '0' bw16: '0' bw17: '0' bw18: '0' bw19: '0' bw2: '0' bw20: '0' bw21: '0' bw22: '0' bw23: '0' bw24: '0' bw25: '0' bw26: '0' bw27: '0' bw28: '0' bw29: '0' bw3: '0' bw30: '0' bw31: '0' bw4: '0' bw5: '0' bw6: '0' bw7: '0' bw8: '0' bw9: '0' center_freq0: int(freq*(1+ppm*1e-6)) center_freq1: '0' center_freq10: '0' center_freq11: '0' center_freq12: '0' center_freq13: '0' center_freq14: '0' center_freq15: '0' center_freq16: '0' center_freq17: '0' center_freq18: '0' center_freq19: '0' center_freq2: '0' center_freq20: '0' center_freq21: '0' center_freq22: '0' center_freq23: '0' center_freq24: '0' center_freq25: '0' center_freq26: '0' center_freq27: '0' center_freq28: '0' center_freq29: '0' center_freq3: '0' center_freq30: '0' center_freq31: '0' center_freq4: '0' center_freq5: '0' center_freq6: '0' center_freq7: '0' center_freq8: '0' center_freq9: '0' clock_rate: 0e0 clock_source0: '' clock_source1: '' clock_source2: '' clock_source3: '' clock_source4: '' clock_source5: '' clock_source6: '' clock_source7: '' comment: '' dev_addr: '""' dev_args: '' gain0: '69' gain1: '0' gain10: '0' gain11: '0' gain12: '0' gain13: '0' gain14: '0' gain15: '0' gain16: '0' gain17: '0' gain18: '0' gain19: '0' gain2: '0' gain20: '0' gain21: '0' gain22: '0' gain23: '0' gain24: '0' gain25: '0' gain26: '0' gain27: '0' gain28: '0' gain29: '0' gain3: '0' gain30: '0' gain31: '0' gain4: '0' gain5: '0' gain6: '0' gain7: '0' gain8: '0' gain9: '0' gain_type0: default gain_type1: default gain_type10: default gain_type11: default gain_type12: default gain_type13: default gain_type14: default gain_type15: default gain_type16: default gain_type17: default gain_type18: default gain_type19: default gain_type2: default gain_type20: default gain_type21: default gain_type22: default gain_type23: default gain_type24: default gain_type25: default gain_type26: default gain_type27: default gain_type28: default gain_type29: default gain_type3: default gain_type30: default gain_type31: default gain_type4: default gain_type5: default gain_type6: default gain_type7: default gain_type8: default gain_type9: default len_tag_name: '""' lo_export0: 'False' lo_export1: 'False' lo_export10: 'False' lo_export11: 'False' lo_export12: 'False' lo_export13: 'False' lo_export14: 'False' lo_export15: 'False' lo_export16: 'False' lo_export17: 'False' lo_export18: 'False' lo_export19: 'False' lo_export2: 'False' lo_export20: 'False' lo_export21: 'False' lo_export22: 'False' lo_export23: 'False' lo_export24: 'False' lo_export25: 'False' lo_export26: 'False' lo_export27: 'False' lo_export28: 'False' lo_export29: 'False' lo_export3: 'False' lo_export30: 'False' lo_export31: 'False' lo_export4: 'False' lo_export5: 'False' lo_export6: 'False' lo_export7: 'False' lo_export8: 'False' lo_export9: 'False' lo_source0: internal lo_source1: internal lo_source10: internal lo_source11: internal lo_source12: internal lo_source13: internal lo_source14: internal lo_source15: internal lo_source16: internal lo_source17: internal lo_source18: internal lo_source19: internal lo_source2: internal lo_source20: internal lo_source21: internal lo_source22: internal lo_source23: internal lo_source24: internal lo_source25: internal lo_source26: internal lo_source27: internal lo_source28: internal lo_source29: internal lo_source3: internal lo_source30: internal lo_source31: internal lo_source4: internal lo_source5: internal lo_source6: internal lo_source7: internal lo_source8: internal lo_source9: internal maxoutbuf: '0' minoutbuf: '0' nchan: '1' num_mboards: '1' otw: '' samp_rate: samp_rate*16 sd_spec0: '' sd_spec1: '' sd_spec2: '' sd_spec3: '' sd_spec4: '' sd_spec5: '' sd_spec6: '' sd_spec7: '' show_lo_controls: 'False' start_time: '-1.0' stream_args: '' stream_chans: '[]' sync: sync time_source0: '' time_source1: '' time_source2: '' time_source3: '' time_source4: '' time_source5: '' time_source6: '' time_source7: '' type: fc32 states: bus_sink: false bus_source: false bus_structure: null coordinate: [1344, 56.0] rotation: 0 state: enabled - name: vocoder_codec2_encode_sp_0 id: vocoder_codec2_encode_sp parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' mode: codec2.MODE_3200 states: bus_sink: false bus_source: false bus_structure: null coordinate: [456, 424.0] rotation: 0 state: enabled connections: - [analog_frequency_modulator_fc_0_0, '0', blocks_multiply_const_vxx_0, '0'] - [analog_sig_source_x_0, '0', vocoder_codec2_encode_sp_0, '0'] - [blocks_multiply_const_vxx_0, '0', rational_resampler_xxx_0_0, '0'] - [blocks_pack_k_bits_bb_0, '0', m17_m17_coder_0_0, '0'] - [blocks_vector_source_x_0_2, '0', m17_m17_coder_0_0, '0'] - [blocks_vector_to_stream_0, '0', blocks_pack_k_bits_bb_0, '0'] - [m17_m17_coder_0_0, '0', root_raised_cosine_filter_0, '0'] - [rational_resampler_xxx_0_0, '0', iio_pluto_sink_0_0, '0'] - [rational_resampler_xxx_0_0, '0', qtgui_freq_sink_x_0_0, '0'] - [rational_resampler_xxx_0_0, '0', uhd_usrp_sink_0, '0'] - [root_raised_cosine_filter_0, '0', analog_frequency_modulator_fc_0_0, '0'] - [root_raised_cosine_filter_0, '0', qtgui_time_sink_x_0_0, '0'] - [vocoder_codec2_encode_sp_0, '0', blocks_vector_to_stream_0, '0'] metadata: file_format: 1 grc_version: 3.10.10.0