summaryrefslogtreecommitdiff
path: root/grc/blocks
diff options
context:
space:
mode:
Diffstat (limited to 'grc/blocks')
-rw-r--r--grc/blocks/Makefile.am3
-rw-r--r--grc/blocks/block_tree.xml10
-rw-r--r--grc/blocks/gr_chunks_to_symbols.xml9
-rw-r--r--grc/blocks/gr_copy.xml75
-rw-r--r--grc/blocks/gr_delay.xml9
-rw-r--r--grc/blocks/gr_kludge_copy.xml11
-rw-r--r--grc/blocks/gr_nop.xml9
-rw-r--r--grc/blocks/gr_packed_to_unpacked_xx.xml11
-rw-r--r--grc/blocks/gr_pfb_clock_sync.xml75
-rw-r--r--grc/blocks/gr_stream_mux.xml75
-rw-r--r--grc/blocks/gr_unpacked_to_packed_xx.xml11
11 files changed, 292 insertions, 6 deletions
diff --git a/grc/blocks/Makefile.am b/grc/blocks/Makefile.am
index 617a3bf60..61c003803 100644
--- a/grc/blocks/Makefile.am
+++ b/grc/blocks/Makefile.am
@@ -84,6 +84,7 @@ dist_ourdata_DATA = \
gr_complex_to_real.xml \
gr_conjugate_cc.xml \
gr_constellation_decoder_cb.xml \
+ gr_copy.xml \
gr_correlate_access_code_bb.xml \
gr_costas_loop_cc.xml \
gr_cpfsk_bc.xml \
@@ -144,6 +145,7 @@ dist_ourdata_DATA = \
gr_packed_to_unpacked_xx.xml \
gr_peak_detector2_fb.xml \
gr_peak_detector_xb.xml \
+ gr_pfb_clock_sync.xml \
gr_phase_modulator_fc.xml \
gr_pll_carriertracking_cc.xml \
gr_pll_freqdet_cf.xml \
@@ -166,6 +168,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 \
diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml
index 296f0ee91..187ca196a 100644
--- a/grc/blocks/block_tree.xml
+++ b/grc/blocks/block_tree.xml
@@ -109,8 +109,10 @@
<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>
@@ -124,6 +126,7 @@
<cat>
<name>Synchronizers</name>
<block>gr_clock_recovery_mm_xx</block>
+ <block>gr_pfb_clock_sync_ccf</block>
<block>gr_costas_loop_cc</block>
<block>gr_dd_mpsk_sync_cc</block>
@@ -167,7 +170,7 @@
<block>band_pass_filter</block>
<block>band_reject_filter</block>
<block>root_raised_cosine_filter</block>
- <!-- Filters that take taps as aruments -->
+ <!-- Filters that take taps as arguments -->
<block>gr_fir_filter_xxx</block>
<block>gr_interp_fir_filter_xxx</block>
<block>gr_fft_filter_xxx</block>
@@ -178,7 +181,7 @@
<!-- Filter banks -->
<block>blks2_synthesis_filterbank</block>
<block>blks2_analysis_filterbank</block>
- <!-- Polyphase filers -->
+ <!-- Polyphase filters -->
<block>blks2_pfb_arb_resampler_ccf</block>
<!-- Other filters -->
<block>gr_single_pole_iir_filter_xx</block>
@@ -300,6 +303,7 @@
<block>gr_skiphead</block>
<block>gr_kludge_copy</block>
+ <block>gr_copy</block>
<block>gr_nop</block>
<block>xmlrpc_server</block>
diff --git a/grc/blocks/gr_chunks_to_symbols.xml b/grc/blocks/gr_chunks_to_symbols.xml
index b54e710ef..e9da38e9a 100644
--- a/grc/blocks/gr_chunks_to_symbols.xml
+++ b/grc/blocks/gr_chunks_to_symbols.xml
@@ -57,12 +57,21 @@
<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>
diff --git a/grc/blocks/gr_copy.xml b/grc/blocks/gr_copy.xml
new file mode 100644
index 000000000..8b12eaca7
--- /dev/null
+++ b/grc/blocks/gr_copy.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Copy
+###################################################
+ -->
+<block>
+ <name>Copy</name>
+ <key>gr_copy</key>
+ <import>from gnuradio import gr</import>
+ <make>gr.copy($type.size*$vlen)
+self.$(id).set_enabled($enabled)</make>
+ <callback>set_enabled($enabled)</callback>
+ <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>Enabled</name>
+ <key>enabled</key>
+ <value>True</value>
+ <type>bool</type>
+ <option>
+ <name>Enabled</name>
+ <key>True</key>
+ </option>
+ <option>
+ <name>Disabled</name>
+ <key>False</key>
+ </option>
+ </param>
+ <param>
+ <name>Vec Length</name>
+ <key>vlen</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+ <check>$vlen &gt; 0</check>
+ <sink>
+ <name>in</name>
+ <type>$type</type>
+ <vlen>$vlen</vlen>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>$type</type>
+ <vlen>$vlen</vlen>
+ </source>
+</block>
diff --git a/grc/blocks/gr_delay.xml b/grc/blocks/gr_delay.xml
index 64a774def..5cc411a78 100644
--- a/grc/blocks/gr_delay.xml
+++ b/grc/blocks/gr_delay.xml
@@ -47,20 +47,29 @@
<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>
diff --git a/grc/blocks/gr_kludge_copy.xml b/grc/blocks/gr_kludge_copy.xml
index 3c817c572..8058b082d 100644
--- a/grc/blocks/gr_kludge_copy.xml
+++ b/grc/blocks/gr_kludge_copy.xml
@@ -5,7 +5,7 @@
###################################################
-->
<block>
- <name>Copy</name>
+ <name>Kludge Copy</name>
<key>gr_kludge_copy</key>
<import>from gnuradio import gr</import>
<make>gr.kludge_copy($type.size*$vlen)</make>
@@ -40,20 +40,29 @@
</option>
</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>
diff --git a/grc/blocks/gr_nop.xml b/grc/blocks/gr_nop.xml
index 127a78a55..bd884d6b8 100644
--- a/grc/blocks/gr_nop.xml
+++ b/grc/blocks/gr_nop.xml
@@ -40,20 +40,29 @@
</option>
</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>
diff --git a/grc/blocks/gr_packed_to_unpacked_xx.xml b/grc/blocks/gr_packed_to_unpacked_xx.xml
index 5fd9729a4..c1477dd9c 100644
--- a/grc/blocks/gr_packed_to_unpacked_xx.xml
+++ b/grc/blocks/gr_packed_to_unpacked_xx.xml
@@ -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>
@@ -48,12 +48,21 @@
<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_pfb_clock_sync.xml b/grc/blocks/gr_pfb_clock_sync.xml
new file mode 100644
index 000000000..9cb909acd
--- /dev/null
+++ b/grc/blocks/gr_pfb_clock_sync.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+## Polyphase Filter based Clock Sync
+###################################################
+ -->
+<block>
+ <name>Polyphase Clock Sync</name>
+ <key>gr_pfb_clock_sync_ccf</key>
+ <import>from gnuradio import gr</import>
+ <make>gr.pfb_clock_sync_ccf($sps, $alpha, $taps, $filter_size, $init_phase, $max_dev)
+self.$(id).set_beta($beta)</make>
+ <callback>set_taps($taps)</callback>
+ <callback>set_alpha($alpha)</callback>
+ <callback>set_beta($beta)</callback>
+
+ <param>
+ <name>Samples/Symbol</name>
+ <key>sps</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Alpha</name>
+ <key>alpha</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Beta</name>
+ <key>beta</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Taps</name>
+ <key>taps</key>
+ <type>real_vector</type>
+ </param>
+ <param>
+ <name>Filter Size</name>
+ <key>filter_size</key>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Initial Phase</name>
+ <key>init_phase</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Maximum Rate Deviation</name>
+ <key>max_dev</key>
+ <type>real</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>complex</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>complex</type>
+ </source>
+ <source>
+ <name>err</name>
+ <type>float</type>
+ <optional>1</optional>
+ </source>
+ <source>
+ <name>rate</name>
+ <type>float</type>
+ <optional>1</optional>
+ </source>
+ <source>
+ <name>phase</name>
+ <type>float</type>
+ <optional>1</optional>
+ </source>
+</block>
diff --git a/grc/blocks/gr_stream_mux.xml b/grc/blocks/gr_stream_mux.xml
new file mode 100644
index 000000000..8efe7b655
--- /dev/null
+++ b/grc/blocks/gr_stream_mux.xml
@@ -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>
diff --git a/grc/blocks/gr_unpacked_to_packed_xx.xml b/grc/blocks/gr_unpacked_to_packed_xx.xml
index f7457eb5c..427c80082 100644
--- a/grc/blocks/gr_unpacked_to_packed_xx.xml
+++ b/grc/blocks/gr_unpacked_to_packed_xx.xml
@@ -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>
@@ -48,12 +48,21 @@
<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>