options:
  parameters:
    author: ''
    catch_exceptions: 'True'
    category: Custom
    cmake_opt: ''
    comment: ''
    copyright: ''
    description: ''
    gen_cmake: 'On'
    gen_linking: dynamic
    generate_options: no_gui
    hier_block_src_path: '.:'
    id: formatter_ofdm
    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: ''
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [8, 13]
    rotation: 0
    state: enabled

blocks:
- name: frame_key
  id: variable
  parameters:
    comment: ''
    value: '"frame_len"'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [584, 13]
    rotation: 0
    state: enabled
- name: hdr_format
  id: variable
  parameters:
    comment: ''
    value: digital.header_format_ofdm(occupied_carriers, 1, len_key, frame_key, num_key,
      header_mod.bits_per_symbol(), payload_mod.bits_per_symbol(), scramble)
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [192, 12.0]
    rotation: 0
    state: enabled
- name: hdr_format_bb
  id: variable
  parameters:
    comment: 'Need another for this path

      as the formatters keep state.'
    value: digital.header_format_ofdm(occupied_carriers, 1, len_key, frame_key, num_key,
      header_mod.bits_per_symbol(), payload_mod.bits_per_symbol(), scramble)
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [296, 477]
    rotation: 0
    state: enabled
- name: header_mod
  id: variable_constellation_rect
  parameters:
    comment: ''
    const_points: '[1, -1]'
    imag_sect: '2'
    precision: '8'
    real_sect: '2'
    rot_sym: '2'
    soft_dec_lut: None
    sym_map: '[0, 1]'
    w_imag_sect: '1'
    w_real_sect: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [944, 11]
    rotation: 0
    state: enabled
- name: len_key
  id: variable
  parameters:
    comment: ''
    value: '"packet_len"'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [352, 13]
    rotation: 0
    state: enabled
- name: num_key
  id: variable
  parameters:
    comment: ''
    value: '"packet_num"'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [464, 13]
    rotation: 0
    state: enabled
- name: occupied_carriers
  id: variable
  parameters:
    comment: ''
    value: (list(range(-26, -21)) + list(range(-20, -7)) + list(range(-6, 0)) + list(range(1,
      7)) + list(range(8, 21)) + list(range(22, 27)),)
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [784, 13]
    rotation: 0
    state: enabled
- name: payload_mod
  id: variable_constellation_rect
  parameters:
    comment: ''
    const_points: '[-1-1j, -1+1j, 1+1j, 1-1j]'
    imag_sect: '2'
    precision: '8'
    real_sect: '2'
    rot_sym: '4'
    soft_dec_lut: None
    sym_map: '[0, 1, 3, 2]'
    w_imag_sect: '1'
    w_real_sect: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1128, 11]
    rotation: 0
    state: enabled
- name: scramble
  id: variable
  parameters:
    comment: ''
    value: 'False'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [696, 13]
    rotation: 0
    state: enabled
- name: blocks_message_debug_0
  id: blocks_message_debug
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    en_uvec: 'True'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [952, 225]
    rotation: 0
    state: disabled
- name: blocks_message_debug_0_0
  id: blocks_message_debug
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    en_uvec: 'True'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [760, 105]
    rotation: 0
    state: enabled
- name: blocks_message_debug_0_0_0
  id: blocks_message_debug
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    en_uvec: 'True'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [992, 425]
    rotation: 0
    state: enabled
- name: blocks_message_strobe_0
  id: blocks_message_strobe
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    maxoutbuf: '0'
    minoutbuf: '0'
    msg: pmt.PMT_T
    period: '2000'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [24, 293]
    rotation: 0
    state: enabled
- name: blocks_repack_bits_bb_0
  id: blocks_repack_bits_bb
  parameters:
    affinity: ''
    alias: ''
    align_output: 'False'
    comment: ''
    endianness: gr.GR_LSB_FIRST
    k: '8'
    l: '1'
    len_tag_key: len_key
    maxoutbuf: '0'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [288, 125]
    rotation: 0
    state: enabled
