id: radio_astro_ra_integrate
label: ra_integrate
category: '[radio_astro]'

templates:
  imports: from gnuradio import radio_astro
  make: radio_astro.ra_integrate(${setup}, ${observers}, ${vlen}, ${frequency}, ${bandwidth}, ${azimuth}, ${elevation}, ${inttype}, ${obstype}, ${nmedian}, ${units}, ${thot}, ${tcold})
  callbacks:
    - set_setup(${setup})
    - set_observers(${observers})
    - set_frequency(${frequency})
    - set_bandwidth(${bandwidth})
    - set_azimuth(${azimuth})
    - set_elevation(${elevation})
    - set_inttype(${inttype})
    - set_obstype(${obstype})
    - set_nmedian(${nmedian})
    - set_tcold(${tcold})
    - set_thot(${thot})
    - set_units(${units})

#  Make one 'parameters' list entry for every parameter you want settable from the GUI.
#     Keys include:
#     * id (makes the value accessible as \$keyname, e.g. in the make entry)
#     * label (label shown in the GUI)
#     * dtype (e.g. int, float, complex, byte, short, xxx_vector, ...)
parameters:
- id: setup
  label: Setup File
  dtype: string
  default: 'Watch.not'
- id: observers
  label: Observers
  dtype: string
  default: "Science Aficionados"
- id: frequency
  label: Frequency (Hz)
  dtype: float
  default: '1420.4E6'
- id: bandwidth
  label: Bandwidth (Hz)
  dtype: float
  default: '3.0E6'
- id: azimuth
  label: Azimuth (d)
  dtype: float
  default: '180.0'
- id: elevation
  label: Elevation (d)
  dtype: float
  default: '90.0'
- id: inttype
  label: Inttype
  dtype: int
  default: '0'
- id: obstype
  label: Obstype
  dtype: int
  default: '1'
- id: nmedian
  label: N_Median
  dtype: int
  default: '1'
- id: units
  label: Units
  dtype: int
  default: '0'
- id: thot
  label: T_hot
  dtype: float
  default: '295.0'
- id: tcold
  label: T_cold
  dtype: float
  default: '10.0'
- id: vlen
  label: Vec Length
  dtype: int
  default: 'fftsize'


#  Make one 'inputs' list entry per input and one 'outputs' list entry per output.
#  Keys include:
#      * label (an identifier for the GUI)
#      * domain (optional - stream or message. Default is stream)
#      * dtype (e.g. int, float, complex, byte, short, xxx_vector, ...)
#      * vlen (optional - data stream vector length. Default is 1)
#      * optional (optional - set to 1 for optional inputs. Default is 0)
inputs:
- label: in
  domain: stream
  dtype: float
  vlen: ${vlen}

outputs:
- label: out
  domain: stream
  dtype: float
  vlen: ${vlen}
- label: ave
  domain: stream
  dtype: float
  vlen: ${vlen}
- label: hot
  domain: stream
  dtype: float
  vlen: ${vlen}
- label: cold
  domain: stream
  dtype: float
  vlen: ${vlen}
- label: ref
  domain: stream
  dtype: float
  vlen: ${vlen}
  
#  'file_format' specifies the version of the GRC yml format used in the file
#  and should usually not be changed.
file_format: 1
