options:
  parameters:
    author: Brown Space Engineering
    catch_exceptions: 'True'
    category: '[GRC Hier Blocks]'
    cmake_opt: ''
    comment: ''
    copyright: ''
    description: EQUiSat Decoder
    gen_cmake: 'On'
    gen_linking: dynamic
    generate_options: no_gui
    hier_block_src_path: '.:'
    id: equisat
    max_nouts: '0'
    output_language: python
    placement: (0,0)
    qt_qss_theme: ''
    realtime_scheduling: ''
    run: 'True'
    run_command: '{python} -u {filename}'
    run_options: run
    sizing_mode: fixed
    thread_safe_setters: ''
    title: EQUiSat Decoder
    window_size: ''
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [8, 12]
    rotation: 0
    state: enabled

blocks:
- name: decimation
  id: variable
  parameters:
    comment: ''
    value: '2'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1320, 268.0]
    rotation: 0
    state: enabled
- name: gain_mu
  id: variable
  parameters:
    comment: ''
    value: '0.300'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1368, 4.0]
    rotation: 0
    state: enabled
- name: samp_rate
  id: variable
  parameters:
    comment: ''
    value: '48000'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1328, 180.0]
    rotation: 0
    state: enabled
- name: symbol_depth
  id: variable
  parameters:
    comment: ''
    value: '40'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1312, 92.0]
    rotation: 0
    state: enabled
- name: variable_rrc_filter_taps_0
  id: variable_rrc_filter_taps
  parameters:
    alpha: '0.2'
    comment: ''
    gain: '1.0'
    ntaps: int(symbol_depth*(samp_rate/decimation/4800))
    samp_rate: samp_rate/decimation
    sym_rate: '4800'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1088, 136.0]
    rotation: 0
    state: enabled
- name: api_key
  id: parameter
  parameters:
    alias: ''
    comment: ''
    hide: none
    label: BSE data server API key
    short_id: ''
    type: str
    value: ''
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [808, 4.0]
    rotation: 0
    state: enabled
- name: blocks_multiply_const_vxx_0_0
  id: blocks_multiply_const_vxx
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    const: '10'
    maxoutbuf: '0'
    minoutbuf: '0'
    type: float
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [536, 164.0]
    rotation: 0
    state: enabled
- name: blocks_short_to_float_0
  id: blocks_short_to_float
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    maxoutbuf: '0'
    minoutbuf: '0'
    scale: '32767'
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [288, 172.0]
    rotation: 0
    state: enabled
- name: callsign
  id: parameter
  parameters:
    alias: ''
    comment: ''
    hide: none
    label: your callsign
    short_id: ''
    type: str
    value: ''
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1736, 148.0]
    rotation: 0
    state: enabled
- name: digital_clock_recovery_mm_xx_0
  id: digital_clock_recovery_mm_xx
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    gain_mu: gain_mu
    gain_omega: 0.25*gain_mu*gain_mu
    maxoutbuf: '0'
    minoutbuf: '0'
    mu: '0.5'
    omega: samp_rate/decimation/4800.0
    omega_relative_limit: '0.005'
    type: float
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [56, 372.0]
    rotation: 0
    state: enabled
- name: equisat_decoder_equisat_4fsk_block_decode_0
  id: equisat_decoder_equisat_4fsk_block_decode
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    maxoutbuf: '0'
    minoutbuf: '0'
    msg_size: '255'
    print_packets: 'False'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [536, 716.0]
    rotation: 0
    state: enabled
- name: equisat_decoder_equisat_4fsk_preamble_detect_0
  id: equisat_decoder_equisat_4fsk_preamble_detect
  parameters:
    affinity: ''
    alias: ''
    byte_buf_size: '255'
    comment: ''
    max_symbol_ratio: '0.33'
    maxoutbuf: '0'
    min_preamble_len: '96'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [64, 604.0]
    rotation: 0
    state: enabled
- name: equisat_decoder_equisat_fec_decoder_0
  id: equisat_decoder_equisat_fec_decoder
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    maxoutbuf: '0'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [712, 548.0]
    rotation: 0
    state: enabled
- name: equisat_decoder_equisat_submitter_0
  id: equisat_decoder_equisat_submitter
  parameters:
    affinity: ''
    alias: ''
    api_key: api_key
    api_route: http://api.brownspace.org/equisat/receive/raw
    comment: ''
    latitude: latitude
    longitude: longitude
    post_publicly: bool(post_publicly)
    rec_start: recstart
    source_app: gr-satellites
    station_name: station_name
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1544, 412.0]
    rotation: 0
    state: enabled
