diff options
Diffstat (limited to 'gr-blocks/grc/blocks_multiply_matrix_xx.block.yml')
-rw-r--r-- | gr-blocks/grc/blocks_multiply_matrix_xx.block.yml | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gr-blocks/grc/blocks_multiply_matrix_xx.block.yml b/gr-blocks/grc/blocks_multiply_matrix_xx.block.yml new file mode 100644 index 0000000000..21a66b4f8e --- /dev/null +++ b/gr-blocks/grc/blocks_multiply_matrix_xx.block.yml @@ -0,0 +1,47 @@ +id: blocks_multiply_matrix_xx +label: Multiply by Matrix + +parameters: +- id: type + label: IO Type + dtype: enum + options: [float, complex] + option_attributes: + fcn: [ff, cc] + hide: part +- id: A + label: Matrix A + dtype: raw + default: ((1, 0), (0, 1)) + hide: part +- id: tag_propagation_policy + label: TPP + dtype: enum + options: [gr.TPP_ALL_TO_ALL, gr.TPP_ONE_TO_ONE, gr.TPP_DONT, gr.TPP_CUSTOM] + option_labels: [All to All, One to One, No Propagation, Matrix-Defined] + +inputs: +- domain: stream + dtype: ${ type } + multiplicity: ${ len(A[0]) } +- domain: message + id: set_A + optional: true + +outputs: +- domain: stream + dtype: ${ type } + multiplicity: ${ len(A) } + +asserts: +- ${ len(A) > 0 } +- ${ len(A[0]) > 0 } +- ${ tag_propagation_policy != gr.TPP_ONE_TO_ONE or (len(A) == len(A[0])) } + +templates: + imports: from gnuradio import blocks + make: blocks.multiply_matrix_${type.fcn}(${A}, ${tag_propagation_policy}) + callbacks: + - set_A(${A}) + +file_format: 1 |