summaryrefslogtreecommitdiff
path: root/gr-fec
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2014-05-13 14:33:18 -0400
committerTom Rondeau <tom@trondeau.com>2014-05-17 17:45:15 -0400
commitcf84d24e7792aefe8ae7b24536bde23d2ae00770 (patch)
tree0f9d168584df51354ceed8501798d922aeb2c0ee /gr-fec
parent683d10a5d15652fead69ff76213ae94c4bbb2ec2 (diff)
fec: wip: mods for ber plotting. Now adding theoretical BPSK in AWGN curve.
Diffstat (limited to 'gr-fec')
-rw-r--r--gr-fec/doc/fec.dox57
-rw-r--r--gr-fec/examples/ber_curve_gen.grc1367
-rw-r--r--gr-fec/examples/fecapi_decoders.grc1198
-rw-r--r--gr-fec/examples/fecapi_tagged_decoders.grc837
-rw-r--r--gr-fec/examples/fecapi_tagged_encoders.grc888
-rw-r--r--gr-fec/grc/fec_bercurve_generator.xml46
-rw-r--r--gr-fec/grc/fec_block_tree.xml1
-rw-r--r--gr-fec/grc/variable_cc_decoder_def_list.xml2
-rw-r--r--gr-fec/grc/variable_cc_encoder_def_list.xml15
-rw-r--r--gr-fec/grc/variable_ccsds_decoder_def_list.xml93
-rw-r--r--gr-fec/grc/variable_ccsds_encoder_def_list.xml15
-rw-r--r--gr-fec/grc/variable_dummy_decoder_def_list.xml2
-rw-r--r--gr-fec/grc/variable_dummy_encoder_def_list.xml2
-rw-r--r--gr-fec/grc/variable_repetition_decoder_def_list.xml2
-rw-r--r--gr-fec/grc/variable_repetition_encoder_def_list.xml2
-rw-r--r--gr-fec/include/gnuradio/fec/CMakeLists.txt1
-rw-r--r--gr-fec/include/gnuradio/fec/cc_decoder.h19
-rw-r--r--gr-fec/include/gnuradio/fec/ccsds_decoder.h99
-rw-r--r--gr-fec/lib/CMakeLists.txt1
-rw-r--r--gr-fec/lib/ccsds_decoder_impl.cc192
-rw-r--r--gr-fec/lib/ccsds_decoder_impl.h83
-rw-r--r--gr-fec/lib/decoder_impl.cc8
-rw-r--r--gr-fec/lib/decoder_impl.h1
-rw-r--r--gr-fec/python/fec/bercurve_generator.py5
-rw-r--r--gr-fec/python/fec/extended_decoder.py8
-rw-r--r--gr-fec/python/fec/extended_encoder.py8
-rw-r--r--gr-fec/python/fec/fec_test.py17
-rw-r--r--gr-fec/swig/fec_swig.i2
28 files changed, 1847 insertions, 3124 deletions
diff --git a/gr-fec/doc/fec.dox b/gr-fec/doc/fec.dox
index c8114eeedb..3f8850e589 100644
--- a/gr-fec/doc/fec.dox
+++ b/gr-fec/doc/fec.dox
@@ -21,4 +21,61 @@ by using:
help(fec)
\endcode
+
+\section fec_coding_vars Encoding/Decoding Variables
+
+\subsection fec_parallelism Parallelism
+
+The code variables in GNU Radio Companion have the ability to create
+multiple encoder/decoder variables by selecting the level of
+parallelism. It is up the encoder to understand how to handle the
+parallelism. The following discussion explains the difference between
+the two levels and how and when to use. Generally, normal applications
+will just use a single level of parallelism.
+
+The GRC variable declarations for the different coders has a setting
+for <i>Parallelism</i>, which can be either 1 or 2. If set to 1, then
+the resulting variable is a list of coder blocks with the same
+settings. If set to 2, then the resulting variable is a list of lists
+of coder blocks. The code that accepts these variables must understand
+how to handle the parallelism. Most applications would set this to 1.
+
+The standard fec.extended_encoder ("FEC Extended Encoder" in GRC) and
+fec.exended_decoder ("FEC Extended Decoder" in GRC) can handle a
+Parallelism of 1. They accept a list of coder variables as defined by
+Dimension 1 and can multithread the application based on the
+"Threading Type" setting:
+
+\li <b>None</b>: does no parallel threading of the coders. Even if
+Dimension 1 is > 1, the encoder/decoder will ignore this setting and
+only use the first object in the list.
+
+\li <b>Ordinary</b>: all "Dimension 1" number (N) of encoder/decoder
+blocks will be used in parallel. The hier_block2 will block
+deinterleave the packets into N streams (using
+gr::blocks::deinterleave with a value of blocksize as the frame length
+and no relative rate changes) and pass these to each of the N coders
+to process the frames in parallel. The output of each coder is then
+interleaved back together to make a single output stream.
+
+\li <b>Capillary</b>: all "Dimension 1" number (N) of encoder/decoder
+blocks will be used in parallel, much like in the <b>Ordinary</b>
+mode. In this mode, however, the frames get split up in a tree-like
+fashion, where each branch launches 2 more branches. This means that N
+must be a factor of 2 for this mode to work. It tends to handle the
+load of the encoders/decoders better than the <b>Ordinary</b> mode.
+
+Note that the threading modes only work when using constant-length
+frames. If using the coders in tagged stream mode where the frame
+lengths may change, the <b>Ordinary</b> and <b>Capillary</b> modes are
+not available.
+
+The GRC example "ber_curve_gen.grc" uses a Parallelism of 2. This
+creates a list of lists of coders. The first dimension of the list
+corresponds to the number of Es/N0 values being used in the BER
+simulation. This allows the application to process all values of Es/N0
+simultaneously. Dimension 2 in this case allows the same concept of
+parallelism discussed above with the <b>None</b>, <b>Ordinary</b>, and
+<b>Capillary</b> models of threading.
+
*/
diff --git a/gr-fec/examples/ber_curve_gen.grc b/gr-fec/examples/ber_curve_gen.grc
index f4844fd139..dfc57b3bf4 100644
--- a/gr-fec/examples/ber_curve_gen.grc
+++ b/gr-fec/examples/ber_curve_gen.grc
@@ -1,6 +1,96 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Mon May 12 21:57:30 2014</timestamp>
+ <timestamp>Tue May 13 14:23:51 2014</timestamp>
+ <block>
+ <key>options</key>
+ <param>
+ <key>id</key>
+ <value>ber_curve_gen</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>title</key>
+ <value></value>
+ </param>
+ <param>
+ <key>author</key>
+ <value></value>
+ </param>
+ <param>
+ <key>description</key>
+ <value></value>
+ </param>
+ <param>
+ <key>window_size</key>
+ <value>2000,2000</value>
+ </param>
+ <param>
+ <key>generate_options</key>
+ <value>qt_gui</value>
+ </param>
+ <param>
+ <key>category</key>
+ <value>Custom</value>
+ </param>
+ <param>
+ <key>run_options</key>
+ <value>prompt</value>
+ </param>
+ <param>
+ <key>run</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>max_nouts</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>realtime_scheduling</key>
+ <value></value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(10, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable</key>
+ <param>
+ <key>id</key>
+ <value>esno_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>numpy.arange(0, 8, .5) </value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(13, 193)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
<block>
<key>variable</key>
<param>
@@ -113,15 +203,15 @@
<key>variable</key>
<param>
<key>id</key>
- <value>esno_0</value>
+ <value>samp_rate_0</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
<key>value</key>
- <value>numpy.arange(0, 8, .5) </value>
+ <value>35000000</value>
</param>
<param>
<key>alias</key>
@@ -129,7 +219,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(13, 192)</value>
+ <value>(12, 99)</value>
</param>
<param>
<key>_rotation</key>
@@ -137,10 +227,10 @@
</param>
</block>
<block>
- <key>variable</key>
+ <key>variable_dummy_decoder_def</key>
<param>
<key>id</key>
- <value>samp_rate_0</value>
+ <value>dec_dummy</value>
</param>
<param>
<key>_enabled</key>
@@ -148,7 +238,23 @@
</param>
<param>
<key>value</key>
- <value>35000000</value>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>framebits</value>
</param>
<param>
<key>alias</key>
@@ -156,7 +262,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(12, 99)</value>
+ <value>(594, 604)</value>
</param>
<param>
<key>_rotation</key>
@@ -164,10 +270,10 @@
</param>
</block>
<block>
- <key>variable</key>
+ <key>variable_dummy_encoder_def</key>
<param>
<key>id</key>
- <value>esno_0</value>
+ <value>enc_dummy</value>
</param>
<param>
<key>_enabled</key>
@@ -175,7 +281,23 @@
</param>
<param>
<key>value</key>
- <value>numpy.arange(0, 14, 0.5) </value>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>framebits</value>
</param>
<param>
<key>alias</key>
@@ -183,7 +305,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(14, 283)</value>
+ <value>(592, 455)</value>
</param>
<param>
<key>_rotation</key>
@@ -191,235 +313,296 @@
</param>
</block>
<block>
- <key>fec_bercurve_generator</key>
+ <key>variable_repetition_encoder_def</key>
<param>
<key>id</key>
- <value>fec_bercurve_generator_0_0</value>
+ <value>enc_rep</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>esno</key>
- <value>esno_0</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>samp_rate</key>
- <value>samp_rate_0</value>
+ <key>ndim</key>
+ <value>2</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_rep</value>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
</param>
<param>
- <key>decoder_list</key>
- <value>dec_rep</value>
+ <key>dim2</key>
+ <value>1</value>
</param>
<param>
- <key>puncpat</key>
- <value>'11'</value>
+ <key>framebits</key>
+ <value>framebits</value>
+ </param>
+ <param>
+ <key>rep</key>
+ <value>3</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>_coordinate</key>
+ <value>(301, 455)</value>
</param>
<param>
- <key>minoutbuf</key>
+ <key>_rotation</key>
<value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable_cc_encoder_def</key>
<param>
- <key>maxoutbuf</key>
+ <key>id</key>
+ <value>enc_cc</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>framebits</value>
+ </param>
+ <param>
+ <key>k</key>
+ <value>k</value>
+ </param>
+ <param>
+ <key>rate</key>
+ <value>rate</value>
+ </param>
+ <param>
+ <key>polys</key>
+ <value>polys</value>
+ </param>
+ <param>
+ <key>state_start</key>
<value>0</value>
</param>
<param>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(481, 132)</value>
+ <value>(13, 451)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
- <bus_source>1</bus_source>
</block>
<block>
- <key>fec_bercurve_generator</key>
+ <key>variable_cc_decoder_def</key>
<param>
<key>id</key>
- <value>fec_bercurve_generator_0_0_0</value>
+ <value>dec_cc</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>esno</key>
- <value>esno_0</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>samp_rate</key>
- <value>samp_rate_0</value>
+ <key>ndim</key>
+ <value>2</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_dummy</value>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
</param>
<param>
- <key>decoder_list</key>
- <value>dec_dummy</value>
+ <key>dim2</key>
+ <value>1</value>
</param>
<param>
- <key>puncpat</key>
- <value>'11'</value>
+ <key>framebits</key>
+ <value>framebits</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>k</key>
+ <value>k</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>rate</key>
+ <value>rate</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>polys</key>
+ <value>polys</value>
</param>
<param>
- <key>maxoutbuf</key>
+ <key>state_start</key>
<value>0</value>
</param>
<param>
+ <key>state_end</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(481, 9)</value>
+ <value>(15, 705)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
- <bus_source>1</bus_source>
</block>
<block>
- <key>fec_bercurve_generator</key>
+ <key>variable_repetition_decoder_def</key>
<param>
<key>id</key>
- <value>fec_bercurve_generator_0</value>
+ <value>dec_rep</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>esno</key>
- <value>esno_0</value>
- </param>
- <param>
- <key>samp_rate</key>
- <value>samp_rate_0</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_cc</value>
+ <key>ndim</key>
+ <value>2</value>
</param>
<param>
- <key>decoder_list</key>
- <value>dec_cc</value>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
</param>
<param>
- <key>puncpat</key>
- <value>'11'</value>
+ <key>dim2</key>
+ <value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>framebits</key>
+ <value>framebits</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>rep</key>
+ <value>3</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>prob</key>
+ <value>0.5</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(481, 260)</value>
+ <value>(301, 626)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
- <bus_source>1</bus_source>
</block>
<block>
- <key>options</key>
+ <key>fec_bercurve_generator</key>
<param>
<key>id</key>
- <value>ber_curve_gen</value>
+ <value>fec_bercurve_generator_0_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>title</key>
- <value></value>
+ <key>esno</key>
+ <value>esno_0</value>
</param>
<param>
- <key>author</key>
- <value></value>
+ <key>samp_rate</key>
+ <value>samp_rate_0</value>
</param>
<param>
- <key>description</key>
- <value></value>
+ <key>encoder_list</key>
+ <value>enc_dummy</value>
</param>
<param>
- <key>window_size</key>
- <value>2000,2000</value>
+ <key>decoder_list</key>
+ <value>dec_dummy</value>
</param>
<param>
- <key>generate_options</key>
- <value>qt_gui</value>
+ <key>puncpat</key>
+ <value>'11'</value>
</param>
<param>
- <key>category</key>
- <value>Custom</value>
+ <key>threadtype</key>
+ <value>"capillary"</value>
</param>
<param>
- <key>run_options</key>
- <value>prompt</value>
+ <key>seed</key>
+ <value>-100</value>
</param>
<param>
- <key>run</key>
- <value>True</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>max_nouts</key>
- <value>0</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>realtime_scheduling</key>
- <value></value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
<key>_coordinate</key>
- <value>(10, 10)</value>
+ <value>(481, 9)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
+ <bus_source>1</bus_source>
</block>
<block>
<key>qtgui_bercurve_sink</key>
@@ -437,7 +620,7 @@
</param>
<param>
<key>berminerrors</key>
- <value>10000000</value>
+ <value>1000</value>
</param>
<param>
<key>berlimit</key>
@@ -717,7 +900,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(934, 58)</value>
+ <value>(925, 56)</value>
</param>
<param>
<key>_rotation</key>
@@ -726,662 +909,134 @@
<bus_sink>1</bus_sink>
</block>
<block>
- <key>variable_dummy_decoder_def</key>
- <param>
- <key>id</key>
- <value>dec_dummy</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>2</value>
- </param>
- <param>
- <key>dim1</key>
- <value>len(esno_0)</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>framebits</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(594, 604)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable_dummy_encoder_def</key>
+ <key>fec_bercurve_generator</key>
<param>
<key>id</key>
- <value>enc_dummy</value>
+ <value>fec_bercurve_generator_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>2</value>
- </param>
- <param>
- <key>dim1</key>
- <value>len(esno_0)</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>framebits</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(592, 455)</value>
+ <key>esno</key>
+ <value>esno_0</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>samp_rate</key>
+ <value>samp_rate_0</value>
</param>
- </block>
- <block>
- <key>variable_repetition_encoder_def</key>
<param>
- <key>id</key>
+ <key>encoder_list</key>
<value>enc_rep</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>2</value>
- </param>
- <param>
- <key>dim1</key>
- <value>len(esno_0)</value>
+ <key>decoder_list</key>
+ <value>dec_rep</value>
</param>
<param>
- <key>dim2</key>
- <value>1</value>
+ <key>puncpat</key>
+ <value>'11'</value>
</param>
<param>
- <key>framebits</key>
- <value>framebits</value>
+ <key>threadtype</key>
+ <value>"capillary"</value>
</param>
<param>
- <key>rep</key>
- <value>3</value>
+ <key>seed</key>
+ <value>-100</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(301, 455)</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>_rotation</key>
+ <key>minoutbuf</key>
<value>0</value>
</param>
- </block>
- <block>
- <key>variable_cc_encoder_def</key>
- <param>
- <key>id</key>
- <value>enc_cc</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>2</value>
- </param>
- <param>
- <key>dim1</key>
- <value>len(esno_0)</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>framebits</value>
- </param>
- <param>
- <key>k</key>
- <value>k</value>
- </param>
- <param>
- <key>rate</key>
- <value>rate</value>
- </param>
- <param>
- <key>polys</key>
- <value>polys</value>
- </param>
<param>
- <key>state_start</key>
+ <key>maxoutbuf</key>
<value>0</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
<key>_coordinate</key>
- <value>(13, 451)</value>
+ <value>(481, 132)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
+ <bus_source>1</bus_source>
</block>
<block>
- <key>variable_cc_decoder_def</key>
+ <key>fec_bercurve_generator</key>
<param>
<key>id</key>
- <value>dec_cc</value>
+ <value>fec_bercurve_generator_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>2</value>
- </param>
- <param>
- <key>dim1</key>
- <value>len(esno_0)</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>framebits</value>
+ <key>esno</key>
+ <value>esno_0</value>
</param>
<param>
- <key>k</key>
- <value>k</value>
+ <key>samp_rate</key>
+ <value>samp_rate_0</value>
</param>
<param>
- <key>rate</key>
- <value>rate</value>
+ <key>encoder_list</key>
+ <value>enc_cc</value>
</param>
<param>
- <key>polys</key>
- <value>polys</value>
+ <key>decoder_list</key>
+ <value>dec_cc</value>
</param>
<param>
- <key>state_start</key>
- <value>0</value>
+ <key>puncpat</key>
+ <value>'11'</value>
</param>
<param>
- <key>state_end</key>
- <value>-1</value>
+ <key>threadtype</key>
+ <value>"capillary"</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <key>seed</key>
+ <value>-100</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(15, 705)</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>_rotation</key>
+ <key>minoutbuf</key>
<value>0</value>
</param>
- </block>
- <block>
- <key>variable_repetition_decoder_def</key>
- <param>
- <key>id</key>
- <value>dec_rep</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>2</value>
- </param>
- <param>
- <key>dim1</key>
- <value>len(esno_0)</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>framebits</value>
- </param>
- <param>
- <key>rep</key>
- <value>3</value>
- </param>
<param>
- <key>prob</key>
- <value>0.5</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
<key>_coordinate</key>
- <value>(301, 626)</value>
+ <value>(481, 260)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
+ <bus_source>1</bus_source>
</block>
<connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>56</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>1</source_key>
- <sink_key>57</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>2</source_key>
- <sink_key>58</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>3</source_key>
- <sink_key>59</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>4</source_key>
- <sink_key>60</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>5</source_key>
- <sink_key>61</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>6</source_key>
- <sink_key>62</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>7</source_key>
- <sink_key>63</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>8</source_key>
- <sink_key>64</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>9</source_key>
- <sink_key>65</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>10</source_key>
- <sink_key>66</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>11</source_key>
- <sink_key>67</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>12</source_key>
- <sink_key>68</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>13</source_key>
- <sink_key>69</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>14</source_key>
- <sink_key>70</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>15</source_key>
- <sink_key>71</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>16</source_key>
- <sink_key>72</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>17</source_key>
- <sink_key>73</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>18</source_key>
- <sink_key>74</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>19</source_key>
- <sink_key>75</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>20</source_key>
- <sink_key>76</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>21</source_key>
- <sink_key>77</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>22</source_key>
- <sink_key>78</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>23</source_key>
- <sink_key>79</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>24</source_key>
- <sink_key>80</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>25</source_key>
- <sink_key>81</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>26</source_key>
- <sink_key>82</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>27</source_key>
- <sink_key>83</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>28</source_key>
- <sink_key>84</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>29</source_key>
- <sink_key>85</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>30</source_key>
- <sink_key>86</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>31</source_key>
- <sink_key>87</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>32</source_key>
- <sink_key>88</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>33</source_key>
- <sink_key>89</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>34</source_key>
- <sink_key>90</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>35</source_key>
- <sink_key>91</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>36</source_key>
- <sink_key>92</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>37</source_key>
- <sink_key>93</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>38</source_key>
- <sink_key>94</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>39</source_key>
- <sink_key>95</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>40</source_key>
- <sink_key>96</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>41</source_key>
- <sink_key>97</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>42</source_key>
- <sink_key>98</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>43</source_key>
- <sink_key>99</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>44</source_key>
- <sink_key>100</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>45</source_key>
- <sink_key>101</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>46</source_key>
- <sink_key>102</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>47</source_key>
- <sink_key>103</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>48</source_key>
- <sink_key>104</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>49</source_key>
- <sink_key>105</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>50</source_key>
- <sink_key>106</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>51</source_key>
- <sink_key>107</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>52</source_key>
- <sink_key>108</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>53</source_key>
- <sink_key>109</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>54</source_key>
- <sink_key>110</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>55</source_key>
- <sink_key>111</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>56</source_key>
- <sink_key>169</sink_key>
- </connection>
- <connection>
<source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>0</source_key>
@@ -1577,492 +1232,402 @@
<source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>32</source_key>
+ <sink_key>96</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>0</source_key>
<sink_key>32</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>33</source_key>
+ <source_key>1</source_key>
<sink_key>33</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>34</source_key>
+ <source_key>2</source_key>
<sink_key>34</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>35</source_key>
+ <source_key>3</source_key>
<sink_key>35</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>36</source_key>
+ <source_key>4</source_key>
<sink_key>36</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>37</source_key>
+ <source_key>5</source_key>
<sink_key>37</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>38</source_key>
+ <source_key>6</source_key>
<sink_key>38</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>39</source_key>
+ <source_key>7</source_key>
<sink_key>39</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>40</source_key>
+ <source_key>8</source_key>
<sink_key>40</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>41</source_key>
+ <source_key>9</source_key>
<sink_key>41</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>42</source_key>
+ <source_key>10</source_key>
<sink_key>42</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>43</source_key>
+ <source_key>11</source_key>
<sink_key>43</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>44</source_key>
+ <source_key>12</source_key>
<sink_key>44</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>45</source_key>
+ <source_key>13</source_key>
<sink_key>45</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>46</source_key>
+ <source_key>14</source_key>
<sink_key>46</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>47</source_key>
+ <source_key>15</source_key>
<sink_key>47</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>48</source_key>
+ <source_key>16</source_key>
<sink_key>48</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>49</source_key>
+ <source_key>17</source_key>
<sink_key>49</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>50</source_key>
+ <source_key>18</source_key>
<sink_key>50</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>51</source_key>
+ <source_key>19</source_key>
<sink_key>51</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>52</source_key>
+ <source_key>20</source_key>
<sink_key>52</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>53</source_key>
+ <source_key>21</source_key>
<sink_key>53</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>54</source_key>
+ <source_key>22</source_key>
<sink_key>54</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>55</source_key>
+ <source_key>23</source_key>
<sink_key>55</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>24</source_key>
+ <sink_key>56</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>25</source_key>
+ <sink_key>57</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>26</source_key>
+ <sink_key>58</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>27</source_key>
+ <sink_key>59</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>28</source_key>
+ <sink_key>60</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>29</source_key>
+ <sink_key>61</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>30</source_key>
+ <sink_key>62</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>31</source_key>
+ <sink_key>63</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>56</source_key>
- <sink_key>168</sink_key>
+ <source_key>32</source_key>
+ <sink_key>97</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>0</source_key>
- <sink_key>112</sink_key>
+ <sink_key>64</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>1</source_key>
- <sink_key>113</sink_key>
+ <sink_key>65</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>2</source_key>
- <sink_key>114</sink_key>
+ <sink_key>66</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>3</source_key>
- <sink_key>115</sink_key>
+ <sink_key>67</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>4</source_key>
- <sink_key>116</sink_key>
+ <sink_key>68</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>5</source_key>
- <sink_key>117</sink_key>
+ <sink_key>69</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>6</source_key>
- <sink_key>118</sink_key>
+ <sink_key>70</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>7</source_key>
- <sink_key>119</sink_key>
+ <sink_key>71</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>8</source_key>
- <sink_key>120</sink_key>
+ <sink_key>72</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>9</source_key>
- <sink_key>121</sink_key>
+ <sink_key>73</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>10</source_key>
- <sink_key>122</sink_key>
+ <sink_key>74</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>11</source_key>
- <sink_key>123</sink_key>
+ <sink_key>75</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>12</source_key>
- <sink_key>124</sink_key>
+ <sink_key>76</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>13</source_key>
- <sink_key>125</sink_key>
+ <sink_key>77</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>14</source_key>
- <sink_key>126</sink_key>
+ <sink_key>78</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>15</source_key>
- <sink_key>127</sink_key>
+ <sink_key>79</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>16</source_key>
- <sink_key>128</sink_key>
+ <sink_key>80</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>17</source_key>
- <sink_key>129</sink_key>
+ <sink_key>81</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>18</source_key>
- <sink_key>130</sink_key>
+ <sink_key>82</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>19</source_key>
- <sink_key>131</sink_key>
+ <sink_key>83</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>20</source_key>
- <sink_key>132</sink_key>
+ <sink_key>84</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>21</source_key>
- <sink_key>133</sink_key>
+ <sink_key>85</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>22</source_key>
- <sink_key>134</sink_key>
+ <sink_key>86</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>23</source_key>
- <sink_key>135</sink_key>
+ <sink_key>87</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>24</source_key>
- <sink_key>136</sink_key>
+ <sink_key>88</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>25</source_key>
- <sink_key>137</sink_key>
+ <sink_key>89</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>26</source_key>
- <sink_key>138</sink_key>
+ <sink_key>90</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>27</source_key>
- <sink_key>139</sink_key>
+ <sink_key>91</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>28</source_key>
- <sink_key>140</sink_key>
+ <sink_key>92</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>29</source_key>
- <sink_key>141</sink_key>
+ <sink_key>93</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>30</source_key>
- <sink_key>142</sink_key>
+ <sink_key>94</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>31</source_key>
- <sink_key>143</sink_key>
+ <sink_key>95</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
<sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>32</source_key>
- <sink_key>144</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>33</source_key>
- <sink_key>145</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>34</source_key>
- <sink_key>146</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>35</source_key>
- <sink_key>147</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>36</source_key>
- <sink_key>148</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>37</source_key>
- <sink_key>149</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>38</source_key>
- <sink_key>150</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>39</source_key>
- <sink_key>151</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>40</source_key>
- <sink_key>152</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>41</source_key>
- <sink_key>153</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>42</source_key>
- <sink_key>154</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>43</source_key>
- <sink_key>155</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>44</source_key>
- <sink_key>156</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>45</source_key>
- <sink_key>157</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>46</source_key>
- <sink_key>158</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>47</source_key>
- <sink_key>159</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>48</source_key>
- <sink_key>160</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>49</source_key>
- <sink_key>161</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>50</source_key>
- <sink_key>162</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>51</source_key>
- <sink_key>163</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>52</source_key>
- <sink_key>164</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>53</source_key>
- <sink_key>165</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>54</source_key>
- <sink_key>166</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>55</source_key>
- <sink_key>167</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>56</source_key>
- <sink_key>170</sink_key>
+ <sink_key>98</sink_key>
</connection>
</flow_graph>
diff --git a/gr-fec/examples/fecapi_decoders.grc b/gr-fec/examples/fecapi_decoders.grc
index 5cb00ddf47..41692d38fb 100644
--- a/gr-fec/examples/fecapi_decoders.grc
+++ b/gr-fec/examples/fecapi_decoders.grc
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Mon May 12 22:15:20 2014</timestamp>
+ <timestamp>Tue May 13 17:26:19 2014</timestamp>
<block>
<key>options</key>
<param>
@@ -454,18 +454,22 @@
</param>
</block>
<block>
- <key>digital_map_bb</key>
+ <key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>digital_map_bb_0</value>
+ <value>blocks_char_to_float_0_2_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>map</key>
- <value>[-1, 1]</value>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>scale</key>
+ <value>1</value>
</param>
<param>
<key>alias</key>
@@ -485,7 +489,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(755, 730)</value>
+ <value>(942, 292)</value>
</param>
<param>
<key>_rotation</key>
@@ -493,22 +497,18 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>digital_map_bb</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_1</value>
+ <value>digital_map_bb_0_0_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>scale</key>
- <value>1</value>
+ <key>map</key>
+ <value>[-1, 1]</value>
</param>
<param>
<key>alias</key>
@@ -528,7 +528,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(938, 731)</value>
+ <value>(749, 291)</value>
</param>
<param>
<key>_rotation</key>
@@ -536,46 +536,38 @@
</param>
</block>
<block>
- <key>variable_repetition_encoder_def</key>
+ <key>blocks_unpack_k_bits_bb</key>
<param>
<key>id</key>
- <value>enc_rep</value>
+ <value>blocks_unpack_k_bits_bb_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>1</value>
- </param>
- <param>
- <key>dim1</key>
- <value>4</value>
+ <key>k</key>
+ <value>8</value>
</param>
<param>
- <key>dim2</key>
- <value>1</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>framebits</key>
- <value>frame_size*8</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>rep</key>
- <value>3</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
<key>_coordinate</key>
- <value>(1213, 880)</value>
+ <value>(119, 432)</value>
</param>
<param>
<key>_rotation</key>
@@ -583,50 +575,50 @@
</param>
</block>
<block>
- <key>variable_repetition_decoder_def</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>dec_rep</value>
+ <value>fec_extended_encoder_1_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>encoder_list</key>
+ <value>enc_dummy</value>
</param>
<param>
- <key>ndim</key>
- <value>1</value>
+ <key>threadtype</key>
+ <value>capillary</value>
</param>
<param>
- <key>dim1</key>
- <value>4</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>dim2</key>
- <value>1</value>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
- <key>framebits</key>
- <value>frame_size*8</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>rep</key>
- <value>3</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>prob</key>
- <value>0.5</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
<key>_coordinate</key>
- <value>(1213, 1022)</value>
+ <value>(440, 260)</value>
</param>
<param>
<key>_rotation</key>
@@ -634,42 +626,50 @@
</param>
</block>
<block>
- <key>variable_dummy_decoder_def</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>dec_dummy</value>
+ <value>fec_extended_encoder_1_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>encoder_list</key>
+ <value>enc_rep</value>
</param>
<param>
- <key>ndim</key>
- <value>1</value>
+ <key>threadtype</key>
+ <value>capillary</value>
</param>
<param>
- <key>dim1</key>
- <value>1</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>dim2</key>
- <value>1</value>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
- <key>framebits</key>
- <value>frame_size*8</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>alias</key>
+ <key>affinity</key>
<value></value>
</param>
<param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(947, 1007)</value>
+ <value>(443, 403)</value>
</param>
<param>
<key>_rotation</key>
@@ -677,42 +677,38 @@
</param>
</block>
<block>
- <key>variable_dummy_encoder_def</key>
+ <key>digital_map_bb</key>
<param>
<key>id</key>
- <value>enc_dummy</value>
+ <value>digital_map_bb_0_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>1</value>
+ <key>map</key>
+ <value>[-1, 1]</value>
</param>
<param>
- <key>dim1</key>
- <value>1</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>dim2</key>
- <value>1</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>framebits</key>
- <value>frame_size*8</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
<key>_coordinate</key>
- <value>(949, 881)</value>
+ <value>(750, 434)</value>
</param>
<param>
<key>_rotation</key>
@@ -720,66 +716,42 @@
</param>
</block>
<block>
- <key>variable_cc_decoder_def</key>
+ <key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>dec_cc</value>
+ <value>blocks_char_to_float_0_2</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
+ <key>vlen</key>
<value>1</value>
</param>
<param>
- <key>dim1</key>
+ <key>scale</key>
<value>1</value>
</param>
<param>
- <key>dim2</key>
- <value>4</value>
- </param>
- <param>
- <key>framebits</key>
- <value>frame_size*8</value>
- </param>
- <param>
- <key>k</key>
- <value>k</value>
- </param>
- <param>
- <key>rate</key>
- <value>rate</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>polys</key>
- <value>polys</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>state_start</key>
+ <key>minoutbuf</key>
<value>0</value>
</param>
<param>
- <key>state_end</key>
- <value>-1</value>
- </param>
- <param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
<key>_coordinate</key>
- <value>(384, 1069)</value>
+ <value>(943, 435)</value>
</param>
<param>
<key>_rotation</key>
@@ -787,54 +759,30 @@
</param>
</block>
<block>
- <key>variable_cc_encoder_def</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>enc_cc</value>
+ <value>frame_size</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>1</value>
- </param>
- <param>
- <key>dim1</key>
- <value>1</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>frame_size*8</value>
- </param>
- <param>
- <key>k</key>
- <value>k</value>
- </param>
- <param>
- <key>rate</key>
- <value>rate</value>
+ <key>label</key>
+ <value>Frame Size</value>
</param>
<param>
- <key>polys</key>
- <value>polys</value>
+ <key>value</key>
+ <value>30</value>
</param>
<param>
- <key>state_start</key>
- <value>0</value>
+ <key>type</key>
+ <value>intx</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
<key>alias</key>
@@ -842,7 +790,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(383, 840)</value>
+ <value>(249, 7)</value>
</param>
<param>
<key>_rotation</key>
@@ -853,7 +801,7 @@
<key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_2_0</value>
+ <value>blocks_char_to_float_0_0_0</value>
</param>
<param>
<key>_enabled</key>
@@ -885,7 +833,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(942, 292)</value>
+ <value>(1466, 435)</value>
</param>
<param>
<key>_rotation</key>
@@ -893,18 +841,38 @@
</param>
</block>
<block>
- <key>digital_map_bb</key>
+ <key>fec_extended_decoder</key>
<param>
<key>id</key>
- <value>digital_map_bb_0_0_0_0</value>
+ <value>fec_extended_decoder_0_1</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>map</key>
- <value>[-1, 1]</value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
+ </param>
+ <param>
+ <key>decoder_list</key>
+ <value>dec_rep</value>
+ </param>
+ <param>
+ <key>threadtype</key>
+ <value>none</value>
+ </param>
+ <param>
+ <key>ann</key>
+ <value>None</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
<key>alias</key>
@@ -924,7 +892,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(749, 291)</value>
+ <value>(1162, 393)</value>
</param>
<param>
<key>_rotation</key>
@@ -932,18 +900,22 @@
</param>
</block>
<block>
- <key>blocks_unpack_k_bits_bb</key>
+ <key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_unpack_k_bits_bb_0</value>
+ <value>blocks_char_to_float_0_0_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>k</key>
- <value>8</value>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>scale</key>
+ <value>1</value>
</param>
<param>
<key>alias</key>
@@ -963,7 +935,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(119, 432)</value>
+ <value>(1465, 292)</value>
</param>
<param>
<key>_rotation</key>
@@ -971,30 +943,22 @@
</param>
</block>
<block>
- <key>fec_extended_encoder</key>
+ <key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>fec_extended_encoder_1_0_0</value>
+ <value>blocks_char_to_float_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_dummy</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>capillary</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
- <key>lentagname</key>
- <value>None</value>
+ <key>scale</key>
+ <value>1</value>
</param>
<param>
<key>alias</key>
@@ -1014,7 +978,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(440, 260)</value>
+ <value>(1465, 584)</value>
</param>
<param>
<key>_rotation</key>
@@ -1022,22 +986,30 @@
</param>
</block>
<block>
- <key>fec_extended_encoder</key>
+ <key>fec_extended_decoder</key>
<param>
<key>id</key>
- <value>fec_extended_encoder_1_0</value>
+ <value>fec_extended_decoder_0_1_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_rep</value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
+ </param>
+ <param>
+ <key>decoder_list</key>
+ <value>dec_dummy</value>
</param>
<param>
<key>threadtype</key>
- <value>capillary</value>
+ <value>none</value>
+ </param>
+ <param>
+ <key>ann</key>
+ <value>None</value>
</param>
<param>
<key>puncpat</key>
@@ -1065,7 +1037,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(443, 403)</value>
+ <value>(1161, 250)</value>
</param>
<param>
<key>_rotation</key>
@@ -1073,18 +1045,38 @@
</param>
</block>
<block>
- <key>digital_map_bb</key>
+ <key>fec_extended_decoder</key>
<param>
<key>id</key>
- <value>digital_map_bb_0_0_0</value>
+ <value>fec_extended_decoder_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>map</key>
- <value>[-1, 1]</value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
+ </param>
+ <param>
+ <key>decoder_list</key>
+ <value>dec_cc</value>
+ </param>
+ <param>
+ <key>threadtype</key>
+ <value>none</value>
+ </param>
+ <param>
+ <key>ann</key>
+ <value>None</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
<key>alias</key>
@@ -1104,7 +1096,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(750, 434)</value>
+ <value>(1161, 542)</value>
</param>
<param>
<key>_rotation</key>
@@ -1115,7 +1107,7 @@
<key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_2</value>
+ <value>blocks_char_to_float_0_1</value>
</param>
<param>
<key>_enabled</key>
@@ -1147,7 +1139,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(943, 435)</value>
+ <value>(440, 184)</value>
</param>
<param>
<key>_rotation</key>
@@ -1155,38 +1147,50 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>blocks_delay</key>
<param>
<key>id</key>
- <value>frame_size</value>
+ <value>blocks_delay_0</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
- <key>label</key>
- <value>Frame Size</value>
+ <key>type</key>
+ <value>float</value>
</param>
<param>
- <key>value</key>
- <value>30</value>
+ <key>delay</key>
+ <value>32</value>
</param>
<param>
- <key>type</key>
- <value>intx</value>
+ <key>num_ports</key>
+ <value>1</value>
</param>
<param>
- <key>short_id</key>
- <value></value>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(249, 7)</value>
+ <value>(695, 184)</value>
</param>
<param>
<key>_rotation</key>
@@ -1194,26 +1198,30 @@
</param>
</block>
<block>
- <key>blocks_delay</key>
+ <key>blocks_vector_source_x</key>
<param>
<key>id</key>
- <value>blocks_delay_0_0</value>
+ <value>blocks_vector_source_x_0_1_0</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
<key>type</key>
- <value>float</value>
+ <value>byte</value>
</param>
<param>
- <key>delay</key>
- <value>32</value>
+ <key>vector</key>
+ <value>(frame_size/15)*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value>
</param>
<param>
- <key>num_ports</key>
- <value>1</value>
+ <key>tags</key>
+ <value>[]</value>
+ </param>
+ <param>
+ <key>repeat</key>
+ <value>True</value>
</param>
<param>
<key>vlen</key>
@@ -1237,50 +1245,58 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1698, 899)</value>
+ <value>(59, 200)</value>
</param>
<param>
<key>_rotation</key>
- <value>0</value>
+ <value>180</value>
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>variable_ccsds_encoder_def</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_1_0</value>
+ <value>enc_ccsds</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
<value>1</value>
</param>
<param>
- <key>scale</key>
+ <key>dim1</key>
<value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>dim2</key>
+ <value>4</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>minoutbuf</key>
+ <key>state_start</key>
<value>0</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1466, 731)</value>
+ <value>(379, 841)</value>
</param>
<param>
<key>_rotation</key>
@@ -1288,42 +1304,66 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>variable_cc_decoder_def</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_0_0</value>
+ <value>dec_cc</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
<value>1</value>
</param>
<param>
- <key>scale</key>
+ <key>dim1</key>
<value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>dim2</key>
+ <value>4</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>k</key>
+ <value>k</value>
</param>
<param>
- <key>maxoutbuf</key>
+ <key>rate</key>
+ <value>rate</value>
+ </param>
+ <param>
+ <key>polys</key>
+ <value>polys</value>
+ </param>
+ <param>
+ <key>state_start</key>
<value>0</value>
</param>
<param>
+ <key>state_end</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(1466, 435)</value>
+ <value>(379, 1010)</value>
</param>
<param>
<key>_rotation</key>
@@ -1331,10 +1371,10 @@
</param>
</block>
<block>
- <key>fec_extended_decoder</key>
+ <key>variable_repetition_encoder_def</key>
<param>
<key>id</key>
- <value>fec_extended_decoder_0_1</value>
+ <value>enc_rep</value>
</param>
<param>
<key>_enabled</key>
@@ -1342,47 +1382,86 @@
</param>
<param>
<key>value</key>
- <value>fec_extended_decoder</value>
+ <value>"ok"</value>
</param>
<param>
- <key>decoder_list</key>
- <value>dec_rep</value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
- <key>threadtype</key>
- <value>none</value>
+ <key>dim1</key>
+ <value>4</value>
</param>
<param>
- <key>ann</key>
- <value>None</value>
+ <key>dim2</key>
+ <value>1</value>
</param>
<param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>lentagname</key>
- <value>None</value>
+ <key>rep</key>
+ <value>3</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>_coordinate</key>
+ <value>(936, 841)</value>
</param>
<param>
- <key>minoutbuf</key>
+ <key>_rotation</key>
<value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable_repetition_decoder_def</key>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>id</key>
+ <value>dec_rep</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>4</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>frame_size*8</value>
+ </param>
+ <param>
+ <key>rep</key>
+ <value>3</value>
+ </param>
+ <param>
+ <key>prob</key>
+ <value>0.5</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1162, 393)</value>
+ <value>(936, 983)</value>
</param>
<param>
<key>_rotation</key>
@@ -1390,42 +1469,42 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>variable_dummy_decoder_def</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_0_0_0</value>
+ <value>dec_dummy</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>scale</key>
+ <key>ndim</key>
<value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>dim1</key>
+ <value>1</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>dim2</key>
+ <value>1</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1465, 292)</value>
+ <value>(670, 968)</value>
</param>
<param>
<key>_rotation</key>
@@ -1433,42 +1512,42 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>variable_dummy_encoder_def</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_0</value>
+ <value>enc_dummy</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>scale</key>
+ <key>ndim</key>
<value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>dim1</key>
+ <value>1</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>dim2</key>
+ <value>1</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1465, 584)</value>
+ <value>(672, 842)</value>
</param>
<param>
<key>_rotation</key>
@@ -1476,30 +1555,22 @@
</param>
</block>
<block>
- <key>fec_extended_decoder</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>fec_extended_decoder_0_1_0</value>
+ <value>fec_extended_encoder_1</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>fec_extended_decoder</value>
- </param>
- <param>
- <key>decoder_list</key>
- <value>dec_dummy</value>
+ <key>encoder_list</key>
+ <value>enc_ccsds</value>
</param>
<param>
<key>threadtype</key>
- <value>none</value>
- </param>
- <param>
- <key>ann</key>
- <value>None</value>
+ <value>capillary</value>
</param>
<param>
<key>puncpat</key>
@@ -1527,7 +1598,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1161, 250)</value>
+ <value>(441, 552)</value>
</param>
<param>
<key>_rotation</key>
@@ -1574,7 +1645,7 @@
</param>
<param>
<key>nconnections</key>
- <value>5</value>
+ <value>4</value>
</param>
<param>
<key>update_time</key>
@@ -1869,481 +1940,6 @@
<value>0</value>
</param>
</block>
- <block>
- <key>fec_extended_encoder</key>
- <param>
- <key>id</key>
- <value>fec_extended_encoder_1</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>encoder_list</key>
- <value>enc_cc</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>capillary</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
- </param>
- <param>
- <key>lentagname</key>
- <value>None</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(441, 552)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>fec_extended_decoder</key>
- <param>
- <key>id</key>
- <value>fec_extended_decoder_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>fec_extended_decoder</value>
- </param>
- <param>
- <key>decoder_list</key>
- <value>dec_cc</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>none</value>
- </param>
- <param>
- <key>ann</key>
- <value>None</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
- </param>
- <param>
- <key>lentagname</key>
- <value>None</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(1161, 542)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>fec_extended_encoder</key>
- <param>
- <key>id</key>
- <value>fec_extended_encoder_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>encoder_list</key>
- <value>enc_ccsds</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>capillary</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
- </param>
- <param>
- <key>lentagname</key>
- <value>None</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(440, 700)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>fec_extended_decoder</key>
- <param>
- <key>id</key>
- <value>fec_extended_decoder_0_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>fec_extended_decoder</value>
- </param>
- <param>
- <key>decoder_list</key>
- <value>dec_ccsds</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>capillary</value>
- </param>
- <param>
- <key>ann</key>
- <value>None</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
- </param>
- <param>
- <key>lentagname</key>
- <value>None</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(1162, 689)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_char_to_float</key>
- <param>
- <key>id</key>
- <value>blocks_char_to_float_0_1</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>scale</key>
- <value>1</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(440, 184)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_delay</key>
- <param>
- <key>id</key>
- <value>blocks_delay_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>False</value>
- </param>
- <param>
- <key>type</key>
- <value>float</value>
- </param>
- <param>
- <key>delay</key>
- <value>32</value>
- </param>
- <param>
- <key>num_ports</key>
- <value>1</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(695, 184)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable_ccsds_encoder_def</key>
- <param>
- <key>id</key>
- <value>enc_ccsds</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>1</value>
- </param>
- <param>
- <key>dim1</key>
- <value>1</value>
- </param>
- <param>
- <key>dim2</key>
- <value>4</value>
- </param>
- <param>
- <key>framebits</key>
- <value>frame_size*8</value>
- </param>
- <param>
- <key>state_start</key>
- <value>0</value>
- </param>
- <param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(669, 841)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable_ccsds_decoder_def</key>
- <param>
- <key>id</key>
- <value>dec_ccsds</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>1</value>
- </param>
- <param>
- <key>dim1</key>
- <value>1</value>
- </param>
- <param>
- <key>dim2</key>
- <value>4</value>
- </param>
- <param>
- <key>framebits</key>
- <value>frame_size*8</value>
- </param>
- <param>
- <key>state_start</key>
- <value>0</value>
- </param>
- <param>
- <key>end_state</key>
- <value>-1</value>
- </param>
- <param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(668, 1007)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_vector_source_x</key>
- <param>
- <key>id</key>
- <value>blocks_vector_source_x_0_1_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>vector</key>
- <value>(frame_size/15)*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value>
- </param>
- <param>
- <key>tags</key>
- <value>[]</value>
- </param>
- <param>
- <key>repeat</key>
- <value>True</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(59, 200)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
<connection>
<source_block_id>blocks_vector_source_x_0_1_0</source_block_id>
<sink_block_id>blocks_throttle_0</sink_block_id>
@@ -2364,12 +1960,6 @@
</connection>
<connection>
<source_block_id>blocks_unpack_k_bits_bb_0</source_block_id>
- <sink_block_id>fec_extended_encoder_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id>
<sink_block_id>fec_extended_encoder_1</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
@@ -2405,24 +1995,6 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>fec_extended_encoder_0</source_block_id>
- <sink_block_id>digital_map_bb_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>digital_map_bb_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>blocks_char_to_float_1</source_block_id>
- <sink_block_id>fec_extended_decoder_0_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
<source_block_id>digital_map_bb_0_0_0_0</source_block_id>
<sink_block_id>blocks_char_to_float_0_2_0</sink_block_id>
<source_key>0</source_key>
@@ -2501,30 +2073,12 @@
<sink_key>3</sink_key>
</connection>
<connection>
- <source_block_id>blocks_char_to_float_1_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>4</sink_key>
- </connection>
- <connection>
<source_block_id>fec_extended_decoder_0_1_0</source_block_id>
<sink_block_id>blocks_char_to_float_0_0_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_char_to_float_1_0</source_block_id>
- <sink_block_id>blocks_delay_0_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_extended_decoder_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
<source_block_id>fec_extended_decoder_0</source_block_id>
<sink_block_id>blocks_char_to_float_0_0</sink_block_id>
<source_key>0</source_key>
diff --git a/gr-fec/examples/fecapi_tagged_decoders.grc b/gr-fec/examples/fecapi_tagged_decoders.grc
index 91053cbd47..977970985b 100644
--- a/gr-fec/examples/fecapi_tagged_decoders.grc
+++ b/gr-fec/examples/fecapi_tagged_decoders.grc
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Mon May 12 22:12:23 2014</timestamp>
+ <timestamp>Tue May 13 16:28:59 2014</timestamp>
<block>
<key>options</key>
<param>
@@ -68,7 +68,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>k</value>
+ <value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
@@ -76,7 +76,7 @@
</param>
<param>
<key>value</key>
- <value>7</value>
+ <value>50000</value>
</param>
<param>
<key>alias</key>
@@ -84,7 +84,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(384, 683)</value>
+ <value>(9, 95)</value>
</param>
<param>
<key>_rotation</key>
@@ -95,7 +95,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>length_tag</value>
</param>
<param>
<key>_enabled</key>
@@ -103,7 +103,7 @@
</param>
<param>
<key>value</key>
- <value>[109, 79]</value>
+ <value>"packet_len"</value>
</param>
<param>
<key>alias</key>
@@ -111,7 +111,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(301, 768)</value>
+ <value>(202, 112)</value>
</param>
<param>
<key>_rotation</key>
@@ -122,15 +122,15 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>k</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
<key>value</key>
- <value>[79, 109]</value>
+ <value>7</value>
</param>
<param>
<key>alias</key>
@@ -138,7 +138,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(443, 765)</value>
+ <value>(352, 1017)</value>
</param>
<param>
<key>_rotation</key>
@@ -149,7 +149,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>rate</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
@@ -157,7 +157,7 @@
</param>
<param>
<key>value</key>
- <value>2</value>
+ <value>[109, 79]</value>
</param>
<param>
<key>alias</key>
@@ -165,7 +165,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(485, 680)</value>
+ <value>(269, 1102)</value>
</param>
<param>
<key>_rotation</key>
@@ -176,15 +176,15 @@
<key>variable</key>
<param>
<key>id</key>
- <value>length_tag</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
<key>value</key>
- <value>"packet_len"</value>
+ <value>[79, 109]</value>
</param>
<param>
<key>alias</key>
@@ -192,7 +192,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(202, 112)</value>
+ <value>(411, 1099)</value>
</param>
<param>
<key>_rotation</key>
@@ -203,7 +203,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>samp_rate</value>
+ <value>rate</value>
</param>
<param>
<key>_enabled</key>
@@ -211,7 +211,7 @@
</param>
<param>
<key>value</key>
- <value>50000</value>
+ <value>2</value>
</param>
<param>
<key>alias</key>
@@ -219,7 +219,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(9, 95)</value>
+ <value>(453, 1014)</value>
</param>
<param>
<key>_rotation</key>
@@ -372,50 +372,26 @@
</param>
</block>
<block>
- <key>blocks_stream_to_tagged_stream</key>
+ <key>blocks_ctrlport_monitor_performance</key>
<param>
<key>id</key>
- <value>blocks_stream_to_tagged_stream_0_0</value>
+ <value>blocks_ctrlport_monitor_performance_0</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>packet_len</key>
- <value>frame_size*8</value>
+ <value>False</value>
</param>
<param>
- <key>len_tag_key</key>
- <value>length_tag</value>
+ <key>en</key>
+ <value>True</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
<key>_coordinate</key>
- <value>(595, 331)</value>
+ <value>(651, 15)</value>
</param>
<param>
<key>_rotation</key>
@@ -423,73 +399,30 @@
</param>
</block>
<block>
- <key>analog_random_source_x</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>analog_random_source_x_0</value>
+ <value>puncpat</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>min</key>
- <value>0</value>
- </param>
- <param>
- <key>max</key>
- <value>256</value>
- </param>
- <param>
- <key>num_samps</key>
- <value>1000</value>
- </param>
- <param>
- <key>repeat</key>
<value>True</value>
</param>
<param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
+ <key>label</key>
<value></value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(99, 633)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
- <block>
- <key>blocks_ctrlport_monitor_performance</key>
- <param>
- <key>id</key>
- <value>blocks_ctrlport_monitor_performance_0</value>
+ <key>value</key>
+ <value>'11'</value>
</param>
<param>
- <key>_enabled</key>
- <value>False</value>
+ <key>type</key>
+ <value>string</value>
</param>
<param>
- <key>en</key>
- <value>True</value>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
<key>alias</key>
@@ -497,7 +430,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(651, 15)</value>
+ <value>(248, 9)</value>
</param>
<param>
<key>_rotation</key>
@@ -508,7 +441,7 @@
<key>parameter</key>
<param>
<key>id</key>
- <value>puncpat</value>
+ <value>frame_size</value>
</param>
<param>
<key>_enabled</key>
@@ -516,15 +449,15 @@
</param>
<param>
<key>label</key>
- <value></value>
+ <value>Frame Size</value>
</param>
<param>
<key>value</key>
- <value>'11'</value>
+ <value>30</value>
</param>
<param>
<key>type</key>
- <value>string</value>
+ <value>intx</value>
</param>
<param>
<key>short_id</key>
@@ -536,7 +469,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(248, 9)</value>
+ <value>(484, 10)</value>
</param>
<param>
<key>_rotation</key>
@@ -547,7 +480,7 @@
<key>parameter</key>
<param>
<key>id</key>
- <value>frame_size</value>
+ <value>MTU</value>
</param>
<param>
<key>_enabled</key>
@@ -555,11 +488,11 @@
</param>
<param>
<key>label</key>
- <value>Frame Size</value>
+ <value>MTU</value>
</param>
<param>
<key>value</key>
- <value>30</value>
+ <value>1000</value>
</param>
<param>
<key>type</key>
@@ -575,7 +508,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(484, 10)</value>
+ <value>(365, 9)</value>
</param>
<param>
<key>_rotation</key>
@@ -583,29 +516,29 @@
</param>
</block>
<block>
- <key>fec_extended_encoder</key>
+ <key>blocks_stream_to_tagged_stream</key>
<param>
<key>id</key>
- <value>fec_extended_encoder_0</value>
+ <value>blocks_stream_to_tagged_stream_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_rep</value>
+ <key>type</key>
+ <value>byte</value>
</param>
<param>
- <key>threadtype</key>
- <value>none</value>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>packet_len</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>lentagname</key>
+ <key>len_tag_key</key>
<value>length_tag</value>
</param>
<param>
@@ -626,7 +559,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(138, 474)</value>
+ <value>(595, 331)</value>
</param>
<param>
<key>_rotation</key>
@@ -634,57 +567,34 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>analog_random_source_x</key>
<param>
<key>id</key>
- <value>MTU</value>
+ <value>analog_random_source_x_0</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>MTU</value>
- </param>
- <param>
- <key>value</key>
- <value>1000</value>
+ <value>False</value>
</param>
<param>
<key>type</key>
- <value>intx</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(365, 9)</value>
+ <value>byte</value>
</param>
<param>
- <key>_rotation</key>
+ <key>min</key>
<value>0</value>
</param>
- </block>
- <block>
- <key>digital_map_bb</key>
<param>
- <key>id</key>
- <value>digital_map_bb_0</value>
+ <key>max</key>
+ <value>256</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>num_samps</key>
+ <value>1000</value>
</param>
<param>
- <key>map</key>
- <value>[-1, 1]</value>
+ <key>repeat</key>
+ <value>True</value>
</param>
<param>
<key>alias</key>
@@ -704,18 +614,18 @@
</param>
<param>
<key>_coordinate</key>
- <value>(493, 506)</value>
+ <value>(387, 203)</value>
</param>
<param>
<key>_rotation</key>
- <value>0</value>
+ <value>180</value>
</param>
</block>
<block>
<key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_1</value>
+ <value>blocks_char_to_float_1_0</value>
</param>
<param>
<key>_enabled</key>
@@ -747,7 +657,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(678, 506)</value>
+ <value>(1242, 536)</value>
</param>
<param>
<key>_rotation</key>
@@ -758,7 +668,7 @@
<key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_1_0</value>
+ <value>blocks_char_to_float_1</value>
</param>
<param>
<key>_enabled</key>
@@ -790,7 +700,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1242, 506)</value>
+ <value>(678, 536)</value>
</param>
<param>
<key>_rotation</key>
@@ -798,38 +708,18 @@
</param>
</block>
<block>
- <key>fec_extended_decoder</key>
+ <key>digital_map_bb</key>
<param>
<key>id</key>
- <value>fec_extended_decoder_0_0</value>
+ <value>digital_map_bb_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>fec_extended_decoder</value>
- </param>
- <param>
- <key>decoder_list</key>
- <value>dec_rep</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>none</value>
- </param>
- <param>
- <key>ann</key>
- <value>None</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
- </param>
- <param>
- <key>lentagname</key>
- <value>length_tag</value>
+ <key>map</key>
+ <value>[-1, 1]</value>
</param>
<param>
<key>alias</key>
@@ -849,7 +739,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(900, 464)</value>
+ <value>(493, 536)</value>
</param>
<param>
<key>_rotation</key>
@@ -857,334 +747,332 @@
</param>
</block>
<block>
- <key>qtgui_time_sink_x</key>
+ <key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0</value>
+ <value>blocks_char_to_float_1_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>float</value>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
- <key>name</key>
- <value>QT GUI Plot</value>
+ <key>scale</key>
+ <value>1</value>
</param>
<param>
- <key>size</key>
- <value>2048</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>srate</key>
- <value>samp_rate</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>autoscale</key>
- <value>False</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>ymin</key>
- <value>-0.5</value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>ymax</key>
- <value>1.5</value>
+ <key>_coordinate</key>
+ <value>(1231, 689)</value>
</param>
<param>
- <key>nconnections</key>
- <value>1</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>fec_extended_decoder</key>
<param>
- <key>update_time</key>
- <value>0.10</value>
+ <key>id</key>
+ <value>fec_extended_decoder_0_0_0</value>
</param>
<param>
- <key>entags</key>
+ <key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>gui_hint</key>
- <value></value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
</param>
<param>
- <key>tr_mode</key>
- <value>qtgui.TRIG_MODE_FREE</value>
+ <key>decoder_list</key>
+ <value>dec_cc</value>
</param>
<param>
- <key>tr_slope</key>
- <value>qtgui.TRIG_SLOPE_POS</value>
+ <key>threadtype</key>
+ <value>none</value>
</param>
<param>
- <key>tr_level</key>
- <value>0.0</value>
+ <key>ann</key>
+ <value>None</value>
</param>
<param>
- <key>tr_delay</key>
- <value>0</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>tr_chan</key>
- <value>0</value>
+ <key>lentagname</key>
+ <value>length_tag</value>
</param>
<param>
- <key>tr_tag</key>
- <value>""</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>label1</key>
- <value>Input</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>width1</key>
- <value>1</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>color1</key>
- <value>"blue"</value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>style1</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(899, 647)</value>
</param>
<param>
- <key>marker1</key>
- <value>-1</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>blocks_char_to_float</key>
<param>
- <key>alpha1</key>
- <value>1.0</value>
+ <key>id</key>
+ <value>blocks_char_to_float_1_1</value>
</param>
<param>
- <key>label2</key>
- <value>CC</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>width2</key>
+ <key>vlen</key>
<value>1</value>
</param>
<param>
- <key>color2</key>
- <value>"red"</value>
- </param>
- <param>
- <key>style2</key>
+ <key>scale</key>
<value>1</value>
</param>
<param>
- <key>marker2</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha2</key>
- <value>0.6</value>
- </param>
- <param>
- <key>label3</key>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>width3</key>
- <value>1</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>color3</key>
- <value>"green"</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>style3</key>
- <value>1</value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>marker3</key>
- <value>-1</value>
+ <key>_coordinate</key>
+ <value>(685, 689)</value>
</param>
<param>
- <key>alpha3</key>
- <value>1.0</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>digital_map_bb</key>
<param>
- <key>label4</key>
- <value></value>
+ <key>id</key>
+ <value>digital_map_bb_0_0</value>
</param>
<param>
- <key>width4</key>
- <value>1</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>color4</key>
- <value>"black"</value>
+ <key>map</key>
+ <value>[-1, 1]</value>
</param>
<param>
- <key>style4</key>
- <value>1</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>marker4</key>
- <value>-1</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>alpha4</key>
- <value>1.0</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>label5</key>
- <value></value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>width5</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(502, 689)</value>
</param>
<param>
- <key>color5</key>
- <value>"cyan"</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable_ccsds_encoder_def</key>
<param>
- <key>style5</key>
- <value>1</value>
+ <key>id</key>
+ <value>enc_ccsds</value>
</param>
<param>
- <key>marker5</key>
- <value>-1</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>alpha5</key>
- <value>1.0</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>label6</key>
- <value></value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
- <key>width6</key>
+ <key>dim1</key>
<value>1</value>
</param>
<param>
- <key>color6</key>
- <value>"magenta"</value>
+ <key>dim2</key>
+ <value>4</value>
</param>
<param>
- <key>style6</key>
- <value>1</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>marker6</key>
- <value>-1</value>
+ <key>state_start</key>
+ <value>0</value>
</param>
<param>
- <key>alpha6</key>
- <value>1.0</value>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
</param>
<param>
- <key>label7</key>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>width7</key>
- <value>1</value>
- </param>
- <param>
- <key>color7</key>
- <value>"yellow"</value>
+ <key>_coordinate</key>
+ <value>(1172, 822)</value>
</param>
<param>
- <key>style7</key>
- <value>1</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable_repetition_encoder_def</key>
<param>
- <key>marker7</key>
- <value>-1</value>
+ <key>id</key>
+ <value>enc_rep</value>
</param>
<param>
- <key>alpha7</key>
- <value>1.0</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>label8</key>
- <value></value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>width8</key>
+ <key>ndim</key>
<value>1</value>
</param>
<param>
- <key>color8</key>
- <value>"dark red"</value>
+ <key>dim1</key>
+ <value>1</value>
</param>
<param>
- <key>style8</key>
+ <key>dim2</key>
<value>1</value>
</param>
<param>
- <key>marker8</key>
- <value>-1</value>
+ <key>framebits</key>
+ <value>MTU*8</value>
</param>
<param>
- <key>alpha8</key>
- <value>1.0</value>
+ <key>rep</key>
+ <value>3</value>
</param>
<param>
- <key>label9</key>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>width9</key>
- <value>1</value>
- </param>
- <param>
- <key>color9</key>
- <value>"dark green"</value>
+ <key>_coordinate</key>
+ <value>(874, 869)</value>
</param>
<param>
- <key>style9</key>
- <value>1</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable_repetition_decoder_def</key>
<param>
- <key>marker9</key>
- <value>-1</value>
+ <key>id</key>
+ <value>dec_rep</value>
</param>
<param>
- <key>alpha9</key>
- <value>1.0</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>label10</key>
- <value></value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>width10</key>
+ <key>ndim</key>
<value>1</value>
</param>
<param>
- <key>color10</key>
- <value>"blue"</value>
+ <key>dim1</key>
+ <value>1</value>
</param>
<param>
- <key>style10</key>
+ <key>dim2</key>
<value>1</value>
</param>
<param>
- <key>marker10</key>
- <value>-1</value>
+ <key>framebits</key>
+ <value>MTU*8</value>
</param>
<param>
- <key>alpha10</key>
- <value>1.0</value>
+ <key>rep</key>
+ <value>3</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>prob</key>
+ <value>0.5</value>
</param>
<param>
- <key>affinity</key>
+ <key>alias</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1475, 452)</value>
+ <value>(874, 1011)</value>
</param>
<param>
<key>_rotation</key>
@@ -1192,10 +1080,10 @@
</param>
</block>
<block>
- <key>variable_cc_decoder_def</key>
+ <key>variable_ccsds_decoder_def</key>
<param>
<key>id</key>
- <value>dec_cc</value>
+ <value>dec_ccsds</value>
</param>
<param>
<key>_enabled</key>
@@ -1211,7 +1099,7 @@
</param>
<param>
<key>dim1</key>
- <value>2</value>
+ <value>1</value>
</param>
<param>
<key>dim2</key>
@@ -1219,31 +1107,19 @@
</param>
<param>
<key>framebits</key>
- <value>MTU*8</value>
- </param>
- <param>
- <key>k</key>
- <value>k</value>
- </param>
- <param>
- <key>rate</key>
- <value>rate</value>
- </param>
- <param>
- <key>polys</key>
- <value>polys</value>
+ <value>frame_size*8</value>
</param>
<param>
<key>state_start</key>
<value>0</value>
</param>
<param>
- <key>state_end</key>
+ <key>end_state</key>
<value>-1</value>
</param>
<param>
<key>mode</key>
- <value>fec.CC_TERMINATED</value>
+ <value>fec.CC_STREAMING</value>
</param>
<param>
<key>alias</key>
@@ -1251,7 +1127,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(882, 676)</value>
+ <value>(1171, 988)</value>
</param>
<param>
<key>_rotation</key>
@@ -1278,7 +1154,7 @@
</param>
<param>
<key>dim1</key>
- <value>4</value>
+ <value>1</value>
</param>
<param>
<key>dim2</key>
@@ -1306,7 +1182,7 @@
</param>
<param>
<key>mode</key>
- <value>fec.CC_TERMINATED</value>
+ <value>fec.CC_STREAMING</value>
</param>
<param>
<key>alias</key>
@@ -1314,7 +1190,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(581, 684)</value>
+ <value>(567, 843)</value>
</param>
<param>
<key>_rotation</key>
@@ -1322,10 +1198,10 @@
</param>
</block>
<block>
- <key>variable_repetition_decoder_def</key>
+ <key>variable_cc_decoder_def</key>
<param>
<key>id</key>
- <value>dec_rep</value>
+ <value>dec_cc</value>
</param>
<param>
<key>_enabled</key>
@@ -1345,19 +1221,35 @@
</param>
<param>
<key>dim2</key>
- <value>1</value>
+ <value>4</value>
</param>
<param>
<key>framebits</key>
<value>MTU*8</value>
</param>
<param>
- <key>rep</key>
- <value>3</value>
+ <key>k</key>
+ <value>k</value>
</param>
<param>
- <key>prob</key>
- <value>0.5</value>
+ <key>rate</key>
+ <value>rate</value>
+ </param>
+ <param>
+ <key>polys</key>
+ <value>polys</value>
+ </param>
+ <param>
+ <key>state_start</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>state_end</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
</param>
<param>
<key>alias</key>
@@ -1365,7 +1257,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1215, 765)</value>
+ <value>(563, 1076)</value>
</param>
<param>
<key>_rotation</key>
@@ -1373,46 +1265,50 @@
</param>
</block>
<block>
- <key>variable_repetition_encoder_def</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>enc_rep</value>
+ <value>fec_extended_encoder_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>encoder_list</key>
+ <value>enc_cc</value>
</param>
<param>
- <key>ndim</key>
- <value>1</value>
+ <key>threadtype</key>
+ <value>none</value>
</param>
<param>
- <key>dim1</key>
- <value>1</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>dim2</key>
- <value>1</value>
+ <key>lentagname</key>
+ <value>length_tag</value>
</param>
<param>
- <key>framebits</key>
- <value>MTU*8</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>rep</key>
- <value>3</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
<key>_coordinate</key>
- <value>(1215, 623)</value>
+ <value>(138, 658)</value>
</param>
<param>
<key>_rotation</key>
@@ -1420,22 +1316,38 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>fec_extended_decoder</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_1</value>
+ <value>fec_extended_decoder_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
</param>
<param>
- <key>scale</key>
- <value>1</value>
+ <key>decoder_list</key>
+ <value>dec_ccsds</value>
+ </param>
+ <param>
+ <key>threadtype</key>
+ <value>none</value>
+ </param>
+ <param>
+ <key>ann</key>
+ <value>None</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>length_tag</value>
</param>
<param>
<key>alias</key>
@@ -1455,7 +1367,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1540, 340)</value>
+ <value>(900, 494)</value>
</param>
<param>
<key>_rotation</key>
@@ -1466,7 +1378,7 @@
<key>qtgui_time_sink_x</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0_0</value>
+ <value>qtgui_time_sink_x_0</value>
</param>
<param>
<key>_enabled</key>
@@ -1502,7 +1414,7 @@
</param>
<param>
<key>nconnections</key>
- <value>1</value>
+ <value>2</value>
</param>
<param>
<key>update_time</key>
@@ -1542,7 +1454,7 @@
</param>
<param>
<key>label1</key>
- <value>Input</value>
+ <value></value>
</param>
<param>
<key>width1</key>
@@ -1566,7 +1478,7 @@
</param>
<param>
<key>label2</key>
- <value>CC</value>
+ <value></value>
</param>
<param>
<key>width2</key>
@@ -1790,7 +1702,58 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1812, 287)</value>
+ <value>(1478, 577)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>fec_extended_encoder</key>
+ <param>
+ <key>id</key>
+ <value>fec_extended_encoder_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>encoder_list</key>
+ <value>enc_ccsds</value>
+ </param>
+ <param>
+ <key>threadtype</key>
+ <value>none</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>length_tag</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(138, 505)</value>
</param>
<param>
<key>_rotation</key>
@@ -1810,44 +1773,44 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>digital_map_bb_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1</sink_block_id>
+ <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
+ <sink_block_id>fec_extended_encoder_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_char_to_float_1</source_block_id>
- <sink_block_id>fec_extended_decoder_0_0</sink_block_id>
+ <source_block_id>blocks_unpack_k_bits_bb_0_0</source_block_id>
+ <sink_block_id>blocks_stream_to_tagged_stream_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>fec_extended_decoder_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
+ <source_block_id>blocks_throttle_0</source_block_id>
+ <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>fec_extended_encoder_0</source_block_id>
- <sink_block_id>digital_map_bb_0</sink_block_id>
+ <source_block_id>fec_extended_decoder_0_0_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
- <sink_block_id>fec_extended_encoder_0</sink_block_id>
+ <source_block_id>blocks_char_to_float_1_1</source_block_id>
+ <sink_block_id>fec_extended_decoder_0_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_unpack_k_bits_bb_0_0</source_block_id>
- <sink_block_id>blocks_stream_to_tagged_stream_0_0</sink_block_id>
+ <source_block_id>fec_extended_encoder_0_0</source_block_id>
+ <sink_block_id>digital_map_bb_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_throttle_0</source_block_id>
- <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id>
+ <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
+ <sink_block_id>fec_extended_encoder_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
@@ -1858,8 +1821,38 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_char_to_float_0_1</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
+ <source_block_id>fec_extended_encoder_0</source_block_id>
+ <sink_block_id>digital_map_bb_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_extended_decoder_0_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>blocks_char_to_float_1</source_block_id>
+ <sink_block_id>fec_extended_decoder_0_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>digital_map_bb_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>blocks_char_to_float_1_0_0</source_block_id>
+ <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>1</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>digital_map_bb_0_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1_1</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
diff --git a/gr-fec/examples/fecapi_tagged_encoders.grc b/gr-fec/examples/fecapi_tagged_encoders.grc
index 649df7d007..0af3d84b03 100644
--- a/gr-fec/examples/fecapi_tagged_encoders.grc
+++ b/gr-fec/examples/fecapi_tagged_encoders.grc
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Mon May 12 15:18:11 2014</timestamp>
+ <timestamp>Tue May 13 16:20:56 2014</timestamp>
<block>
<key>options</key>
<param>
@@ -556,10 +556,421 @@
</param>
</block>
<block>
+ <key>blocks_char_to_float</key>
+ <param>
+ <key>id</key>
+ <value>blocks_char_to_float_1</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>scale</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(881, 525)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>blocks_ctrlport_monitor_performance</key>
+ <param>
+ <key>id</key>
+ <value>blocks_ctrlport_monitor_performance_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>en</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(651, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>frame_size</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Frame Size</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>30</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>intx</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value></value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(483, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>blocks_stream_to_tagged_stream</key>
+ <param>
+ <key>id</key>
+ <value>blocks_stream_to_tagged_stream_0_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>byte</value>
+ </param>
+ <param>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>packet_len</key>
+ <value>frame_size*8</value>
+ </param>
+ <param>
+ <key>len_tag_key</key>
+ <value>length_tag</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(158, 515)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_dummy_encoder_def</key>
+ <param>
+ <key>id</key>
+ <value>enc_dummy</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>MTU*8</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1209, 693)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_cc_encoder_def</key>
+ <param>
+ <key>id</key>
+ <value>enc_cc</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>MTU*8</value>
+ </param>
+ <param>
+ <key>k</key>
+ <value>k</value>
+ </param>
+ <param>
+ <key>rate</key>
+ <value>rate</value>
+ </param>
+ <param>
+ <key>polys</key>
+ <value>polys</value>
+ </param>
+ <param>
+ <key>state_start</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>mode</key>
+ <value>fec.CC_TERMINATED</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(618, 691)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_ccsds_encoder_def</key>
+ <param>
+ <key>id</key>
+ <value>enc_ccsds</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>4</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>MTU*8</value>
+ </param>
+ <param>
+ <key>state_start</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>mode</key>
+ <value>fec.CC_TERMINATED</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(909, 693)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>fec_extended_encoder</key>
+ <param>
+ <key>id</key>
+ <value>fec_extended_encoder_0_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>encoder_list</key>
+ <value>enc_ccsds</value>
+ </param>
+ <param>
+ <key>threadtype</key>
+ <value>none</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>length_tag</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(542, 364)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>blocks_char_to_float</key>
+ <param>
+ <key>id</key>
+ <value>blocks_char_to_float_1_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>scale</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(881, 395)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
<key>qtgui_time_sink_x</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0_0_0</value>
+ <value>qtgui_time_sink_x_0_0</value>
</param>
<param>
<key>_enabled</key>
@@ -883,7 +1294,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1106, 494)</value>
+ <value>(1112, 364)</value>
</param>
<param>
<key>_rotation</key>
@@ -894,7 +1305,7 @@
<key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_1</value>
+ <value>blocks_char_to_float_1_0_0</value>
</param>
<param>
<key>_enabled</key>
@@ -926,73 +1337,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(881, 525)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_ctrlport_monitor_performance</key>
- <param>
- <key>id</key>
- <value>blocks_ctrlport_monitor_performance_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>False</value>
- </param>
- <param>
- <key>en</key>
- <value>True</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(651, 10)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>frame_size</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>Frame Size</value>
- </param>
- <param>
- <key>value</key>
- <value>30</value>
- </param>
- <param>
- <key>type</key>
- <value>intx</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(483, 10)</value>
+ <value>(880, 262)</value>
</param>
<param>
<key>_rotation</key>
@@ -1000,85 +1345,30 @@
</param>
</block>
<block>
- <key>variable_cc_encoder_def</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>enc_cc</value>
+ <value>fec_extended_encoder_0_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>1</value>
- </param>
- <param>
- <key>dim1</key>
- <value>2</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>MTU*8</value>
- </param>
- <param>
- <key>k</key>
- <value>k</value>
- </param>
- <param>
- <key>rate</key>
- <value>rate</value>
- </param>
- <param>
- <key>polys</key>
- <value>polys</value>
- </param>
- <param>
- <key>state_start</key>
- <value>0</value>
- </param>
- <param>
- <key>mode</key>
- <value>fec.CC_TERMINATED</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(621, 691)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_char_to_float</key>
- <param>
- <key>id</key>
- <value>blocks_char_to_float_1_0</value>
+ <key>encoder_list</key>
+ <value>enc_dummy</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>threadtype</key>
+ <value>none</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>scale</key>
- <value>1</value>
+ <key>lentagname</key>
+ <value>length_tag</value>
</param>
<param>
<key>alias</key>
@@ -1098,7 +1388,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(880, 370)</value>
+ <value>(541, 231)</value>
</param>
<param>
<key>_rotation</key>
@@ -1109,7 +1399,7 @@
<key>qtgui_time_sink_x</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0_0</value>
+ <value>qtgui_time_sink_x_0_0_1</value>
</param>
<param>
<key>_enabled</key>
@@ -1433,203 +1723,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1111, 339)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>fec_extended_encoder</key>
- <param>
- <key>id</key>
- <value>fec_extended_encoder_0_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>encoder_list</key>
- <value>enc_ccsds</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>none</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
- </param>
- <param>
- <key>lentagname</key>
- <value>length_tag</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(541, 339)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_stream_to_tagged_stream</key>
- <param>
- <key>id</key>
- <value>blocks_stream_to_tagged_stream_0_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>packet_len</key>
- <value>frame_size*8</value>
- </param>
- <param>
- <key>len_tag_key</key>
- <value>length_tag</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(158, 515)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable_ccsds_encoder_def</key>
- <param>
- <key>id</key>
- <value>enc_ccsds</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>1</value>
- </param>
- <param>
- <key>dim1</key>
- <value>2</value>
- </param>
- <param>
- <key>dim2</key>
- <value>4</value>
- </param>
- <param>
- <key>framebits</key>
- <value>MTU*8</value>
- </param>
- <param>
- <key>state_start</key>
- <value>0</value>
- </param>
- <param>
- <key>mode</key>
- <value>fec.CC_TERMINATED</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(909, 693)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable_dummy_encoder_def</key>
- <param>
- <key>id</key>
- <value>enc_dummy</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>1</value>
- </param>
- <param>
- <key>dim1</key>
- <value>1</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>MTU*8</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(1209, 693)</value>
+ <value>(1111, 231)</value>
</param>
<param>
<key>_rotation</key>
@@ -1640,7 +1734,7 @@
<key>qtgui_time_sink_x</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0_0_1</value>
+ <value>qtgui_time_sink_x_0_0_0</value>
</param>
<param>
<key>_enabled</key>
@@ -1964,101 +2058,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1114, 206)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_char_to_float</key>
- <param>
- <key>id</key>
- <value>blocks_char_to_float_1_0_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>scale</key>
- <value>1</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(883, 237)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>fec_extended_encoder</key>
- <param>
- <key>id</key>
- <value>fec_extended_encoder_0_0_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>encoder_list</key>
- <value>enc_dummy</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>none</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
- </param>
- <param>
- <key>lentagname</key>
- <value>length_tag</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(544, 206)</value>
+ <value>(1112, 494)</value>
</param>
<param>
<key>_rotation</key>
@@ -2072,12 +2072,6 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
- <sink_block_id>fec_extended_encoder_0_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
<source_block_id>fec_extended_encoder_0</source_block_id>
<sink_block_id>blocks_char_to_float_1</sink_block_id>
<source_key>0</source_key>
@@ -2114,14 +2108,14 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_char_to_float_1_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
+ <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
+ <sink_block_id>fec_extended_encoder_0_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>fec_extended_encoder_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
+ <source_block_id>fec_extended_encoder_0_0_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
@@ -2132,14 +2126,20 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>fec_extended_encoder_0_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1_0_0</sink_block_id>
+ <source_block_id>fec_extended_encoder_0_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>blocks_char_to_float_1_0</source_block_id>
+ <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
- <sink_block_id>fec_extended_encoder_0_0_0</sink_block_id>
+ <sink_block_id>fec_extended_encoder_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
diff --git a/gr-fec/grc/fec_bercurve_generator.xml b/gr-fec/grc/fec_bercurve_generator.xml
index d10a88600b..4d0d47e15b 100644
--- a/gr-fec/grc/fec_bercurve_generator.xml
+++ b/gr-fec/grc/fec_bercurve_generator.xml
@@ -14,45 +14,74 @@
$decoder_list, \#name
$esno, \#range of esnos
$samp_rate, \#throttle
- $puncpat \#puncture pattern
+ $threadtype, \#threading mode
+ $puncpat, \#puncture pattern
+ $seed \# noise gen. seed
)
</make>
<param>
- <name>esno</name>
+ <name>Es/N0</name>
<key>esno</key>
<value>numpy.arange(0.0, 4.0, .5)</value>
<type>raw</type>
</param>
<param>
- <name>samp_rate</name>
+ <name>Sample Rate</name>
<key>samp_rate</key>
<value>3200000</value>
- <type>raw</type>
+ <type>float</type>
</param>
<param>
- <name>encoder_list</name>
+ <name>Encoder list</name>
<key>encoder_list</key>
<value>0</value>
<type>raw</type>
</param>
<param>
- <name>decoder_list</name>
+ <name>Decoder list</name>
<key>decoder_list</key>
<value>0</value>
<type>raw</type>
</param>
<param>
- <name>puncpat</name>
+ <name>Puncture Pat.</name>
<key>puncpat</key>
<value>'11'</value>
<type>string</type>
</param>
+ <param>
+ <name>Threading Type</name>
+ <key>threadtype</key>
+ <type>enum</type>
+ <hide>part</hide>
+ <option>
+ <name>Capillary</name>
+ <key>"capillary"</key>
+ </option>
+ <option>
+ <name>Ordinary</name>
+ <key>"ordinary"</key>
+ </option>
+ <option>
+ <name>None</name>
+ <key>"none"</key>
+ </option>
+ </param>
+
+ <param>
+ <name>Noise Seed</name>
+ <key>seed</key>
+ <value>0</value>
+ <type>int</type>
+ <hide>part</hide>
+ </param>
+
<bus_source>1</bus_source>
<source>
@@ -62,8 +91,5 @@
</source>
<doc>
- The GUI hint can be used to position the widget within the application. \
- The hint is of the form [tab_id@tab_index]: [row, col, row_span, col_span]. \
- Both the tab specification and the grid position are optional.
</doc>
</block>
diff --git a/gr-fec/grc/fec_block_tree.xml b/gr-fec/grc/fec_block_tree.xml
index 7eabe03d60..88282104b4 100644
--- a/gr-fec/grc/fec_block_tree.xml
+++ b/gr-fec/grc/fec_block_tree.xml
@@ -11,7 +11,6 @@
<cat>
<name>Decoders</name>
<block>variable_cc_decoder_def</block>
- <block>variable_ccsds_decoder_def</block>
<block>variable_repetition_decoder_def</block>
<block>variable_dummy_decoder_def</block>
</cat>
diff --git a/gr-fec/grc/variable_cc_decoder_def_list.xml b/gr-fec/grc/variable_cc_decoder_def_list.xml
index 1e17468805..37e5cb65dc 100644
--- a/gr-fec/grc/variable_cc_decoder_def_list.xml
+++ b/gr-fec/grc/variable_cc_decoder_def_list.xml
@@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.cc_decoder.make($frame
</param>
<param>
- <name>Threading Dimensions</name>
+ <name>Parallelism</name>
<key>ndim</key>
<value></value>
<type>enum</type>
diff --git a/gr-fec/grc/variable_cc_encoder_def_list.xml b/gr-fec/grc/variable_cc_encoder_def_list.xml
index 6b20401b47..7e56cf11a1 100644
--- a/gr-fec/grc/variable_cc_encoder_def_list.xml
+++ b/gr-fec/grc/variable_cc_encoder_def_list.xml
@@ -25,25 +25,24 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.cc_encoder_make($frame
</param>
<param>
- <name>Threading Dimensions</name>
+ <name>Parallelism</name>
<key>ndim</key>
<value></value>
<type>enum</type>
<option>
- <name>2</name>
- <key>2</key>
- </option>
- <option>
<name>1</name>
<key>1</key>
</option>
-
+ <option>
+ <name>2</name>
+ <key>2</key>
+ </option>
</param>
<param>
<name>Dimension 1</name>
<key>dim1</key>
- <value>4</value>
+ <value>1</value>
<type>int</type>
<hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide>
</param>
@@ -51,7 +50,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.cc_encoder_make($frame
<param>
<name>Dimension 2</name>
<key>dim2</key>
- <value>4</value>
+ <value>1</value>
<type>int</type>
<hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide>
</param>
diff --git a/gr-fec/grc/variable_ccsds_decoder_def_list.xml b/gr-fec/grc/variable_ccsds_decoder_def_list.xml
deleted file mode 100644
index 1017a81725..0000000000
--- a/gr-fec/grc/variable_ccsds_decoder_def_list.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-# FEC CCSDS Decoder
-###################################################
- -->
-<block>
- <name>CCSDS Decoder Definition</name>
- <key>variable_ccsds_decoder_def</key>
- <import>from gnuradio import fec</import>
- <var_make>
-#if int($ndim())==1 #
-self.$(id) = $(id) = map( (lambda a: fec.ccsds_decoder.make($framebits, $state_start, $end_state, $mode)), range(0,$dim1) ); #slurp
-#else
-self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.ccsds_decoder.make($framebits, $state_start, $end_state, $mode)), range(0,$dim2) ) ), range(0,$dim1)); #slurp
-#end if</var_make>
- <make></make>
-
- <param>
- <name>Ignore Me</name>
- <key>value</key>
- <value>"ok"</value>
- <type>raw</type>
- <hide>all</hide>
- </param>
-
- <param>
- <name>Threading Dimensions</name>
- <key>ndim</key>
- <value></value>
- <type>enum</type>
- <option>
- <name>2</name>
- <key>2</key>
- </option>
- <option>
- <name>1</name>
- <key>1</key>
- </option>
-
- </param>
-
- <param>
- <name>Dimension 1</name>
- <key>dim1</key>
- <value>4</value>
- <type>int</type>
- <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide>
- </param>
-
- <param>
- <name>Dimension 2</name>
- <key>dim2</key>
- <value>4</value>
- <type>int</type>
- <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide>
- </param>
-
- <param>
- <name>Frame Bits</name>
- <key>framebits</key>
- <value>2048</value>
- <type>int</type>
- </param>
-
- <param>
- <name>Start State</name>
- <key>state_start</key>
- <value>0</value>
- <type>int</type>
- </param>
-
- <param>
- <name>End State</name>
- <key>end_state</key>
- <value>-1</value>
- <type>int</type>
- </param>
-
- <param>
- <name>Streaming Behavior</name>
- <key>mode</key>
- <value></value>
- <type>enum</type>
- <option>
- <name>Streaming</name>
- <key>fec.CC_STREAMING</key>
- </option>
- </param>
-
- <doc>
- </doc>
-</block>
diff --git a/gr-fec/grc/variable_ccsds_encoder_def_list.xml b/gr-fec/grc/variable_ccsds_encoder_def_list.xml
index 72623a6410..8a9fde8a6e 100644
--- a/gr-fec/grc/variable_ccsds_encoder_def_list.xml
+++ b/gr-fec/grc/variable_ccsds_encoder_def_list.xml
@@ -25,25 +25,24 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.ccsds_encoder_make($fr
</param>
<param>
- <name>Threading Dimensions</name>
+ <name>Parallelism</name>
<key>ndim</key>
<value></value>
<type>enum</type>
<option>
- <name>2</name>
- <key>2</key>
- </option>
- <option>
<name>1</name>
<key>1</key>
</option>
-
+ <option>
+ <name>2</name>
+ <key>2</key>
+ </option>
</param>
<param>
<name>Dimension 1</name>
<key>dim1</key>
- <value>4</value>
+ <value>1</value>
<type>int</type>
<hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide>
</param>
@@ -51,7 +50,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.ccsds_encoder_make($fr
<param>
<name>Dimension 2</name>
<key>dim2</key>
- <value>4</value>
+ <value>1</value>
<type>int</type>
<hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide>
</param>
diff --git a/gr-fec/grc/variable_dummy_decoder_def_list.xml b/gr-fec/grc/variable_dummy_decoder_def_list.xml
index 2756b585e5..f89a42b50c 100644
--- a/gr-fec/grc/variable_dummy_decoder_def_list.xml
+++ b/gr-fec/grc/variable_dummy_decoder_def_list.xml
@@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.dummy_decoder.make($fr
</param>
<param>
- <name>Threading Dimensions</name>
+ <name>Parallelism</name>
<key>ndim</key>
<value></value>
<type>enum</type>
diff --git a/gr-fec/grc/variable_dummy_encoder_def_list.xml b/gr-fec/grc/variable_dummy_encoder_def_list.xml
index b599d336c2..ca59c0799c 100644
--- a/gr-fec/grc/variable_dummy_encoder_def_list.xml
+++ b/gr-fec/grc/variable_dummy_encoder_def_list.xml
@@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.dummy_encoder_make($fr
</param>
<param>
- <name>Threading Dimensions</name>
+ <name>Parallelism</name>
<key>ndim</key>
<value></value>
<type>enum</type>
diff --git a/gr-fec/grc/variable_repetition_decoder_def_list.xml b/gr-fec/grc/variable_repetition_decoder_def_list.xml
index 162b01d317..1e94f265b2 100644
--- a/gr-fec/grc/variable_repetition_decoder_def_list.xml
+++ b/gr-fec/grc/variable_repetition_decoder_def_list.xml
@@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.repetition_decoder.mak
</param>
<param>
- <name>Threading Dimensions</name>
+ <name>Parallelism</name>
<key>ndim</key>
<value></value>
<type>enum</type>
diff --git a/gr-fec/grc/variable_repetition_encoder_def_list.xml b/gr-fec/grc/variable_repetition_encoder_def_list.xml
index 615d2b88f4..f5d877f838 100644
--- a/gr-fec/grc/variable_repetition_encoder_def_list.xml
+++ b/gr-fec/grc/variable_repetition_encoder_def_list.xml
@@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.repetition_encoder_mak
</param>
<param>
- <name>Threading Dimensions</name>
+ <name>Parallelism</name>
<key>ndim</key>
<value></value>
<type>enum</type>
diff --git a/gr-fec/include/gnuradio/fec/CMakeLists.txt b/gr-fec/include/gnuradio/fec/CMakeLists.txt
index 0935b736d8..4d3b58a7f0 100644
--- a/gr-fec/include/gnuradio/fec/CMakeLists.txt
+++ b/gr-fec/include/gnuradio/fec/CMakeLists.txt
@@ -84,7 +84,6 @@ install(FILES
tagged_encoder.h
cc_decoder.h
cc_encoder.h
- ccsds_decoder.h
ccsds_encoder.h
dummy_encoder.h
dummy_decoder.h
diff --git a/gr-fec/include/gnuradio/fec/cc_decoder.h b/gr-fec/include/gnuradio/fec/cc_decoder.h
index 11f21123ba..8aad32846a 100644
--- a/gr-fec/include/gnuradio/fec/cc_decoder.h
+++ b/gr-fec/include/gnuradio/fec/cc_decoder.h
@@ -53,21 +53,12 @@ namespace gr {
* \li polynomials = [109, 79]
*
* This is the well-known convolutional part of the Voyager code
- * implemented in the CCSDS encoder. See
- * gr::fec::code::ccsds_decoder for another variation on this
- * block.
+ * implemented in the CCSDS encoder.
*
- * Currently, in profiling tests run, the VOLK-accelerated
- * Viterbi code used in this block specific to the CCSDS code
- * runs faster than the ccsds_decoder version. Furthenr, due to
- * I/O issues, the ccsds_decoder does not fully handle all
- * streaming behaviors, only 'Streaming' mode. This block
- * enables all four streaming modes.
- *
- * The intent of having both FECAPI code classes is to
- * eventually allow this block to take on generic settings, much
- * like the cc_encoder class. The ccsds_decoder would then
- * handle this specific code case as optimized as possible.
+ * The intent of having this FECAPI code classes fully
+ * parameterizable is to eventually allow it to take on generic
+ * settings, much like the cc_encoder class where the CCSDS
+ * settings would be a highly-optimized version of this.
*
* The encoder is set up wtih a number of bits per frame in the
* constructor. When not being used in a tagged stream mode,
diff --git a/gr-fec/include/gnuradio/fec/ccsds_decoder.h b/gr-fec/include/gnuradio/fec/ccsds_decoder.h
deleted file mode 100644
index 84212b4021..0000000000
--- a/gr-fec/include/gnuradio/fec/ccsds_decoder.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2014 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef INCLUDED_FEC_CCSDS_DECODER_H
-#define INCLUDED_FEC_CCSDS_DECODER_H
-
-#include <gnuradio/fec/api.h>
-#include <gnuradio/fec/generic_decoder.h>
-#include <gnuradio/fec/cc_common.h>
-#include <map>
-#include <string>
-
-namespace gr {
- namespace fec {
- namespace code {
-
- /*!
- * \brief Convolutional Code Decoding class.
- * \ingroup error_coding_blk
- *
- * \details
- * This class performs convolutional decoding via the Viterbi
- * algorithm specific to the CCSDS code:
- *
- * \li K = 7
- * \li rate = 1/2
- * \li polynomials = [109, 79]
- *
- * This is the well-known convolutional part of the Voyager
- * code. See the discussion in gr::fec::code::cc_decoder for
- * the current state of convolutional decoding.
- *
- * Currently, this block is transitional and only implements
- * parts of the FECAPI.
- *
- * The encoder is set up wtih a number of bits per frame in the
- * constructor. When not being used in a tagged stream mode,
- * this encoder will only process frames of the length provided
- * here. If used in a tagged stream block, this setting becomes
- * the maximum allowable frame size that the block may process.
- */
- class FEC_API ccsds_decoder : virtual public generic_decoder
- {
- public:
-
- /*!
- * Build a convolutional code decoding FECAPI object.
- *
- * \param frame_size Number of bits per frame. If using in the
- * tagged stream style, this is the maximum allowable
- * number of bits per frame.
- * \param start_state Initialization state of the shift register.
- * \param end_state Ending state of the shift register.
- * \param mode cc_mode_t mode of the encoding.
- */
- static generic_decoder::sptr make
- (int frame_size,
- int start_state=0, int end_state=-1,
- cc_mode_t mode=CC_STREAMING);
-
- /*!
- * Sets the uncoded frame size to \p frame_size. If \p
- * frame_size is greater than the value given to the
- * constructor, the frame size will be capped by that initial
- * value and this function will return false. Otherwise, it
- * returns true.
- */
- virtual bool set_frame_size(unsigned int frame_size) = 0;
-
- /*!
- * Returns the coding rate of this encoder.
- */
- virtual double rate() = 0;
- };
-
- } /* namespace code */
- } /* namespace fec */
-} /* namespace gr */
-
-#endif /* INCLUDED_FEC_CCSDS_DECODER_H */
diff --git a/gr-fec/lib/CMakeLists.txt b/gr-fec/lib/CMakeLists.txt
index abd0769150..42940be4c4 100644
--- a/gr-fec/lib/CMakeLists.txt
+++ b/gr-fec/lib/CMakeLists.txt
@@ -57,7 +57,6 @@ list(APPEND gnuradio_fec_sources
tagged_encoder_impl.cc
cc_decoder_impl.cc
cc_encoder_impl.cc
- ccsds_decoder_impl.cc
ccsds_encoder_impl.cc
dummy_decoder_impl.cc
dummy_encoder_impl.cc
diff --git a/gr-fec/lib/ccsds_decoder_impl.cc b/gr-fec/lib/ccsds_decoder_impl.cc
deleted file mode 100644
index a68d027e57..0000000000
--- a/gr-fec/lib/ccsds_decoder_impl.cc
+++ /dev/null
@@ -1,192 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2013-2014 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "ccsds_decoder_impl.h"
-#include <math.h>
-#include <boost/assign/list_of.hpp>
-#include <volk/volk.h>
-#include <sstream>
-#include <vector>
-#include <iostream>
-
-namespace gr {
- namespace fec {
- namespace code {
-
- generic_decoder::sptr
- ccsds_decoder::make(int frame_size,
- int start_state, int end_state,
- cc_mode_t mode)
- {
- return generic_decoder::sptr
- (new ccsds_decoder_impl(frame_size, start_state, end_state, mode));
- }
-
- ccsds_decoder_impl::ccsds_decoder_impl(int frame_size,
- int start_state, int end_state,
- cc_mode_t mode)
- : generic_decoder("ccsds_decoder"),
- d_count(0), d_frame_size(frame_size),
- d_mode(mode),
- d_start_state_chaining(start_state),
- d_start_state_nonchaining(start_state),
- d_end_state_nonchaining(end_state)
- {
- // Set max frame size here; all buffers and settings will be
- // based on this value.
- d_max_frame_size = frame_size;
- set_frame_size(frame_size);
-
- float RATE = 0.5;
- float ebn0 = 12.0;
- float esn0 = RATE*pow(10.0, ebn0/10.0);
-
- gen_met(d_mettab, 100, esn0, 0.0, 4);
- viterbi_chunks_init(d_state0);
- viterbi_chunks_init(d_state1);
- }
-
- ccsds_decoder_impl::~ccsds_decoder_impl()
- {
- }
-
- int
- ccsds_decoder_impl::get_output_size()
- {
- // packed bits
- return d_frame_size/8;
- }
-
- int
- ccsds_decoder_impl::get_input_size()
- {
- if(d_mode == CC_TERMINATED) {
- return 2*(d_frame_size + 7 - 1);
- }
- else {
- return 2*d_frame_size;
- }
- }
-
- int
- ccsds_decoder_impl::get_input_item_size()
- {
- return sizeof(float);
- }
-
- int
- ccsds_decoder_impl::get_history()
- {
- if(d_mode == CC_STREAMING) {
- return 2*(7 - 1);
- }
- else {
- return 0;
- }
- }
-
- float
- ccsds_decoder_impl::get_shift()
- {
- return 0.0;
- }
-
- const char*
- ccsds_decoder_impl::get_input_conversion()
- {
- return "none";
- }
-
- const char*
- ccsds_decoder_impl::get_output_conversion()
- {
- return "unpack";
- }
-
- bool
- ccsds_decoder_impl::set_frame_size(unsigned int frame_size)
- {
- bool ret = true;
- if(frame_size > d_max_frame_size) {
- GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max possible is %2%") \
- % frame_size % d_max_frame_size);
- frame_size = d_max_frame_size;
- ret = false;
- }
-
- d_frame_size = frame_size;
-
- return ret;
- }
-
- double
- ccsds_decoder_impl::rate()
- {
- return 0.5;
- }
-
- void
- ccsds_decoder_impl::generic_work(void *inbuffer, void *outbuffer)
- {
- const float *in = (const float*)inbuffer;
- unsigned char *out = (unsigned char*)outbuffer;
-
- switch(d_mode) {
-
- case(CC_STREAMING):
- for(unsigned int i = 0; i < d_frame_size*2; i++) {
- // Translate and clip [-1.0..1.0] to [28..228]
- float sample = in[i]*100.0+128.0;
- if(sample > 255.0)
- sample = 255.0;
- else if(sample < 0.0)
- sample = 0.0;
-
- d_viterbi_in[d_count % 4] = (unsigned char)(floorf(sample));
- if((d_count % 4) == 3) {
- // Every fourth symbol, perform butterfly operation
- viterbi_butterfly2(d_viterbi_in, d_mettab, d_state0, d_state1);
-
- // Every sixteenth symbol, read out a byte
- if(d_count % 16 == 11) {
- unsigned char tmp;
- viterbi_get_output(d_state0, out++);
- viterbi_get_output(d_state0, &tmp);
- }
- }
-
- d_count++;
- }
- break;
-
- default:
- throw std::runtime_error("ccsds_decoder: mode not recognized");
- }
- }
-
- } /* namespace code */
- } /* namespace fec */
-} /* namespace gr */
diff --git a/gr-fec/lib/ccsds_decoder_impl.h b/gr-fec/lib/ccsds_decoder_impl.h
deleted file mode 100644
index 26ccec48c7..0000000000
--- a/gr-fec/lib/ccsds_decoder_impl.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2013-2014 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef INCLUDED_FEC_CCSDS_DECODER_IMPL_H
-#define INCLUDED_FEC_CCSDS_DECODER_IMPL_H
-
-#include <map>
-#include <string>
-#include <gnuradio/fec/ccsds_decoder.h>
-
-extern "C" {
-#include <gnuradio/fec/viterbi.h>
-}
-
-namespace gr {
- namespace fec {
- namespace code {
-
- class FEC_API ccsds_decoder_impl : public ccsds_decoder
- {
- private:
- //plug into the generic FECAPI
- void generic_work(void *inbuffer, void *outbuffer);
- int get_output_size();
- int get_input_size();
- int get_history();
- float get_shift();
- int get_input_item_size();
- const char* get_input_conversion();
- const char* get_output_conversion();
-
- // Viterbi state
- int d_mettab[2][256];
- struct viterbi_state d_state0[64];
- struct viterbi_state d_state1[64];
- unsigned char d_viterbi_in[16];
- int d_count;
-
- unsigned int d_max_frame_size;
- unsigned int d_frame_size;
- cc_mode_t d_mode;
-
- int *d_start_state;
- int d_start_state_chaining;
- int d_start_state_nonchaining;
- int *d_end_state;
- int d_end_state_chaining;
- int d_end_state_nonchaining;
-
- public:
- ccsds_decoder_impl(int frame_size,
- int start_state=0, int end_state=-1,
- cc_mode_t mode=CC_STREAMING);
- ~ccsds_decoder_impl();
-
- bool set_frame_size(unsigned int frame_size);
- double rate();
- };
-
- } /* namespace code */
- } /* namespace fec */
-} /* namespace gr */
-
-#endif /* INCLUDED_FEC_CCSDS_DECODER_IMPL_H */
diff --git a/gr-fec/lib/decoder_impl.cc b/gr-fec/lib/decoder_impl.cc
index dfc0842031..ba8a7d000e 100644
--- a/gr-fec/lib/decoder_impl.cc
+++ b/gr-fec/lib/decoder_impl.cc
@@ -50,7 +50,6 @@ namespace gr {
{
set_fixed_rate(true);
set_relative_rate((double)(my_decoder->get_output_size())/my_decoder->get_input_size());
- GR_LOG_DEBUG(d_debug_logger, boost::format("relative_rate: %1%") % relative_rate());
//want to guarantee you have enough to run at least one time...
//remember! this is not a sync block... set_output_multiple does not
@@ -58,7 +57,6 @@ namespace gr {
//outputs (hence inputs) are made available... this is WEIRD to do in
//GNU Radio, and the algorithm is sensitive to this value
set_output_multiple(my_decoder->get_output_size() + (my_decoder->get_history()));
- d_inbuf = buf_sptr(new unsigned char[(my_decoder->get_input_size() + my_decoder->get_history())*input_item_size]);
d_decoder = my_decoder;
}
@@ -101,11 +99,7 @@ namespace gr {
% outnum % ninput_items[0] % items);
for(int i = 0; i < items; ++i) {
- memcpy((void *)d_inbuf.get(),
- in+(i*(d_decoder->get_input_size()) * d_input_item_size),
- (d_decoder->get_input_size() + d_decoder->get_history()) * d_input_item_size);
-
- d_decoder->generic_work((void*)d_inbuf.get(),
+ d_decoder->generic_work((void*)(in+(i*d_decoder->get_input_size()*d_input_item_size)),
(void*)(out+(i*d_decoder->get_output_size()*d_output_item_size)));
add_item_tag(0, nitems_written(0) + ((i+1)*d_decoder->get_output_size()*d_output_item_size),
diff --git a/gr-fec/lib/decoder_impl.h b/gr-fec/lib/decoder_impl.h
index 92cc537102..78b1b926b5 100644
--- a/gr-fec/lib/decoder_impl.h
+++ b/gr-fec/lib/decoder_impl.h
@@ -34,7 +34,6 @@ namespace gr {
generic_decoder::sptr d_decoder;
size_t d_input_item_size;
size_t d_output_item_size;
- buf_sptr d_inbuf;
public:
decoder_impl(generic_decoder::sptr my_decoder,
diff --git a/gr-fec/python/fec/bercurve_generator.py b/gr-fec/python/fec/bercurve_generator.py
index ee51493152..e67d1e17c2 100644
--- a/gr-fec/python/fec/bercurve_generator.py
+++ b/gr-fec/python/fec/bercurve_generator.py
@@ -28,7 +28,7 @@ from fec_test import fec_test
class bercurve_generator(gr.hier_block2):
def __init__(self, encoder_list, decoder_list, esno=numpy.arange(0.0, 3.0, .25),
- samp_rate=3200000, threading='capillary', puncpat='11'):
+ samp_rate=3200000, threading='capillary', puncpat='11', seed=0):
gr.hier_block2.__init__(
self, "ber_curve_generator",
gr.io_signature(0, 0, 0),
@@ -51,7 +51,8 @@ class bercurve_generator(gr.hier_block2):
esno=esno[i],
samp_rate=samp_rate,
threading=threading,
- puncpat=puncpat)
+ puncpat=puncpat,
+ seed=seed)
self.ber_generators.append(ber_generator_temp);
for i in range(0, len(esno)):
diff --git a/gr-fec/python/fec/extended_decoder.py b/gr-fec/python/fec/extended_decoder.py
index 17c9810013..072adcde07 100644
--- a/gr-fec/python/fec/extended_decoder.py
+++ b/gr-fec/python/fec/extended_decoder.py
@@ -86,10 +86,18 @@ class extended_decoder(gr.hier_block2):
self.puncpat=puncpat
self.flush=flush
+ if(type(decoder_obj_list[0]) == list):
+ gr.log.info("fec.extended_decoder: Parallelism must be 1.")
+ raise AttributeError
+
if type(lentagname) == str:
if(lentagname.lower() == 'none'):
lentagname = None
+ if lentagname and threading:
+ gr.log.info("fec.extended_decoder: Cannot use threading with tagged_stream mode.")
+ raise AttributeError
+
message_collector_connected=False
##anything going through the annihilator needs shifted, uchar vals
diff --git a/gr-fec/python/fec/extended_encoder.py b/gr-fec/python/fec/extended_encoder.py
index 01b9e09f2e..f511b53a2b 100644
--- a/gr-fec/python/fec/extended_encoder.py
+++ b/gr-fec/python/fec/extended_encoder.py
@@ -37,10 +37,18 @@ class extended_encoder(gr.hier_block2):
self.blocks=[]
self.puncpat=puncpat
+ if(type(encoder_obj_list[0]) == list):
+ gr.log.info("fec.extended_encoder: Parallelism must be 1.")
+ raise AttributeError
+
if type(lentagname) == str:
if(lentagname.lower() == 'none'):
lentagname = None
+ if lentagname and threading:
+ gr.log.info("fec.extended_decoder: Cannot use threading with tagged_stream mode.")
+ raise AttributeError
+
if fec.get_encoder_input_conversion(encoder_obj_list[0]) == "pack":
self.blocks.append(blocks.pack_k_bits_bb(8))
diff --git a/gr-fec/python/fec/fec_test.py b/gr-fec/python/fec/fec_test.py
index cacbb35f5e..0a7524af74 100644
--- a/gr-fec/python/fec/fec_test.py
+++ b/gr-fec/python/fec/fec_test.py
@@ -30,11 +30,11 @@ from extended_decoder import extended_decoder
class fec_test(gr.hier_block2):
def __init__(self, generic_encoder=0, generic_decoder=0, esno=0,
- samp_rate=3200000, threading="capillary", puncpat='11'):
- gr.hier_block2.__init__(
- self, "fec_test",
- gr.io_signature(1, 1, gr.sizeof_char*1),
- gr.io_signature(2, 2, gr.sizeof_char*1))
+ samp_rate=3200000, threading="capillary", puncpat='11',
+ seed=0):
+ gr.hier_block2.__init__(self, "fec_test",
+ gr.io_signature(1, 1, gr.sizeof_char*1),
+ gr.io_signature(2, 2, gr.sizeof_char*1))
self.generic_encoder = generic_encoder
self.generic_decoder = generic_decoder
@@ -50,16 +50,17 @@ class fec_test(gr.hier_block2):
self.pack8 = blocks.pack_k_bits_bb(8)
self.encoder = extended_encoder(encoder_obj_list=generic_encoder,
- threading='capillary',
+ threading=threading,
puncpat=puncpat)
self.decoder = extended_decoder(decoder_obj_list=generic_decoder,
- threading='capillary',
+ threading=threading,
ann=None, puncpat=puncpat,
integration_period=10000, rotator=None)
noise = math.sqrt((10.0**(-esno/10.0))/2.0)
- self.fastnoise = analog.fastnoise_source_f(analog.GR_GAUSSIAN, noise, 0, 8192)
+ #self.fastnoise = analog.fastnoise_source_f(analog.GR_GAUSSIAN, noise, seed, 8192)
+ self.fastnoise = analog.noise_source_f(analog.GR_GAUSSIAN, noise, seed)
self.addnoise = blocks.add_ff(1)
# Send packed input directly to the second output
diff --git a/gr-fec/swig/fec_swig.i b/gr-fec/swig/fec_swig.i
index 54924a197e..051896c942 100644
--- a/gr-fec/swig/fec_swig.i
+++ b/gr-fec/swig/fec_swig.i
@@ -44,7 +44,6 @@
#include "gnuradio/fec/tagged_encoder.h"
#include "gnuradio/fec/cc_decoder.h"
#include "gnuradio/fec/cc_encoder.h"
-#include "gnuradio/fec/ccsds_decoder.h"
#include "gnuradio/fec/ccsds_encoder.h"
#include "gnuradio/fec/dummy_decoder.h"
#include "gnuradio/fec/dummy_encoder.h"
@@ -67,7 +66,6 @@
%include "gnuradio/fec/tagged_encoder.h"
%include "gnuradio/fec/cc_decoder.h"
%include "gnuradio/fec/cc_encoder.h"
-%include "gnuradio/fec/ccsds_decoder.h"
%include "gnuradio/fec/ccsds_encoder.h"
%include "gnuradio/fec/dummy_decoder.h"
%include "gnuradio/fec/dummy_encoder.h"