summaryrefslogtreecommitdiff
path: root/gr-blocks/grc/blocks_multiply_matrix_xx.xml
blob: bb1d77c0bae9d7142df2a03d861f4e6a8f277b35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?xml version="1.0"?>
<block>
  <name>Multiply by Matrix</name>
  <key>blocks_multiply_matrix_xx</key>
  <import>from gnuradio import blocks</import>
  <make>blocks.multiply_matrix_$(type.fcn)($A, $tag_propagation_policy)</make>
  <callback>set_A($A)</callback>
  <param>
	<name>IO Type</name>
	<key>type</key>
	<type>enum</type>
	<option>
		<name>Float</name>
		<key>float</key>
		<opt>fcn:ff</opt>
	</option>
	<option>
		<name>Complex</name>
		<key>complex</key>
		<opt>fcn:cc</opt>
	</option>
  </param>
  <param>
    <name>Matrix A</name>
    <key>A</key>
    <value>((1, 0), (0, 1))</value>
    <type>raw</type>
  </param>
  <param>
    <name>TPP</name>
    <key>tag_propagation_policy</key>
    <type>enum</type>
	<option>
		<name>All to All</name>
		<key>gr.TPP_ALL_TO_ALL</key>
	</option>
	<option>
		<name>One to One</name>
		<key>gr.TPP_ONE_TO_ONE</key>
	</option>
	<option>
		<name>No Propagation</name>
		<key>gr.TPP_DONT</key>
	</option>
	<option>
		<name>Matrix-Defined</name>
		<key>gr.TPP_CUSTOM</key>
	</option>
  </param>
  <check>len($A) > 0</check>
  <check>len(${A}[0]) > 0</check>
  <check>$tag_propagation_policy != gr.TPP_ONE_TO_ONE or (len($A) == len(${A}[0]))</check>
  <sink>
    <name>in</name>
    <type>$type</type>
    <nports>len(${A}[0])</nports>
  </sink>
  <sink>
    <name>set_A</name>
    <type>message</type>
    <optional>1</optional>
  </sink>
  <source>
    <name>out</name>
    <type>$type</type>
    <nports>len($A)</nports>
  </source>
</block>