id: satellites_kiss_transport
label: KISS Transport
category: '[Satellites]/Transports'

parameters:
-   id: use_control
    label: Expect control byte
    dtype: bool
    default: 'True'
    options: ['True', 'False']
-   id: options
    label: Command line options
    dtype: string
    default: '""'
    hide: part

inputs:
-   domain: message
    id: in

outputs:
-   domain: message
    id: out

templates:
    imports: import satellites.components.transports
    make: satellites.components.transports.kiss_transport(control_byte=${use_control}, options=${options})

documentation: |-
    Implements fragmentation/defragmentation using the KISS protocol

    Input:
        PDUs containing consecutive bytes of a KISS stream

    Output:
        PDUs with the packets contained inside the KISS stream

    Parameters:
        Expect control byte: specifies whether the KISS stream uses a control byte before the packet payload
        Command line options: options to pass down to the block, following the syntax of the gr_satellites command line tool

file_format: 1
