| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653 | options:  parameters:    author: ''    category: '[GRC Hier Blocks]'    cmake_opt: ''    comment: ''    copyright: ''    description: ''    gen_cmake: 'On'    gen_linking: dynamic    generate_options: qt_gui    hier_block_src_path: '.:'    id: scope    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: Arduino Voltmeter / Oscilloscope    window_size: ''  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [20, 20]    rotation: 0    state: enabledblocks:- name: input_voltage_max  id: variable  parameters:    comment: ''    value: reference_voltage * resistor_in_ohm / resistor_ground_ohm + reference_voltage  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [1491, 193]    rotation: 0    state: true- name: input_voltage_min  id: variable  parameters:    comment: ''    value: -1 * reference_voltage * resistor_in_ohm / resistor_ref_ohm  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [1494, 94]    rotation: 0    state: true- name: reference_voltage  id: variable  parameters:    comment: ''    value: '4.11'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [457, 222]    rotation: 0    state: true- name: resistor_ground_ohm  id: variable  parameters:    comment: ''    value: 10e3  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [892, 124]    rotation: 0    state: true- name: resistor_in_ohm  id: variable  parameters:    comment: ''    value: 100e3  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [926, 26]    rotation: 0    state: true- name: resistor_ref_ohm  id: variable  parameters:    comment: ''    value: 10e3  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [925, 222]    rotation: 0    state: true- name: sample_rate_hz  id: variable  parameters:    comment: ''    value: '1044.4'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [58, 173]    rotation: 0    state: enabled- name: blocks_add_const_vxx_0  id: blocks_add_const_vxx  parameters:    affinity: ''    alias: ''    comment: '- V_ref * R_in / R_ref'    const: input_voltage_min    maxoutbuf: '0'    minoutbuf: '0'    type: float    vlen: '1'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [1116, 324]    rotation: 0    state: enabled- name: blocks_message_debug_0  id: blocks_message_debug  parameters:    affinity: ''    alias: ''    comment: ''  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [991, 817]    rotation: 0    state: true- name: blocks_multiply_const_vxx_0  id: blocks_multiply_const_vxx  parameters:    affinity: ''    alias: ''    comment: (1 + R_in / R_gnd + R_in / R_ref)    const: '1 + resistor_in_ohm / resistor_ground_ohm + resistor_in_ohm / resistor_ref_ohm '    maxoutbuf: '0'    minoutbuf: '0'    type: float    vlen: '1'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [816, 324]    rotation: 0    state: enabled- name: blocks_probe_rate_0  id: blocks_probe_rate  parameters:    affinity: ''    alias: ''    alpha: '0.15'    comment: ''    maxoutbuf: '0'    minoutbuf: '0'    mintime: '10000.0'    type: short    vlen: '1'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [391, 781]    rotation: 0    state: true- name: blocks_short_to_float_0  id: blocks_short_to_float  parameters:    affinity: ''    alias: ''    comment: ''    maxoutbuf: '0'    minoutbuf: '0'    scale: 1024 / reference_voltage    vlen: '1'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [483, 324]    rotation: 0    state: true- name: epy_block_0  id: epy_block  parameters:    _source_code: "import gnuradio\nimport numpy\nimport serial\n\n\nclass ArduinoAnalogReadings(gnuradio.gr.sync_block):\n\      \    def __init__(\n        self, port=\"/dev/ttyUSB0\", baud_rate=115200, buffer_max_length=10,\      \ timeout=2\n    ):\n        gnuradio.gr.sync_block.__init__(\n            self,\      \ name=\"Arduino Analog Readings\", in_sig=None, out_sig=[numpy.int16]\n   \      \     )\n        self._serial_port = serial.Serial(\n            port=port,\      \ baudrate=baud_rate, bytesize=serial.EIGHTBITS, timeout=timeout\n        )\n\      \        self._buffer_max_length = buffer_max_length\n\n    def work(self, input_items,\      \ output_items):\n        # pylint: disable=unused-argument\n        buffer\      \ = self._serial_port.read(\n            2 * min(len(output_items[0]), self._buffer_max_length)\n\      \        )\n        assert len(buffer) % 2 == 0\n        buffer_samples_count\      \ = len(buffer) // 2\n        output_items[0][:buffer_samples_count] = numpy.frombuffer(buffer,\      \ dtype=\">u2\")\n        assert output_items[0][:buffer_samples_count].max()\      \ < 1024, \"lost sync?\"\n        return buffer_samples_count\n"    affinity: ''    alias: ''    baud_rate: '115200'    buffer_max_length: int(sample_rate_hz/4)    comment: ''    maxoutbuf: '0'    minoutbuf: '0'    port: '''/dev/ttyUSB0'''    timeout: '2'  states:    _io_cache: ('Arduino Analog Readings', 'ArduinoAnalogReadings', [('port', "'/dev/ttyUSB0'"),      ('baud_rate', '115200'), ('buffer_max_length', '10'), ('timeout', '2')], [],      [('0', 'short', 1)], '', [])    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [15, 276]    rotation: 0    state: true- name: qtgui_freq_sink_x_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: sample_rate_hz    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: '1024'    freqhalf: 'False'    grid: 'False'    gui_hint: ''    label: Relative Gain    label1: ''    label10: ''''''    label2: ''''''    label3: ''''''    label4: ''''''    label5: ''''''    label6: ''''''    label7: ''''''    label8: ''''''    label9: ''''''    legend: 'False'    maxoutbuf: '0'    minoutbuf: '0'    name: '""'    nconnections: '1'    showports: 'False'    tr_chan: '0'    tr_level: '0.0'    tr_mode: qtgui.TRIG_MODE_FREE    tr_tag: '""'    type: float    units: dB    update_time: '0.10'    width1: '2'    width10: '1'    width2: '1'    width3: '1'    width4: '1'    width5: '1'    width6: '1'    width7: '1'    width8: '1'    width9: '1'    wintype: firdes.WIN_BLACKMAN_hARRIS    ymax: '0'    ymin: '-100'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [897, 459]    rotation: 0    state: enabled- name: qtgui_number_sink_0  id: qtgui_number_sink  parameters:    affinity: ''    alias: ''    autoscale: 'False'    avg: '0'    color1: ("black", "black")    color10: ("black", "black")    color2: ("black", "black")    color3: ("black", "black")    color4: ("black", "black")    color5: ("black", "black")    color6: ("black", "black")    color7: ("black", "black")    color8: ("black", "black")    color9: ("black", "black")    comment: ''    factor1: '1'    factor10: '1'    factor2: '1'    factor3: '1'    factor4: '1'    factor5: '1'    factor6: '1'    factor7: '1'    factor8: '1'    factor9: '1'    graph_type: qtgui.NUM_GRAPH_HORIZ    gui_hint: ''    label1: Voltage    label10: ''    label2: ''    label3: ''    label4: ''    label5: ''    label6: ''    label7: ''    label8: ''    label9: ''    max: input_voltage_max    min: input_voltage_min    name: '""'    nconnections: '1'    type: float    unit1: V    unit10: ''    unit2: ''    unit3: ''    unit4: ''    unit5: ''    unit6: ''    unit7: ''    unit8: ''    unit9: ''    update_time: '0.10'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [1490, 428]    rotation: 0    state: enabled- name: qtgui_number_sink_0_0  id: qtgui_number_sink  parameters:    affinity: ''    alias: ''    autoscale: 'False'    avg: '0'    color1: ("black", "black")    color10: ("black", "black")    color2: ("black", "black")    color3: ("black", "black")    color4: ("black", "black")    color5: ("black", "black")    color6: ("black", "black")    color7: ("black", "black")    color8: ("black", "black")    color9: ("black", "black")    comment: ''    factor1: '1'    factor10: '1'    factor2: '1'    factor3: '1'    factor4: '1'    factor5: '1'    factor6: '1'    factor7: '1'    factor8: '1'    factor9: '1'    graph_type: qtgui.NUM_GRAPH_HORIZ    gui_hint: ''    label1: ''    label10: ''    label2: ''    label3: ''    label4: ''    label5: ''    label6: ''    label7: ''    label8: ''    label9: ''    max: '1024'    min: '0'    name: '"Arduino Reading"'    nconnections: '1'    type: short    unit1: ''    unit10: ''    unit2: ''    unit3: ''    unit4: ''    unit5: ''    unit6: ''    unit7: ''    unit8: ''    unit9: ''    update_time: '0.10'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [452, 499]    rotation: 0    state: disabled- name: qtgui_time_sink_x_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: 'False'    gui_hint: ''    label1: Signal 1    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: '""'    nconnections: '1'    size: int(sample_rate_hz*2)    srate: sample_rate_hz    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: '2'    width10: '1'    width2: '1'    width3: '1'    width4: '1'    width5: '1'    width6: '1'    width7: '1'    width8: '1'    width9: '1'    ylabel: Voltage    ymax: input_voltage_max    ymin: input_voltage_min    yunit: '"V"'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [1462, 292]    rotation: 0    state: enabled- 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: 'False'    gui_hint: ''    label1: Signal 1    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: '""'    nconnections: '1'    size: int(sample_rate_hz*2)    srate: sample_rate_hz    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: '2'    width10: '1'    width2: '1'    width3: '1'    width4: '1'    width5: '1'    width6: '1'    width7: '1'    width8: '1'    width9: '1'    ylabel: Arduino Input Voltage    ymax: reference_voltage    ymin: '0'    yunit: '"V"'  states:    bus_sink: false    bus_source: false    bus_structure: null    coordinate: [896, 636]    rotation: 0    state: disabledconnections:- [blocks_add_const_vxx_0, '0', qtgui_number_sink_0, '0']- [blocks_add_const_vxx_0, '0', qtgui_time_sink_x_0, '0']- [blocks_multiply_const_vxx_0, '0', blocks_add_const_vxx_0, '0']- [blocks_probe_rate_0, rate, blocks_message_debug_0, print]- [blocks_short_to_float_0, '0', blocks_multiply_const_vxx_0, '0']- [blocks_short_to_float_0, '0', qtgui_freq_sink_x_0, '0']- [blocks_short_to_float_0, '0', qtgui_time_sink_x_0_0, '0']- [epy_block_0, '0', blocks_probe_rate_0, '0']- [epy_block_0, '0', blocks_short_to_float_0, '0']- [epy_block_0, '0', qtgui_number_sink_0_0, '0']metadata:  file_format: 1
 |