Added num_ports to various blocks that have infinite ports possible in io signature.
authorJosh Blum <josh@joshknows.com>
Mon, 12 Oct 2009 05:18:42 +0000 (22:18 -0700)
committerJosh Blum <josh@joshknows.com>
Mon, 12 Oct 2009 05:18:42 +0000 (22:18 -0700)
Also, added the gr stream mux block.

grc/blocks/Makefile.am
grc/blocks/block_tree.xml
grc/blocks/gr_chunks_to_symbols.xml
grc/blocks/gr_delay.xml
grc/blocks/gr_packed_to_unpacked_xx.xml
grc/blocks/gr_stream_mux.xml [new file with mode: 0644]
grc/blocks/gr_unpacked_to_packed_xx.xml

index df3479761a32d137d7e0267b5b42bc769ad1cb1b..7d0876b2f24e90b5443fdce1b7b6d7b1b7bf26ef 100644 (file)
@@ -167,6 +167,7 @@ dist_ourdata_DATA = \
        gr_simple_squelch_cc.xml \
        gr_single_pole_iir_filter_xx.xml \
        gr_skiphead.xml \
+       gr_stream_mux.xml \
        gr_stream_to_streams.xml \
        gr_stream_to_vector.xml \
        gr_streams_to_stream.xml \
index 6fec0be675871d9cbe4cc263100b289ee5107fca..444d922edacf78be0aa394cd515e20e858bb3bbb 100644 (file)
 
                <block>gr_stream_to_vector</block>
                <block>gr_vector_to_stream</block>
-               
+
                <block>blks2_stream_to_vector_decimator</block>
+
+               <block>gr_stream_mux</block>
        </cat>
        <cat>
                <name>Misc Conversions</name>
index b54e710ef96bb974bda3d18f82b3f514f6aa675b..e9da38e9a5604a5f402e7c6dc3d15a19481bdcda 100644 (file)
                <value>2</value>
                <type>int</type>
        </param>
+       <param>
+               <name>Num Ports</name>
+               <key>num_ports</key>
+               <value>1</value>
+               <type>int</type>
+       </param>
+       <check>$num_ports &gt; 0</check>
        <sink>
                <name>in</name>
                <type>$in_type</type>
+               <nports>$num_ports</nports>
        </sink>
        <source>
                <name>out</name>
                <type>$out_type</type>
+               <nports>$num_ports</nports>
        </source>
 </block>
index 64a774defa36612720b39a17721f684b1888953b..5cc411a7820b17811481a741f2027ebf631d2ef6 100644 (file)
                <value>0</value>
                <type>int</type>
        </param>
+       <param>
+               <name>Num Ports</name>
+               <key>num_ports</key>
+               <value>1</value>
+               <type>int</type>
+       </param>
        <param>
                <name>Vec Length</name>
                <key>vlen</key>
                <value>1</value>
                <type>int</type>
        </param>
+       <check>$num_ports &gt; 0</check>
        <check>$vlen &gt; 0</check>
        <sink>
                <name>in</name>
                <type>$type</type>
                <vlen>$vlen</vlen>
+               <nports>$num_ports</nports>
        </sink>
        <source>
                <name>out</name>
                <type>$type</type>
                <vlen>$vlen</vlen>
+               <nports>$num_ports</nports>
        </source>
 </block>
index 5fd9729a4097f8a66a87181ae6ea1ba54eb4c32a..c1477dd9ca882c879fcf0052d2ea0bc88bb808c8 100644 (file)
@@ -38,7 +38,7 @@
        <param>
                <name>Endianness</name>
                <key>endianness</key>
-               <type>enum</type>
+               <type>int</type>
                <option>
                        <name>MSB</name>
                        <key>gr.GR_MSB_FIRST</key>
                        <key>gr.GR_LSB_FIRST</key>
                </option>
        </param>
+       <param>
+               <name>Num Ports</name>
+               <key>num_ports</key>
+               <value>1</value>
+               <type>int</type>
+       </param>
+       <check>$num_ports &gt; 0</check>
        <sink>
                <name>in</name>
                <type>$type</type>
+               <nports>$num_ports</nports>
        </sink>
        <source>
                <name>out</name>
                <type>$type</type>
+               <nports>$num_ports</nports>
        </source>
 </block>
diff --git a/grc/blocks/gr_stream_mux.xml b/grc/blocks/gr_stream_mux.xml
new file mode 100644 (file)
index 0000000..8efe7b6
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Stream Mux:
+##     all types, many inputs, only one output
+###################################################
+ -->
+<block>
+       <name>Stream Mux</name>
+       <key>gr_stream_mux</key>
+       <import>from gnuradio import gr</import>
+       <make>gr.stream_mux($type.size*$vlen, $lengths)</make>
+       <param>
+               <name>Type</name>
+               <key>type</key>
+               <type>enum</type>
+               <option>
+                       <name>Complex</name>
+                       <key>complex</key>
+                       <opt>size:gr.sizeof_gr_complex</opt>
+               </option>
+               <option>
+                       <name>Float</name>
+                       <key>float</key>
+                       <opt>size:gr.sizeof_float</opt>
+               </option>
+               <option>
+                       <name>Int</name>
+                       <key>int</key>
+                       <opt>size:gr.sizeof_int</opt>
+               </option>
+               <option>
+                       <name>Short</name>
+                       <key>short</key>
+                       <opt>size:gr.sizeof_short</opt>
+               </option>
+               <option>
+                       <name>Byte</name>
+                       <key>byte</key>
+                       <opt>size:gr.sizeof_char</opt>
+               </option>
+       </param>
+       <param>
+               <name>Lengths</name>
+               <key>lengths</key>
+               <value>1, 1</value>
+               <type>int_vector</type>
+       </param>
+       <param>
+               <name>Num Inputs</name>
+               <key>num_inputs</key>
+               <value>2</value>
+               <type>int</type>
+       </param>
+       <param>
+               <name>Vec Length</name>
+               <key>vlen</key>
+               <value>1</value>
+               <type>int</type>
+       </param>
+       <check>$num_inputs &gt; 0</check>
+       <check>$num_inputs == len($lengths)</check>
+       <check>$vlen &gt; 0</check>
+       <sink>
+               <name>in</name>
+               <type>$type</type>
+               <vlen>$vlen</vlen>
+               <nports>$num_inputs</nports>
+       </sink>
+       <source>
+               <name>out</name>
+               <type>$type</type>
+               <vlen>$vlen</vlen>
+       </source>
+</block>
index f7457eb5c1a2376b8cd6cd0e4c12a2b205df4305..427c800824ef331aaee7a78f2edf739e327c8288 100644 (file)
@@ -38,7 +38,7 @@
        <param>
                <name>Endianness</name>
                <key>endianness</key>
-               <type>enum</type>
+               <type>int</type>
                <option>
                        <name>MSB</name>
                        <key>gr.GR_MSB_FIRST</key>
                        <key>gr.GR_LSB_FIRST</key>
                </option>
        </param>
+       <param>
+               <name>Num Ports</name>
+               <key>num_ports</key>
+               <value>1</value>
+               <type>int</type>
+       </param>
+       <check>$num_ports &gt; 0</check>
        <sink>
                <name>in</name>
                <type>$type</type>
+               <nports>$num_ports</nports>
        </sink>
        <source>
                <name>out</name>
                <type>$type</type>
+               <nports>$num_ports</nports>
        </source>
 </block>