options:
  parameters:
    author: Brown Space Engineering
    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: [840, 196]
    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: [936, 128]
    rotation: 0
    state: enabled
- name: samp_rate
  id: variable
  parameters:
    comment: ''
    value: '48000'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [844, 128]
    rotation: 0
    state: enabled
- name: symbol_depth
  id: variable
  parameters:
    comment: ''
    value: '40'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [936, 196]
    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: [656, 130]
    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: [576, 14]
    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: [336, 156]
    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: [192, 156]
    rotation: 0
    state: enabled
- name: blocks_udp_source_0
  id: blocks_udp_source
  parameters:
    affinity: ''
    alias: ''
    comment: ''
    eof: 'False'
    ipaddr: ip
    maxoutbuf: '0'
    minoutbuf: '0'
    port: port
    psize: '1472'
    type: short
    vlen: '1'
  states:
    bus_sink: false
    bus_source: false
    bus_structure: null
    coordinate: [16, 134]
    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: [1104, 204]
    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: [92, 312]
    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: [572, 332]
    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: [308, 326]
    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: [88, 576]
    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: [944, 380]
    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: [736, 704]
    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: [472, 148]
    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: [192, 14]
    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: [744, 14]
    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: [908, 14]
    rotation: 0
    state: enabled
- 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: [312, 14]
    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: [1076, 102]
    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: [1076, 14]
    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: [296, 564]
    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: [928, 564]
    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: [416, 14]
    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']
- [blocks_udp_source_0, '0', blocks_short_to_float_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']
- [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