- name: equisat_decoder_equisat_telemetry_parser_0
  id: equisat_decoder_equisat_telemetry_parser
  parameters:
    affinity: ''
    alias: ''
    comment: ''
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1376, 708.0]
    rotation: 0
    state: enabled
- name: fir_filter_xxx_0
  id: fir_filter_xxx
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    decim: decimation
    maxoutbuf: '0'
    minoutbuf: '0'
    samp_delay: '0'
    taps: variable_rrc_filter_taps_0
    type: fff
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [768, 164.0]
    rotation: 0
    state: enabled
- name: ip
  id: parameter
  parameters:
    alias: ''
    comment: ''
    hide: none
    label: UDP listen IP
    short_id: ''
    type: str
    value: '::'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [256, 4.0]
    rotation: 0
    state: enabled
- name: latitude
  id: parameter
  parameters:
    alias: ''
    comment: ''
    hide: none
    label: your latitude (N is +, S is -, format 00.000)
    short_id: ''
    type: eng_float
    value: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1064, 4.0]
    rotation: 0
    state: enabled
- name: longitude
  id: parameter
  parameters:
    alias: ''
    comment: ''
    hide: none
    label: your longitude (W is -, E is +, format 00.000)
    short_id: ''
    type: eng_float
    value: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1496, 4.0]
    rotation: 0
    state: enabled
- name: network_udp_source_0
  id: network_udp_source
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    header: '0'
    ipv6: 'False'
    maxoutbuf: '0'
    minoutbuf: '0'
    notify_missed: 'False'
    payloadsize: '1472'
    port: port
    src_zeros: 'False'
    type: short
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [16, 188.0]
    rotation: 0
    state: true
- name: port
  id: parameter
  parameters:
    alias: ''
    comment: ''
    hide: none
    label: UDP port
    short_id: ''
    type: intx
    value: '7355'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [424, 4.0]
    rotation: 0
    state: enabled
- name: post_publicly
  id: parameter
  parameters:
    alias: ''
    comment: ''
    hide: none
    label: whether to post any receptions publicly on Twitter using @equisat_bot (set
      to any value to post)
    short_id: ''
    type: str
    value: ''
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1472, 140.0]
    rotation: 0
    state: enabled
- name: recstart
  id: parameter
  parameters:
    alias: ''
    comment: ''
    hide: none
    label: start of recording in UTC (format YYYY-MM-DD HH:MM:SS); default is realtime
    short_id: ''
    type: str
    value: ''
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1752, 12.0]
    rotation: 0
    state: enabled
- name: satellites_print_timestamp_0
  id: satellites_print_timestamp
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    count: 'True'
    fmt: '%Y-%m-%d %H:%M:%S'
    maxoutbuf: '0'
    minoutbuf: '0'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1168, 540.0]
    rotation: 0
    state: enabled
- name: satellites_submit_0
  id: satellites_submit
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    latitude: latitude
    longitude: longitude
    noradID: '43552'
    source: callsign
    tstamp: recstart
    url: https://db.satnogs.org/api/telemetry/
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [1704, 520.0]
    rotation: 0
    state: enabled
- name: station_name
  id: parameter
  parameters:
    alias: ''
    comment: ''
    hide: none
    label: station name or callsign
    short_id: ''
    type: str
    value: ''
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [568, 4.0]
    rotation: 0
    state: enabled

connections:
- [blocks_multiply_const_vxx_0_0, '0', fir_filter_xxx_0, '0']
- [blocks_short_to_float_0, '0', blocks_multiply_const_vxx_0_0, '0']
- [digital_clock_recovery_mm_xx_0, '0', equisat_decoder_equisat_4fsk_preamble_detect_0,
  '0']
- [equisat_decoder_equisat_4fsk_block_decode_0, out, equisat_decoder_equisat_fec_decoder_0,
  in]
- [equisat_decoder_equisat_4fsk_preamble_detect_0, out, equisat_decoder_equisat_4fsk_block_decode_0,
  in]
- [equisat_decoder_equisat_fec_decoder_0, out, satellites_print_timestamp_0, in]
- [fir_filter_xxx_0, '0', digital_clock_recovery_mm_xx_0, '0']
- [network_udp_source_0, '0', blocks_short_to_float_0, '0']
- [satellites_print_timestamp_0, out, equisat_decoder_equisat_submitter_0, in]
- [satellites_print_timestamp_0, out, equisat_decoder_equisat_telemetry_parser_0,
  in]
- [satellites_print_timestamp_0, out, satellites_submit_0, in]

metadata:
  file_format: 1
  grc_version: v3.11.0.0git-75-g67e88516