- name: blocks_repack_bits_bb_0_0
  id: blocks_repack_bits_bb
  parameters:
    affinity: ''
    alias: ''
    align_output: 'False'
    comment: ''
    endianness: gr.GR_LSB_FIRST
    k: '8'
    l: '1'
    len_tag_key: len_key
    maxoutbuf: '0'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [544, 413]
    rotation: 0
    state: enabled
- name: blocks_tag_debug_0
  id: blocks_tag_debug
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    display: 'True'
    filter: '""'
    name: ''
    num_inputs: '1'
    type: byte
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [752, 502]
    rotation: 0
    state: disabled
- name: digital_crc32_async_bb_1
  id: digital_crc32_async_bb
  parameters:
    affinity: ''
    alias: ''
    check: 'False'
    comment: ''
    maxoutbuf: '0'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [424, 300]
    rotation: 0
    state: enabled
- name: digital_protocol_formatter_async_0
  id: digital_protocol_formatter_async
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    format: hdr_format
    maxoutbuf: '0'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [616, 289]
    rotation: 0
    state: enabled
- name: digital_protocol_formatter_bb_0
  id: digital_protocol_formatter_bb
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    format: hdr_format_bb
    len_tag_key: len_key
    maxoutbuf: '0'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [296, 413]
    rotation: 0
    state: enabled
- name: digital_protocol_parser_b_0
  id: digital_protocol_parser_b
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    format: hdr_format
    maxoutbuf: '0'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [496, 132]
    rotation: 0
    state: enabled
- name: digital_protocol_parser_b_0_0
  id: digital_protocol_parser_b
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    format: hdr_format_bb
    maxoutbuf: '0'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [752, 420]
    rotation: 0
    state: enabled
- name: pdu_pdu_to_tagged_stream_0
  id: pdu_pdu_to_tagged_stream
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    maxoutbuf: '0'
    minoutbuf: '0'
    tag: len_key
    type: byte
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [56, 132]
    rotation: 0
    state: enabled
- name: pdu_pdu_to_tagged_stream_0_0
  id: pdu_pdu_to_tagged_stream
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    maxoutbuf: '0'
    minoutbuf: '0'
    tag: len_key
    type: byte
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [64, 420]
    rotation: 0
    state: enabled
- name: pdu_random_pdu_0
  id: pdu_random_pdu
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    length_modulo: '1'
    mask: '0xff'
    maxoutbuf: '0'
    maxsize: '50'
    minoutbuf: '0'
    minsize: '50'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [200, 279]
    rotation: 0
    state: enabled

connections:
- [blocks_message_strobe_0, strobe, pdu_random_pdu_0, generate]
- [blocks_repack_bits_bb_0, '0', digital_protocol_parser_b_0, '0']
- [blocks_repack_bits_bb_0_0, '0', blocks_tag_debug_0, '0']
- [blocks_repack_bits_bb_0_0, '0', digital_protocol_parser_b_0_0, '0']
- [digital_crc32_async_bb_1, out, digital_protocol_formatter_async_0, in]
- [digital_crc32_async_bb_1, out, pdu_pdu_to_tagged_stream_0_0, pdus]
- [digital_protocol_formatter_async_0, header, blocks_message_debug_0, print_pdu]
- [digital_protocol_formatter_async_0, header, pdu_pdu_to_tagged_stream_0, pdus]
- [digital_protocol_formatter_bb_0, '0', blocks_repack_bits_bb_0_0, '0']
- [digital_protocol_parser_b_0, info, blocks_message_debug_0_0, print]
- [digital_protocol_parser_b_0_0, info, blocks_message_debug_0_0_0, print]
- [pdu_pdu_to_tagged_stream_0, '0', blocks_repack_bits_bb_0, '0']
- [pdu_pdu_to_tagged_stream_0_0, '0', digital_protocol_formatter_bb_0, '0']
- [pdu_random_pdu_0, pdus, digital_crc32_async_bb_1, in]

metadata:
  file_format: 1
