id: analog_nbfm_rx
label: NBFM Receive
flags: [ python ]

parameters:
-   id: audio_rate
    label: Audio Rate
    dtype: int
-   id: quad_rate
    label: Quadrature Rate
    dtype: int
-   id: tau
    label: Tau
    dtype: real
    default: 75e-6
-   id: max_dev
    label: Max Deviation
    dtype: real
    default: 5e3

inputs:
-   domain: stream
    dtype: complex

outputs:
-   domain: stream
    dtype: float

asserts:
- ${ (quad_rate)%(audio_rate) == 0 }

templates:
    imports: from gnuradio import analog
    make: "analog.nbfm_rx(\n\taudio_rate=${audio_rate},\n\tquad_rate=${quad_rate},\n\
        \ttau=${tau},\n\tmax_dev=${max_dev},\n  )"
    callbacks:
    - set_max_deviation(${max_dev})

file_format: 1
