id: dtv_dvbt_convolutional_deinterleaver
label: Convolutional Deinterleaver
flags: [ python, cpp ]

parameters:
-   id: blocks
    label: Blocks (12 Bytes)
    dtype: int
    default: '136'
-   id: I
    label: Number of Shift registers
    dtype: int
    default: '12'
-   id: M
    label: Depth of shift registers
    dtype: int
    default: '17'

inputs:
-   domain: stream
    dtype: byte
    vlen: 1

outputs:
-   domain: stream
    dtype: byte
    vlen: ${ blocks*I }

asserts:
- ${ blocks > 0 }
- ${ I > 0 }
- ${ M > 0 }

templates:
    imports: from gnuradio import dtv
    make: dtv.dvbt_convolutional_deinterleaver(${blocks}, ${I}, ${M})

cpp_templates:
    includes: ['#include <gnuradio/dtv/dvbt_convolutional_deinterleaver.h>']
    declarations: 'dtv::dvbt_convolutional_deinterleaver::sptr ${id};'
    make: |-
        this->${id} = dtv::dvbt_convolutional_deinterleaver::make(${blocks}, ${I}, ${M});
    link: ['gnuradio::gnuradio-dtv']

file_format: 1
