commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 49/57: blocks: adding reverse packing/unpac


From: git
Subject: [Commit-gnuradio] [gnuradio] 49/57: blocks: adding reverse packing/unpacking functions.
Date: Wed, 21 May 2014 03:10:31 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

trondeau pushed a commit to branch master
in repository gnuradio.

commit 3245fde378417687db10f7cdeb274c9fa126d4e8
Author: Tom Rondeau <address@hidden>
Date:   Sat May 17 10:31:27 2014 -0400

    blocks: adding reverse packing/unpacking functions.
---
 gr-blocks/include/gnuradio/blocks/pack_k_bits.h    |    5 +
 gr-blocks/include/gnuradio/blocks/unpack_k_bits.h  |    7 +-
 gr-blocks/lib/pack_k_bits.cc                       |   11 +
 gr-blocks/lib/unpack_k_bits.cc                     |   11 +
 gr-fec/examples/CMakeLists.txt                     |    3 +
 ...capi_encoders.grc => fecapi_async_decoders.grc} | 1075 +++++++-------
 ...capi_encoders.grc => fecapi_async_encoders.grc} | 1122 +++++++--------
 ...api_encoders.grc => fecapi_async_to_stream.grc} |  895 ++++++------
 gr-fec/examples/fecapi_decoders.grc                | 1482 +++++++-------------
 gr-fec/examples/fecapi_encoders.grc                |  601 ++++----
 gr-fec/examples/fecapi_tagged_decoders.grc         | 1038 +++++++-------
 gr-fec/examples/fecapi_tagged_encoders.grc         | 1089 +++++++-------
 gr-fec/grc/fec_async_encoder.xml                   |   34 +-
 gr-fec/grc/fec_block_tree.xml                      |    2 +
 gr-fec/grc/fec_extended_decoder.xml                |    9 +-
 gr-fec/grc/fec_extended_encoder.xml                |    9 +-
 ...decoder.xml => fec_extended_tagged_decoder.xml} |   27 +-
 gr-fec/grc/fec_extended_tagged_encoder.xml         |   43 +
 gr-fec/grc/variable_cc_decoder_def_list.xml        |   10 +-
 gr-fec/grc/variable_cc_encoder_def_list.xml        |   10 +-
 gr-fec/grc/variable_ccsds_encoder_def_list.xml     |   10 +-
 gr-fec/grc/variable_dummy_encoder_def_list.xml     |    2 +-
 .../grc/variable_repetition_encoder_def_list.xml   |    4 +-
 gr-fec/include/gnuradio/fec/async_encoder.h        |    5 +-
 gr-fec/lib/async_encoder_impl.cc                   |   35 +-
 gr-fec/lib/async_encoder_impl.h                    |    5 +-
 gr-fec/lib/cc_decoder_impl.cc                      |    7 +-
 gr-fec/python/fec/CMakeLists.txt                   |    2 +
 gr-fec/python/fec/__init__.py                      |    2 +
 gr-fec/python/fec/extended_decoder.py              |   38 +-
 gr-fec/python/fec/extended_encoder.py              |   33 +-
 ...ended_decoder.py => extended_tagged_decoder.py} |   77 +-
 ...ended_encoder.py => extended_tagged_encoder.py} |   59 +-
 33 files changed, 3558 insertions(+), 4204 deletions(-)

diff --git a/gr-blocks/include/gnuradio/blocks/pack_k_bits.h 
b/gr-blocks/include/gnuradio/blocks/pack_k_bits.h
index f8c154d..ed1971d 100644
--- a/gr-blocks/include/gnuradio/blocks/pack_k_bits.h
+++ b/gr-blocks/include/gnuradio/blocks/pack_k_bits.h
@@ -67,6 +67,11 @@ namespace gr {
          */
         void pack(unsigned char *bytes, const unsigned char *bits, int nbytes) 
const;
 
+        /*!
+         * Same as pack() but reverses the bits.
+         */
+        void pack_rev(unsigned char *bytes, const unsigned char *bits, int 
nbytes) const;
+
         int k() const;
 
       private:
diff --git a/gr-blocks/include/gnuradio/blocks/unpack_k_bits.h 
b/gr-blocks/include/gnuradio/blocks/unpack_k_bits.h
index 6f982b4..389579a 100644
--- a/gr-blocks/include/gnuradio/blocks/unpack_k_bits.h
+++ b/gr-blocks/include/gnuradio/blocks/unpack_k_bits.h
@@ -58,7 +58,7 @@ namespace gr {
         /*!
          * \brief Perform the unpacking.
          *
-         * This block performs no bounds checking. It assumes that the
+         * This function performs no bounds checking. It assumes that the
          * input, \p in, has of length \p nbytes and that the output
          * vector, \p out, has k*nbytes available for writing.
          *
@@ -68,6 +68,11 @@ namespace gr {
          */
         void unpack(unsigned char *bits, const unsigned char *bytes, int 
nbytes) const;
 
+        /*!
+         * Unpacks in reverse order from unpack().
+         */
+        void unpack_rev(unsigned char *bits, const unsigned char *bytes, int 
nbytes) const;
+
         int k() const;
 
       private:
diff --git a/gr-blocks/lib/pack_k_bits.cc b/gr-blocks/lib/pack_k_bits.cc
index d0123f5..ad6e78a 100644
--- a/gr-blocks/lib/pack_k_bits.cc
+++ b/gr-blocks/lib/pack_k_bits.cc
@@ -54,6 +54,17 @@ namespace gr {
         }
       }
 
+      void
+      pack_k_bits::pack_rev(unsigned char *bytes, const unsigned char *bits, 
int nbytes) const
+      {
+        for(int i = 0; i < nbytes; i++) {
+          bytes[i] = 0x00;
+          for(unsigned int j = 0; j < d_k; j++) {
+            bytes[i] |= (0x01 & bits[i*d_k+j])<<j;
+          }
+        }
+      }
+
     } /* namespace kernel */
   } /* namespace blocks */
 } /* namespace gr */
diff --git a/gr-blocks/lib/unpack_k_bits.cc b/gr-blocks/lib/unpack_k_bits.cc
index f274cf5..a9ae4da 100644
--- a/gr-blocks/lib/unpack_k_bits.cc
+++ b/gr-blocks/lib/unpack_k_bits.cc
@@ -55,6 +55,17 @@ namespace gr {
         }
       }
 
+      void
+      unpack_k_bits::unpack_rev(unsigned char *bits, const unsigned char 
*bytes, int nbytes) const
+      {
+        int n = 0;
+        for(int i = 0; i < nbytes; i++) {
+          unsigned int t = bytes[i];
+          for(int j = 0; j < d_k; j++)
+            bits[n++] = (t >> j) & 0x01;
+        }
+      }
+
       int
       unpack_k_bits::k() const
       {
diff --git a/gr-fec/examples/CMakeLists.txt b/gr-fec/examples/CMakeLists.txt
index d0cf5e4..fa7a3d5 100644
--- a/gr-fec/examples/CMakeLists.txt
+++ b/gr-fec/examples/CMakeLists.txt
@@ -25,6 +25,9 @@ install(
     ber_curve_gen.grc
     fecapi_decoders.grc
     fecapi_encoders.grc
+    fecapi_async_decoders.grc
+    fecapi_async_encoders.grc
+    fecapi_async_to_stream.grc
     fecapi_tagged_decoders.grc
     fecapi_tagged_encoders.grc
     DESTINATION ${GR_PKG_FEC_EXAMPLES_DIR}
diff --git a/gr-fec/examples/fecapi_encoders.grc 
b/gr-fec/examples/fecapi_async_decoders.grc
similarity index 77%
copy from gr-fec/examples/fecapi_encoders.grc
copy to gr-fec/examples/fecapi_async_decoders.grc
index 1bf3c47..2598e84 100644
--- a/gr-fec/examples/fecapi_encoders.grc
+++ b/gr-fec/examples/fecapi_async_decoders.grc
@@ -1,11 +1,11 @@
 <?xml version='1.0' encoding='ASCII'?>
 <flow_graph>
-  <timestamp>Mon May 12 16:15:19 2014</timestamp>
+  <timestamp>Sat May 17 11:37:22 2014</timestamp>
   <block>
     <key>options</key>
     <param>
       <key>id</key>
-      <value>fecapi_encoders</value>
+      <value>fecapi_async_decoders</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -68,7 +68,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>rate</value>
+      <value>samp_rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -76,7 +76,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>2</value>
+      <value>50000</value>
     </param>
     <param>
       <key>alias</key>
@@ -84,7 +84,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(454, 692)</value>
+      <value>(10, 73)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -95,7 +95,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>polys</value>
+      <value>k</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -103,7 +103,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>[109, 79]</value>
+      <value>7</value>
     </param>
     <param>
       <key>alias</key>
@@ -111,7 +111,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(270, 780)</value>
+      <value>(264, 535)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -126,11 +126,11 @@
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
     </param>
     <param>
       <key>value</key>
-      <value>[79, 109]</value>
+      <value>[109, 79]</value>
     </param>
     <param>
       <key>alias</key>
@@ -138,7 +138,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(412, 777)</value>
+      <value>(308, 600)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -149,7 +149,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>k</value>
+      <value>rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -157,7 +157,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>7</value>
+      <value>2</value>
     </param>
     <param>
       <key>alias</key>
@@ -165,7 +165,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(353, 695)</value>
+      <value>(332, 536)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -173,18 +173,30 @@
     </param>
   </block>
   <block>
-    <key>variable</key>
+    <key>parameter</key>
     <param>
       <key>id</key>
-      <value>samp_rate</value>
+      <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>50000</value>
+      <value>30</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>intx</value>
+    </param>
+    <param>
+      <key>short_id</key>
+      <value></value>
     </param>
     <param>
       <key>alias</key>
@@ -192,7 +204,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(7, 95)</value>
+      <value>(171, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -231,7 +243,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(420, 9)</value>
+      <value>(282, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -239,29 +251,17 @@
     </param>
   </block>
   <block>
-    <key>blocks_throttle</key>
+    <key>blocks_ctrlport_monitor_performance</key>
     <param>
       <key>id</key>
-      <value>blocks_throttle_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>samples_per_second</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
+      <value>False</value>
     </param>
     <param>
-      <key>ignoretag</key>
+      <key>en</key>
       <value>True</value>
     </param>
     <param>
@@ -269,20 +269,8 @@
       <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>(105, 331)</value>
+      <value>(366, 10)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -290,36 +278,36 @@
     </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>blocks_vector_source_x</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_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>byte</value>
     </param>
     <param>
-      <key>min</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>max</key>
-      <value>256</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_samps</key>
-      <value>1000</value>
+      <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>
@@ -337,7 +325,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(111, 523)</value>
+      <value>(61, 140)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -345,49 +333,10 @@
     </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>60</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>(249, 9)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_vector_source_x</key>
+    <key>blocks_throttle</key>
     <param>
       <key>id</key>
-      <value>blocks_vector_source_x_0_1_0</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -398,22 +347,18 @@
       <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>
+      <key>samples_per_second</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>tags</key>
-      <value>[]</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>repeat</key>
+      <key>ignoretag</key>
       <value>True</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -431,116 +376,81 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(133, 190)</value>
+      <value>(109, 224)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>180</value>
+      <value>0</value>
     </param>
   </block>
   <block>
-    <key>variable_cc_encoder_def</key>
+    <key>blocks_stream_to_tagged_stream</key>
     <param>
       <key>id</key>
-      <value>enc_cc</value>
+      <value>blocks_stream_to_tagged_stream_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>1</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>dim2</key>
+      <key>vlen</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>
-    </param>
-    <param>
-      <key>polys</key>
-      <value>polys</value>
-    </param>
-    <param>
-      <key>state_start</key>
-      <value>0</value>
+      <key>packet_len</key>
+      <value>frame_size</value>
     </param>
     <param>
-      <key>mode</key>
-      <value>fec.CC_TERMINATED</value>
+      <key>len_tag_key</key>
+      <value>pkt_len</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(550, 696)</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>minoutbuf</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>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(549, 10)</value>
+      <value>(83, 279)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>0</value>
+      <value>180</value>
     </param>
   </block>
   <block>
-    <key>blocks_unpack_k_bits_bb</key>
+    <key>blocks_tagged_stream_to_pdu</key>
     <param>
       <key>id</key>
-      <value>blocks_unpack_k_bits_bb_0</value>
+      <value>blocks_tagged_stream_to_pdu_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>k</key>
-      <value>8</value>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>tag</key>
+      <value>pkt_len</value>
     </param>
     <param>
       <key>alias</key>
@@ -560,18 +470,18 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(118, 440)</value>
+      <value>(83, 369)</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_0_0</value>
+      <value>blocks_char_to_float_0_1</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -603,7 +513,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(853, 255)</value>
+      <value>(707, 188)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -611,22 +521,18 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>digital_crc32_async_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0</value>
+      <value>digital_crc32_async_bb_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>check</key>
+      <value>False</value>
     </param>
     <param>
       <key>alias</key>
@@ -646,7 +552,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(848, 392)</value>
+      <value>(101, 441)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -654,30 +560,34 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_1</value>
+      <value>analog_random_source_x_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
+      <value>False</value>
     </param>
     <param>
-      <key>encoder_list</key>
-      <value>enc_ccsds</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>max</key>
+      <value>256</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>None</value>
+      <key>num_samps</key>
+      <value>1000</value>
+    </param>
+    <param>
+      <key>repeat</key>
+      <value>True</value>
     </param>
     <param>
       <key>alias</key>
@@ -697,50 +607,54 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(512, 361)</value>
+      <value>(50, 502)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>0</value>
+      <value>180</value>
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>variable_repetition_encoder_def</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1</value>
+      <value>enc_rep</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>
-      <value>1</value>
+      <key>ndim</key>
+      <value>0</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>dim1</key>
+      <value>4</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>8000</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>rep</key>
+      <value>3</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(837, 554)</value>
+      <value>(781, 538)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -748,50 +662,42 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>variable_dummy_decoder_def</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_0</value>
+      <value>dec_dummy</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>encoder_list</key>
-      <value>enc_cc</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>ndim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>dim1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>None</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>alias</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>(511, 525)</value>
+      <value>(598, 636)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -799,322 +705,210 @@
     </param>
   </block>
   <block>
-    <key>qtgui_time_sink_x</key>
+    <key>variable_repetition_decoder_def</key>
     <param>
       <key>id</key>
-      <value>qtgui_time_sink_x_0</value>
+      <value>dec_rep</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>name</key>
-      <value>QT GUI Plot</value>
-    </param>
-    <param>
-      <key>size</key>
-      <value>2048</value>
-    </param>
-    <param>
-      <key>srate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>autoscale</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>ymin</key>
-      <value>-0.5</value>
-    </param>
-    <param>
-      <key>ymax</key>
-      <value>1.5</value>
-    </param>
-    <param>
-      <key>nconnections</key>
-      <value>2</value>
-    </param>
-    <param>
-      <key>update_time</key>
-      <value>0.05</value>
-    </param>
-    <param>
-      <key>entags</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>gui_hint</key>
-      <value></value>
-    </param>
-    <param>
-      <key>tr_mode</key>
-      <value>qtgui.TRIG_MODE_FREE</value>
-    </param>
-    <param>
-      <key>tr_slope</key>
-      <value>qtgui.TRIG_SLOPE_POS</value>
-    </param>
-    <param>
-      <key>tr_level</key>
-      <value>0.0</value>
-    </param>
-    <param>
-      <key>tr_delay</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>tr_chan</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>tr_tag</key>
-      <value>""</value>
-    </param>
-    <param>
-      <key>label1</key>
-      <value>CCSDS</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>width1</key>
+      <key>ndim</key>
       <value>1</value>
     </param>
     <param>
-      <key>color1</key>
-      <value>"blue"</value>
-    </param>
-    <param>
-      <key>style1</key>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker1</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha1</key>
-      <value>1.0</value>
-    </param>
-    <param>
-      <key>label2</key>
-      <value>CC</value>
-    </param>
-    <param>
-      <key>width2</key>
+      <key>dim2</key>
       <value>1</value>
     </param>
     <param>
-      <key>color2</key>
-      <value>"red"</value>
-    </param>
-    <param>
-      <key>style2</key>
-      <value>1</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>marker2</key>
-      <value>-1</value>
+      <key>rep</key>
+      <value>3</value>
     </param>
     <param>
-      <key>alpha2</key>
-      <value>0.6</value>
+      <key>prob</key>
+      <value>0.5</value>
     </param>
     <param>
-      <key>label3</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>width3</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(781, 651)</value>
     </param>
     <param>
-      <key>color3</key>
-      <value>"green"</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_dummy_encoder_def</key>
     <param>
-      <key>style3</key>
-      <value>1</value>
+      <key>id</key>
+      <value>enc_dummy</value>
     </param>
     <param>
-      <key>marker3</key>
-      <value>-1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>alpha3</key>
-      <value>1.0</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>label4</key>
-      <value></value>
+      <key>ndim</key>
+      <value>0</value>
     </param>
     <param>
-      <key>width4</key>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>color4</key>
-      <value>"black"</value>
-    </param>
-    <param>
-      <key>style4</key>
+      <key>dim2</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker4</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha4</key>
-      <value>1.0</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>label5</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>width5</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(599, 538)</value>
     </param>
     <param>
-      <key>color5</key>
-      <value>"cyan"</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>digital_map_bb</key>
     <param>
-      <key>style5</key>
-      <value>1</value>
+      <key>id</key>
+      <value>digital_map_bb_0</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>map</key>
+      <value>[-1,1]</value>
     </param>
     <param>
-      <key>label6</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>width6</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>color6</key>
-      <value>"magenta"</value>
-    </param>
-    <param>
-      <key>style6</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>marker6</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha6</key>
-      <value>1.0</value>
-    </param>
-    <param>
-      <key>label7</key>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>width7</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>color7</key>
-      <value>"yellow"</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style7</key>
-      <value>1</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>marker7</key>
-      <value>-1</value>
+      <key>_coordinate</key>
+      <value>(713, 279)</value>
     </param>
     <param>
-      <key>alpha7</key>
-      <value>1.0</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_repack_bits_bb</key>
     <param>
-      <key>label8</key>
-      <value></value>
+      <key>id</key>
+      <value>blocks_repack_bits_bb_0</value>
     </param>
     <param>
-      <key>width8</key>
-      <value>1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>color8</key>
-      <value>"dark red"</value>
+      <key>k</key>
+      <value>8</value>
     </param>
     <param>
-      <key>style8</key>
+      <key>l</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker8</key>
-      <value>-1</value>
+      <key>len_tag_key</key>
+      <value>pkt_len</value>
     </param>
     <param>
-      <key>alpha8</key>
-      <value>1.0</value>
-    </param>
-    <param>
-      <key>label9</key>
-      <value></value>
+      <key>align_output</key>
+      <value>False</value>
     </param>
     <param>
-      <key>width9</key>
-      <value>1</value>
+      <key>swap</key>
+      <value>False</value>
     </param>
     <param>
-      <key>color9</key>
-      <value>"dark green"</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>style9</key>
-      <value>1</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>marker9</key>
-      <value>-1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>alpha9</key>
-      <value>1.0</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>label10</key>
-      <value></value>
+      <key>_coordinate</key>
+      <value>(452, 354)</value>
     </param>
     <param>
-      <key>width10</key>
-      <value>1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_pdu_to_tagged_stream</key>
     <param>
-      <key>color10</key>
-      <value>"blue"</value>
+      <key>id</key>
+      <value>blocks_pdu_to_tagged_stream_0</value>
     </param>
     <param>
-      <key>style10</key>
-      <value>1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>marker10</key>
-      <value>-1</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>alpha10</key>
-      <value>1.0</value>
+      <key>tag</key>
+      <value>pkt_len</value>
     </param>
     <param>
       <key>alias</key>
@@ -1125,8 +919,16 @@
       <value></value>
     </param>
     <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(1193, 420)</value>
+      <value>(400, 252)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1134,50 +936,54 @@
     </param>
   </block>
   <block>
-    <key>variable_ccsds_encoder_def</key>
+    <key>blocks_repack_bits_bb</key>
     <param>
       <key>id</key>
-      <value>enc_ccsds</value>
+      <value>blocks_repack_bits_bb_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>
+      <key>k</key>
       <value>1</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>4</value>
+      <key>l</key>
+      <value>8</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>frame_size*8</value>
+      <key>len_tag_key</key>
+      <value>pkt_len</value>
     </param>
     <param>
-      <key>state_start</key>
-      <value>0</value>
+      <key>align_output</key>
+      <value>False</value>
     </param>
     <param>
-      <key>mode</key>
-      <value>fec.CC_TERMINATED</value>
+      <key>swap</key>
+      <value>False</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>(843, 698)</value>
+      <value>(925, 309)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1185,42 +991,42 @@
     </param>
   </block>
   <block>
-    <key>variable_dummy_encoder_def</key>
+    <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>enc_dummy</value>
+      <value>blocks_char_to_float_0_0_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>ndim</key>
+      <key>scale</key>
       <value>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>(1139, 698)</value>
+      <value>(1200, 191)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1228,30 +1034,22 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>digital_crc32_bb</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_0_0_0</value>
+      <value>digital_crc32_bb_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>encoder_list</key>
-      <value>enc_rep</value>
-    </param>
-    <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <value>False</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>check</key>
+      <value>True</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>none</value>
+      <key>lengthtagname</key>
+      <value>pkt_len</value>
     </param>
     <param>
       <key>alias</key>
@@ -1271,7 +1069,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(512, 224)</value>
+      <value>(1214, 332)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1282,7 +1080,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</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1298,7 +1096,7 @@
     </param>
     <param>
       <key>size</key>
-      <value>2048</value>
+      <value>512</value>
     </param>
     <param>
       <key>srate</key>
@@ -1310,11 +1108,11 @@
     </param>
     <param>
       <key>ymin</key>
-      <value>-0.5</value>
+      <value>-1</value>
     </param>
     <param>
       <key>ymax</key>
-      <value>1.5</value>
+      <value>140</value>
     </param>
     <param>
       <key>nconnections</key>
@@ -1322,7 +1120,7 @@
     </param>
     <param>
       <key>update_time</key>
-      <value>0.05</value>
+      <value>0.01</value>
     </param>
     <param>
       <key>entags</key>
@@ -1354,11 +1152,11 @@
     </param>
     <param>
       <key>tr_tag</key>
-      <value>packet_len</value>
+      <value>""</value>
     </param>
     <param>
       <key>label1</key>
-      <value></value>
+      <value>Input</value>
     </param>
     <param>
       <key>width1</key>
@@ -1382,7 +1180,7 @@
     </param>
     <param>
       <key>label2</key>
-      <value>CC</value>
+      <value>Dummy</value>
     </param>
     <param>
       <key>width2</key>
@@ -1406,7 +1204,7 @@
     </param>
     <param>
       <key>label3</key>
-      <value></value>
+      <value>Rep. (Rate=3)</value>
     </param>
     <param>
       <key>width3</key>
@@ -1430,7 +1228,7 @@
     </param>
     <param>
       <key>label4</key>
-      <value></value>
+      <value>CC (K=7, Rate=2)</value>
     </param>
     <param>
       <key>width4</key>
@@ -1454,7 +1252,7 @@
     </param>
     <param>
       <key>label5</key>
-      <value></value>
+      <value>CCSDS</value>
     </param>
     <param>
       <key>width5</key>
@@ -1606,7 +1404,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1084, 224)</value>
+      <value>(1364, 167)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1614,10 +1412,116 @@
     </param>
   </block>
   <block>
-    <key>variable_repetition_encoder_def</key>
+    <key>fec_async_encoder</key>
     <param>
       <key>id</key>
-      <value>enc_rep</value>
+      <value>fec_async_encoder_0</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>encoder</key>
+      <value>enc_cc</value>
+    </param>
+    <param>
+      <key>rev_unpack</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>rev_pack</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>(429, 148)</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_1_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>pkt_len</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, 156)</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>
@@ -1629,7 +1533,7 @@
     </param>
     <param>
       <key>ndim</key>
-      <value>1</value>
+      <value>0</value>
     </param>
     <param>
       <key>dim1</key>
@@ -1641,11 +1545,94 @@
     </param>
     <param>
       <key>framebits</key>
-      <value>frame_size*8</value>
+      <value>8000</value>
     </param>
     <param>
-      <key>rep</key>
-      <value>3</value>
+      <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_TAILBITING</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(401, 510)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>variable_cc_decoder_def</key>
+    <param>
+      <key>id</key>
+      <value>dec_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>1</value>
+    </param>
+    <param>
+      <key>dim2</key>
+      <value>4</value>
+    </param>
+    <param>
+      <key>framebits</key>
+      <value>8000</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>state_end</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>mode</key>
+      <value>fec.CC_TAILBITING</value>
     </param>
     <param>
       <key>alias</key>
@@ -1653,7 +1640,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1141, 829)</value>
+      <value>(400, 668)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1674,62 +1661,86 @@
   </connection>
   <connection>
     <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_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>blocks_tagged_stream_to_pdu_0</source_block_id>
+    <sink_block_id>digital_crc32_async_bb_0</sink_block_id>
+    <source_key>pdus</source_key>
+    <sink_key>in</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>digital_crc32_async_bb_0</source_block_id>
+    <sink_block_id>fec_async_encoder_0</sink_block_id>
+    <source_key>out</source_key>
+    <sink_key>in</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>fec_async_encoder_0</source_block_id>
+    <sink_block_id>blocks_pdu_to_tagged_stream_0</sink_block_id>
+    <source_key>out</source_key>
+    <sink_key>pdus</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
+    <sink_block_id>blocks_tagged_stream_to_pdu_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_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_0_0_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_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_0_0_0</sink_block_id>
+    <source_block_id>digital_crc32_bb_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_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0_0_1</sink_block_id>
+    <source_block_id>blocks_repack_bits_bb_0_0</source_block_id>
+    <sink_block_id>digital_crc32_bb_0</sink_block_id>
     <source_key>0</source_key>
     <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>blocks_pdu_to_tagged_stream_0</source_block_id>
+    <sink_block_id>blocks_repack_bits_bb_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_encoder_1</source_block_id>
-    <sink_block_id>blocks_char_to_float_0</sink_block_id>
+    <source_block_id>blocks_repack_bits_bb_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>blocks_unpack_k_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_1</sink_block_id>
+    <source_block_id>digital_map_bb_0</source_block_id>
+    <sink_block_id>blocks_char_to_float_0_1</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_block_id>fec_extended_decoder_0_1_0</source_block_id>
+    <sink_block_id>blocks_repack_bits_bb_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_0_1</source_block_id>
+    <sink_block_id>fec_extended_decoder_0_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>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>blocks_repack_bits_bb_0_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>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
 </flow_graph>
diff --git a/gr-fec/examples/fecapi_encoders.grc 
b/gr-fec/examples/fecapi_async_encoders.grc
similarity index 76%
copy from gr-fec/examples/fecapi_encoders.grc
copy to gr-fec/examples/fecapi_async_encoders.grc
index 1bf3c47..445c0cc 100644
--- a/gr-fec/examples/fecapi_encoders.grc
+++ b/gr-fec/examples/fecapi_async_encoders.grc
@@ -1,11 +1,11 @@
 <?xml version='1.0' encoding='ASCII'?>
 <flow_graph>
-  <timestamp>Mon May 12 16:15:19 2014</timestamp>
+  <timestamp>Sat May 17 17:21:35 2014</timestamp>
   <block>
     <key>options</key>
     <param>
       <key>id</key>
-      <value>fecapi_encoders</value>
+      <value>fecapi_async_encoders</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -84,7 +84,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(454, 692)</value>
+      <value>(421, 102)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -111,34 +111,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(270, 780)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable</key>
-    <param>
-      <key>id</key>
-      <value>polys</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>[79, 109]</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(412, 777)</value>
+      <value>(396, 166)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -165,7 +138,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(353, 695)</value>
+      <value>(354, 102)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -192,7 +165,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(7, 95)</value>
+      <value>(10, 73)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -203,7 +176,7 @@
     <key>parameter</key>
     <param>
       <key>id</key>
-      <value>puncpat</value>
+      <value>frame_size</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -211,15 +184,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>
@@ -231,7 +204,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(420, 9)</value>
+      <value>(171, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -239,50 +212,38 @@
     </param>
   </block>
   <block>
-    <key>blocks_throttle</key>
+    <key>parameter</key>
     <param>
       <key>id</key>
-      <value>blocks_throttle_0</value>
+      <value>puncpat</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
-    </param>
-    <param>
-      <key>samples_per_second</key>
-      <value>samp_rate</value>
+      <key>label</key>
+      <value></value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>value</key>
+      <value>'11'</value>
     </param>
     <param>
-      <key>ignoretag</key>
-      <value>True</value>
+      <key>type</key>
+      <value>string</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>short_id</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>alias</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>(105, 331)</value>
+      <value>(282, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -290,93 +251,26 @@
     </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>blocks_ctrlport_monitor_performance</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_0</value>
+      <value>blocks_ctrlport_monitor_performance_0</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>
-      <value></value>
-    </param>
-    <param>
-      <key>minoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(111, 523)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>180</value>
-    </param>
-  </block>
-  <block>
-    <key>parameter</key>
-    <param>
-      <key>id</key>
-      <value>frame_size</value>
-    </param>
-    <param>
-      <key>_enabled</key>
+      <key>en</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Frame Size</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>60</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>(249, 9)</value>
+      <value>(366, 10)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -431,7 +325,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(133, 190)</value>
+      <value>(61, 140)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -439,89 +333,54 @@
     </param>
   </block>
   <block>
-    <key>variable_cc_encoder_def</key>
+    <key>blocks_repack_bits_bb</key>
     <param>
       <key>id</key>
-      <value>enc_cc</value>
+      <value>blocks_repack_bits_bb_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>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>
+      <value>8</value>
     </param>
     <param>
-      <key>rate</key>
-      <value>rate</value>
+      <key>l</key>
+      <value>1</value>
     </param>
     <param>
-      <key>polys</key>
-      <value>polys</value>
+      <key>len_tag_key</key>
+      <value>pkt_len</value>
     </param>
     <param>
-      <key>state_start</key>
-      <value>0</value>
+      <key>align_output</key>
+      <value>False</value>
     </param>
     <param>
-      <key>mode</key>
-      <value>fec.CC_TERMINATED</value>
+      <key>swap</key>
+      <value>False</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(550, 696)</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>minoutbuf</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>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(549, 10)</value>
+      <value>(374, 368)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -529,18 +388,22 @@
     </param>
   </block>
   <block>
-    <key>blocks_unpack_k_bits_bb</key>
+    <key>blocks_pdu_to_tagged_stream</key>
     <param>
       <key>id</key>
-      <value>blocks_unpack_k_bits_bb_0</value>
+      <value>blocks_pdu_to_tagged_stream_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>k</key>
-      <value>8</value>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>tag</key>
+      <value>pkt_len</value>
     </param>
     <param>
       <key>alias</key>
@@ -560,7 +423,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(118, 440)</value>
+      <value>(577, 297)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -571,7 +434,7 @@
     <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1_0_0</value>
+      <value>blocks_char_to_float_0_1</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -603,7 +466,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(853, 255)</value>
+      <value>(1027, 297)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -611,262 +474,74 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>qtgui_time_sink_x</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0</value>
+      <value>qtgui_time_sink_x_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>scale</key>
-      <value>1</value>
+      <key>name</key>
+      <value>QT GUI Plot</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>size</key>
+      <value>2048</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>srate</key>
+      <value>1</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>ymin</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(848, 392)</value>
+      <key>ymax</key>
+      <value>2</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>nconnections</key>
+      <value>2</value>
     </param>
-  </block>
-  <block>
-    <key>fec_extended_encoder</key>
     <param>
-      <key>id</key>
-      <value>fec_extended_encoder_1</value>
+      <key>update_time</key>
+      <value>0.01</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>entags</key>
       <value>True</value>
     </param>
     <param>
-      <key>encoder_list</key>
-      <value>enc_ccsds</value>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>tr_mode</key>
+      <value>qtgui.TRIG_MODE_FREE</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>tr_slope</key>
+      <value>qtgui.TRIG_SLOPE_POS</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>None</value>
+      <key>tr_level</key>
+      <value>0.0</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>(512, 361)</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</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>(837, 554)</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_cc</value>
-    </param>
-    <param>
-      <key>threadtype</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>(511, 525)</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</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>name</key>
-      <value>QT GUI Plot</value>
-    </param>
-    <param>
-      <key>size</key>
-      <value>2048</value>
-    </param>
-    <param>
-      <key>srate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>autoscale</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>ymin</key>
-      <value>-0.5</value>
-    </param>
-    <param>
-      <key>ymax</key>
-      <value>1.5</value>
-    </param>
-    <param>
-      <key>nconnections</key>
-      <value>2</value>
-    </param>
-    <param>
-      <key>update_time</key>
-      <value>0.05</value>
-    </param>
-    <param>
-      <key>entags</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>gui_hint</key>
-      <value></value>
-    </param>
-    <param>
-      <key>tr_mode</key>
-      <value>qtgui.TRIG_MODE_FREE</value>
-    </param>
-    <param>
-      <key>tr_slope</key>
-      <value>qtgui.TRIG_SLOPE_POS</value>
-    </param>
-    <param>
-      <key>tr_level</key>
-      <value>0.0</value>
-    </param>
-    <param>
-      <key>tr_delay</key>
-      <value>0</value>
+      <key>tr_delay</key>
+      <value>0</value>
     </param>
     <param>
       <key>tr_chan</key>
@@ -878,7 +553,7 @@
     </param>
     <param>
       <key>label1</key>
-      <value>CCSDS</value>
+      <value></value>
     </param>
     <param>
       <key>width1</key>
@@ -902,7 +577,7 @@
     </param>
     <param>
       <key>label2</key>
-      <value>CC</value>
+      <value></value>
     </param>
     <param>
       <key>width2</key>
@@ -926,7 +601,7 @@
     </param>
     <param>
       <key>label3</key>
-      <value></value>
+      <value>Rep. (Rate=3)</value>
     </param>
     <param>
       <key>width3</key>
@@ -950,7 +625,7 @@
     </param>
     <param>
       <key>label4</key>
-      <value></value>
+      <value>CC (K=7, Rate=2)</value>
     </param>
     <param>
       <key>width4</key>
@@ -974,7 +649,7 @@
     </param>
     <param>
       <key>label5</key>
-      <value></value>
+      <value>CCSDS</value>
     </param>
     <param>
       <key>width5</key>
@@ -1126,7 +801,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1193, 420)</value>
+      <value>(1226, 359)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1134,50 +809,42 @@
     </param>
   </block>
   <block>
-    <key>variable_ccsds_encoder_def</key>
+    <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>enc_ccsds</value>
+      <value>blocks_char_to_float_1</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>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>frame_size*8</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>state_start</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>mode</key>
-      <value>fec.CC_TERMINATED</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(843, 698)</value>
+      <value>(950, 400)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1185,73 +852,89 @@
     </param>
   </block>
   <block>
-    <key>variable_dummy_encoder_def</key>
+    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>enc_dummy</value>
+      <value>analog_random_source_x_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
+      <value>False</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>1</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dim1</key>
-      <value>1</value>
+      <key>max</key>
+      <value>256</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>1</value>
+      <key>num_samps</key>
+      <value>1000</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>frame_size*8</value>
+      <key>repeat</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>(1139, 698)</value>
+      <value>(43, 436)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>0</value>
+      <value>180</value>
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>blocks_repack_bits_bb</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_0_0_0</value>
+      <value>blocks_repack_bits_bb_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>encoder_list</key>
-      <value>enc_rep</value>
+      <key>k</key>
+      <value>8</value>
+    </param>
+    <param>
+      <key>l</key>
+      <value>1</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>len_tag_key</key>
+      <value>pkt_len</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>align_output</key>
+      <value>True</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>none</value>
+      <key>swap</key>
+      <value>False</value>
     </param>
     <param>
       <key>alias</key>
@@ -1271,7 +954,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(512, 224)</value>
+      <value>(803, 265)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1279,10 +962,10 @@
     </param>
   </block>
   <block>
-    <key>qtgui_time_sink_x</key>
+    <key>blocks_throttle</key>
     <param>
       <key>id</key>
-      <value>qtgui_time_sink_x_0_0_1</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1290,323 +973,490 @@
     </param>
     <param>
       <key>type</key>
-      <value>float</value>
+      <value>byte</value>
     </param>
     <param>
-      <key>name</key>
-      <value>QT GUI Plot</value>
+      <key>samples_per_second</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>size</key>
-      <value>2048</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>srate</key>
-      <value>samp_rate</value>
+      <key>ignoretag</key>
+      <value>True</value>
     </param>
     <param>
-      <key>autoscale</key>
-      <value>False</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>ymin</key>
-      <value>-0.5</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>ymax</key>
-      <value>1.5</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>nconnections</key>
-      <value>1</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>update_time</key>
-      <value>0.05</value>
+      <key>_coordinate</key>
+      <value>(57, 219)</value>
     </param>
     <param>
-      <key>entags</key>
+      <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>gui_hint</key>
-      <value></value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>tr_mode</key>
-      <value>qtgui.TRIG_MODE_FREE</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>tr_slope</key>
-      <value>qtgui.TRIG_SLOPE_POS</value>
+      <key>packet_len</key>
+      <value>frame_size</value>
     </param>
     <param>
-      <key>tr_level</key>
-      <value>0.0</value>
+      <key>len_tag_key</key>
+      <value>pkt_len</value>
     </param>
     <param>
-      <key>tr_delay</key>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>tr_chan</key>
+      <key>maxoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>tr_tag</key>
-      <value>packet_len</value>
+      <key>_coordinate</key>
+      <value>(58, 273)</value>
     </param>
     <param>
-      <key>label1</key>
+      <key>_rotation</key>
+      <value>180</value>
+    </param>
+  </block>
+  <block>
+    <key>blocks_tagged_stream_to_pdu</key>
+    <param>
+      <key>id</key>
+      <value>blocks_tagged_stream_to_pdu_0</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>tag</key>
+      <value>pkt_len</value>
+    </param>
+    <param>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>width1</key>
-      <value>1</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>color1</key>
-      <value>"blue"</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style1</key>
-      <value>1</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>marker1</key>
-      <value>-1</value>
+      <key>_coordinate</key>
+      <value>(100, 345)</value>
     </param>
     <param>
-      <key>alpha1</key>
-      <value>1.0</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>fec_async_encoder</key>
     <param>
-      <key>label2</key>
-      <value>CC</value>
+      <key>id</key>
+      <value>fec_async_encoder_0</value>
     </param>
     <param>
-      <key>width2</key>
-      <value>1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>color2</key>
-      <value>"red"</value>
+      <key>encoder</key>
+      <value>enc_cc</value>
     </param>
     <param>
-      <key>style2</key>
-      <value>1</value>
+      <key>rev_unpack</key>
+      <value>True</value>
     </param>
     <param>
-      <key>marker2</key>
-      <value>-1</value>
+      <key>rev_pack</key>
+      <value>True</value>
     </param>
     <param>
-      <key>alpha2</key>
-      <value>0.6</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>label3</key>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>width3</key>
-      <value>1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>color3</key>
-      <value>"green"</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style3</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(371, 281)</value>
     </param>
     <param>
-      <key>marker3</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>fec_extended_tagged_encoder</key>
     <param>
-      <key>alpha3</key>
-      <value>1.0</value>
+      <key>id</key>
+      <value>fec_extended_tagged_encoder_0</value>
     </param>
     <param>
-      <key>label4</key>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>encoder_list</key>
+      <value>enc_cc</value>
+    </param>
+    <param>
+      <key>puncpat</key>
+      <value>puncpat</value>
+    </param>
+    <param>
+      <key>lentagname</key>
+      <value>pkt_len</value>
+    </param>
+    <param>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>width4</key>
-      <value>1</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>color4</key>
-      <value>"black"</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style4</key>
-      <value>1</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>marker4</key>
-      <value>-1</value>
+      <key>_coordinate</key>
+      <value>(588, 384)</value>
     </param>
     <param>
-      <key>alpha4</key>
-      <value>1.0</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_cc_encoder_def</key>
     <param>
-      <key>label5</key>
-      <value></value>
+      <key>id</key>
+      <value>enc_cc_0</value>
     </param>
     <param>
-      <key>width5</key>
-      <value>1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>color5</key>
-      <value>"cyan"</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>style5</key>
+      <key>ndim</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker5</key>
-      <value>-1</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alpha5</key>
-      <value>1.0</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>label6</key>
+      <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>width6</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(378, 490)</value>
     </param>
     <param>
-      <key>color6</key>
-      <value>"magenta"</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_dummy_encoder_def</key>
     <param>
-      <key>style6</key>
+      <key>id</key>
+      <value>enc_dummy_0</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker6</key>
-      <value>-1</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alpha6</key>
-      <value>1.0</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>label7</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>width7</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(575, 490)</value>
     </param>
     <param>
-      <key>color7</key>
-      <value>"yellow"</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_repetition_encoder_def</key>
     <param>
-      <key>style7</key>
+      <key>id</key>
+      <value>enc_rep_0</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker7</key>
-      <value>-1</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alpha7</key>
-      <value>1.0</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>label8</key>
+      <key>rep</key>
+      <value>3</value>
+    </param>
+    <param>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>width8</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(575, 570)</value>
     </param>
     <param>
-      <key>color8</key>
-      <value>"dark red"</value>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>variable_repetition_encoder_def</key>
+    <param>
+      <key>id</key>
+      <value>enc_rep</value>
     </param>
     <param>
-      <key>style8</key>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker8</key>
-      <value>-1</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alpha8</key>
-      <value>1.0</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>label9</key>
+      <key>rep</key>
+      <value>3</value>
+    </param>
+    <param>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>width9</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(686, 148)</value>
     </param>
     <param>
-      <key>color9</key>
-      <value>"dark green"</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_cc_encoder_def</key>
     <param>
-      <key>style9</key>
-      <value>1</value>
+      <key>id</key>
+      <value>enc_cc</value>
     </param>
     <param>
-      <key>marker9</key>
-      <value>-1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>alpha9</key>
-      <value>1.0</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>label10</key>
-      <value></value>
+      <key>ndim</key>
+      <value>0</value>
     </param>
     <param>
-      <key>width10</key>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>color10</key>
-      <value>"blue"</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>style10</key>
-      <value>1</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>marker10</key>
-      <value>-1</value>
+      <key>k</key>
+      <value>k</value>
     </param>
     <param>
-      <key>alpha10</key>
-      <value>1.0</value>
+      <key>rate</key>
+      <value>rate</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>polys</key>
+      <value>polys</value>
     </param>
     <param>
-      <key>affinity</key>
+      <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>(1084, 224)</value>
+      <value>(489, 69)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1614,10 +1464,10 @@
     </param>
   </block>
   <block>
-    <key>variable_repetition_encoder_def</key>
+    <key>variable_dummy_encoder_def</key>
     <param>
       <key>id</key>
-      <value>enc_rep</value>
+      <value>enc_dummy</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1629,7 +1479,7 @@
     </param>
     <param>
       <key>ndim</key>
-      <value>1</value>
+      <value>0</value>
     </param>
     <param>
       <key>dim1</key>
@@ -1641,11 +1491,7 @@
     </param>
     <param>
       <key>framebits</key>
-      <value>frame_size*8</value>
-    </param>
-    <param>
-      <key>rep</key>
-      <value>3</value>
+      <value>8000</value>
     </param>
     <param>
       <key>alias</key>
@@ -1653,7 +1499,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1141, 829)</value>
+      <value>(686, 69)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1674,55 +1520,55 @@
   </connection>
   <connection>
     <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_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>blocks_unpack_k_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_0</sink_block_id>
+    <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
+    <sink_block_id>blocks_tagged_stream_to_pdu_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_0_0_0</sink_block_id>
+    <source_block_id>blocks_repack_bits_bb_0</source_block_id>
+    <sink_block_id>blocks_char_to_float_0_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_0_1</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <source_block_id>blocks_tagged_stream_to_pdu_0</source_block_id>
+    <sink_block_id>fec_async_encoder_0</sink_block_id>
+    <source_key>pdus</source_key>
+    <sink_key>in</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>blocks_char_to_float_0_1</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_encoder_1</source_block_id>
-    <sink_block_id>blocks_char_to_float_0</sink_block_id>
+    <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
+    <sink_block_id>blocks_repack_bits_bb_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</source_block_id>
-    <sink_block_id>fec_extended_encoder_1</sink_block_id>
+    <source_block_id>blocks_pdu_to_tagged_stream_0</source_block_id>
+    <sink_block_id>blocks_repack_bits_bb_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_block_id>blocks_repack_bits_bb_0_0</source_block_id>
+    <sink_block_id>fec_extended_tagged_encoder_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>fec_extended_tagged_encoder_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>
@@ -1732,4 +1578,10 @@
     <source_key>0</source_key>
     <sink_key>1</sink_key>
   </connection>
+  <connection>
+    <source_block_id>fec_async_encoder_0</source_block_id>
+    <sink_block_id>blocks_pdu_to_tagged_stream_0</sink_block_id>
+    <source_key>out</source_key>
+    <sink_key>pdus</sink_key>
+  </connection>
 </flow_graph>
diff --git a/gr-fec/examples/fecapi_encoders.grc 
b/gr-fec/examples/fecapi_async_to_stream.grc
similarity index 77%
copy from gr-fec/examples/fecapi_encoders.grc
copy to gr-fec/examples/fecapi_async_to_stream.grc
index 1bf3c47..417df87 100644
--- a/gr-fec/examples/fecapi_encoders.grc
+++ b/gr-fec/examples/fecapi_async_to_stream.grc
@@ -1,11 +1,11 @@
 <?xml version='1.0' encoding='ASCII'?>
 <flow_graph>
-  <timestamp>Mon May 12 16:15:19 2014</timestamp>
+  <timestamp>Sat May 17 16:48:27 2014</timestamp>
   <block>
     <key>options</key>
     <param>
       <key>id</key>
-      <value>fecapi_encoders</value>
+      <value>fecapi_async_decoders</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -68,7 +68,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>rate</value>
+      <value>samp_rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -76,7 +76,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>2</value>
+      <value>50000</value>
     </param>
     <param>
       <key>alias</key>
@@ -84,7 +84,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(454, 692)</value>
+      <value>(10, 73)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -95,7 +95,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>polys</value>
+      <value>k</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -103,7 +103,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>[109, 79]</value>
+      <value>7</value>
     </param>
     <param>
       <key>alias</key>
@@ -111,7 +111,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(270, 780)</value>
+      <value>(264, 535)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -126,11 +126,11 @@
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
     </param>
     <param>
       <key>value</key>
-      <value>[79, 109]</value>
+      <value>[109, 79]</value>
     </param>
     <param>
       <key>alias</key>
@@ -138,7 +138,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(412, 777)</value>
+      <value>(308, 600)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -149,7 +149,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>k</value>
+      <value>rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -157,7 +157,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>7</value>
+      <value>2</value>
     </param>
     <param>
       <key>alias</key>
@@ -165,7 +165,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(353, 695)</value>
+      <value>(332, 536)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -173,18 +173,30 @@
     </param>
   </block>
   <block>
-    <key>variable</key>
+    <key>parameter</key>
     <param>
       <key>id</key>
-      <value>samp_rate</value>
+      <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>50000</value>
+      <value>30</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>intx</value>
+    </param>
+    <param>
+      <key>short_id</key>
+      <value></value>
     </param>
     <param>
       <key>alias</key>
@@ -192,7 +204,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(7, 95)</value>
+      <value>(171, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -231,7 +243,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(420, 9)</value>
+      <value>(282, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -239,29 +251,17 @@
     </param>
   </block>
   <block>
-    <key>blocks_throttle</key>
+    <key>blocks_ctrlport_monitor_performance</key>
     <param>
       <key>id</key>
-      <value>blocks_throttle_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>samples_per_second</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
+      <value>False</value>
     </param>
     <param>
-      <key>ignoretag</key>
+      <key>en</key>
       <value>True</value>
     </param>
     <param>
@@ -269,20 +269,8 @@
       <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>(105, 331)</value>
+      <value>(366, 10)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -290,36 +278,36 @@
     </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>blocks_vector_source_x</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_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>byte</value>
     </param>
     <param>
-      <key>min</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>max</key>
-      <value>256</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_samps</key>
-      <value>1000</value>
+      <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>
@@ -337,7 +325,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(111, 523)</value>
+      <value>(61, 140)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -345,38 +333,50 @@
     </param>
   </block>
   <block>
-    <key>parameter</key>
+    <key>blocks_throttle</key>
     <param>
       <key>id</key>
-      <value>frame_size</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Frame Size</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>value</key>
-      <value>60</value>
+      <key>samples_per_second</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>type</key>
-      <value>intx</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>short_id</key>
-      <value></value>
+      <key>ignoretag</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>(249, 9)</value>
+      <value>(109, 224)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -384,10 +384,10 @@
     </param>
   </block>
   <block>
-    <key>blocks_vector_source_x</key>
+    <key>blocks_stream_to_tagged_stream</key>
     <param>
       <key>id</key>
-      <value>blocks_vector_source_x_0_1_0</value>
+      <value>blocks_stream_to_tagged_stream_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -398,20 +398,16 @@
       <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>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>packet_len</key>
+      <value>frame_size</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>len_tag_key</key>
+      <value>pkt_len</value>
     </param>
     <param>
       <key>alias</key>
@@ -431,7 +427,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(133, 190)</value>
+      <value>(83, 279)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -439,62 +435,81 @@
     </param>
   </block>
   <block>
-    <key>variable_cc_encoder_def</key>
+    <key>blocks_tagged_stream_to_pdu</key>
     <param>
       <key>id</key>
-      <value>enc_cc</value>
+      <value>blocks_tagged_stream_to_pdu_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>1</value>
+      <key>tag</key>
+      <value>pkt_len</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>k</key>
-      <value>k</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>rate</key>
-      <value>rate</value>
+      <key>_coordinate</key>
+      <value>(83, 369)</value>
     </param>
     <param>
-      <key>polys</key>
-      <value>polys</value>
+      <key>_rotation</key>
+      <value>180</value>
     </param>
+  </block>
+  <block>
+    <key>digital_crc32_async_bb</key>
     <param>
-      <key>state_start</key>
-      <value>0</value>
+      <key>id</key>
+      <value>digital_crc32_async_bb_0</value>
     </param>
     <param>
-      <key>mode</key>
-      <value>fec.CC_TERMINATED</value>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>check</key>
+      <value>False</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>(550, 696)</value>
+      <value>(101, 441)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -502,45 +517,34 @@
     </param>
   </block>
   <block>
-    <key>blocks_ctrlport_monitor_performance</key>
+    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>blocks_ctrlport_monitor_performance_0</value>
+      <value>analog_random_source_x_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>(549, 10)</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>min</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_unpack_k_bits_bb</key>
     <param>
-      <key>id</key>
-      <value>blocks_unpack_k_bits_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>k</key>
-      <value>8</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
     <param>
       <key>alias</key>
@@ -560,30 +564,26 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(118, 440)</value>
+      <value>(50, 502)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>0</value>
+      <value>180</value>
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>digital_map_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1_0_0</value>
+      <value>digital_map_bb_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>
@@ -603,7 +603,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(853, 255)</value>
+      <value>(713, 279)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -611,24 +611,36 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>blocks_repack_bits_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0</value>
+      <value>blocks_repack_bits_bb_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>k</key>
+      <value>8</value>
     </param>
     <param>
-      <key>scale</key>
+      <key>l</key>
       <value>1</value>
     </param>
     <param>
+      <key>len_tag_key</key>
+      <value>pkt_len</value>
+    </param>
+    <param>
+      <key>align_output</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>swap</key>
+      <value>False</value>
+    </param>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -646,7 +658,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(848, 392)</value>
+      <value>(452, 354)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -654,30 +666,22 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>blocks_pdu_to_tagged_stream</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_1</value>
+      <value>blocks_pdu_to_tagged_stream_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>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>None</value>
+      <key>tag</key>
+      <value>pkt_len</value>
     </param>
     <param>
       <key>alias</key>
@@ -697,7 +701,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(512, 361)</value>
+      <value>(400, 252)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -708,7 +712,7 @@
     <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1</value>
+      <value>blocks_char_to_float_0_0_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -740,7 +744,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(837, 554)</value>
+      <value>(1200, 191)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -748,34 +752,26 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>digital_crc32_bb</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_0</value>
+      <value>digital_crc32_bb_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
+      <value>False</value>
     </param>
     <param>
-      <key>encoder_list</key>
-      <value>enc_cc</value>
+      <key>check</key>
+      <value>True</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>lengthtagname</key>
+      <value>pkt_len</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
-    </param>
-    <param>
-      <key>lentagname</key>
-      <value>None</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
@@ -791,7 +787,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(511, 525)</value>
+      <value>(1214, 332)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -818,7 +814,7 @@
     </param>
     <param>
       <key>size</key>
-      <value>2048</value>
+      <value>512</value>
     </param>
     <param>
       <key>srate</key>
@@ -830,19 +826,19 @@
     </param>
     <param>
       <key>ymin</key>
-      <value>-0.5</value>
+      <value>-1</value>
     </param>
     <param>
       <key>ymax</key>
-      <value>1.5</value>
+      <value>140</value>
     </param>
     <param>
       <key>nconnections</key>
-      <value>2</value>
+      <value>1</value>
     </param>
     <param>
       <key>update_time</key>
-      <value>0.05</value>
+      <value>0.01</value>
     </param>
     <param>
       <key>entags</key>
@@ -878,7 +874,7 @@
     </param>
     <param>
       <key>label1</key>
-      <value>CCSDS</value>
+      <value>Input</value>
     </param>
     <param>
       <key>width1</key>
@@ -902,7 +898,7 @@
     </param>
     <param>
       <key>label2</key>
-      <value>CC</value>
+      <value>Dummy</value>
     </param>
     <param>
       <key>width2</key>
@@ -926,7 +922,7 @@
     </param>
     <param>
       <key>label3</key>
-      <value></value>
+      <value>Rep. (Rate=3)</value>
     </param>
     <param>
       <key>width3</key>
@@ -950,7 +946,7 @@
     </param>
     <param>
       <key>label4</key>
-      <value></value>
+      <value>CC (K=7, Rate=2)</value>
     </param>
     <param>
       <key>width4</key>
@@ -974,7 +970,7 @@
     </param>
     <param>
       <key>label5</key>
-      <value></value>
+      <value>CCSDS</value>
     </param>
     <param>
       <key>width5</key>
@@ -1126,7 +1122,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1193, 420)</value>
+      <value>(1364, 167)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1134,50 +1130,46 @@
     </param>
   </block>
   <block>
-    <key>variable_ccsds_encoder_def</key>
+    <key>fec_async_encoder</key>
     <param>
       <key>id</key>
-      <value>enc_ccsds</value>
+      <value>fec_async_encoder_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>encoder</key>
+      <value>enc_cc</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>1</value>
+      <key>rev_unpack</key>
+      <value>True</value>
     </param>
     <param>
-      <key>dim1</key>
-      <value>1</value>
+      <key>rev_pack</key>
+      <value>True</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>4</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>frame_size*8</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>state_start</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>mode</key>
-      <value>fec.CC_TERMINATED</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(843, 698)</value>
+      <value>(429, 148)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1185,10 +1177,10 @@
     </param>
   </block>
   <block>
-    <key>variable_dummy_encoder_def</key>
+    <key>variable_cc_encoder_def</key>
     <param>
       <key>id</key>
-      <value>enc_dummy</value>
+      <value>enc_cc</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1200,7 +1192,7 @@
     </param>
     <param>
       <key>ndim</key>
-      <value>1</value>
+      <value>0</value>
     </param>
     <param>
       <key>dim1</key>
@@ -1212,7 +1204,27 @@
     </param>
     <param>
       <key>framebits</key>
-      <value>frame_size*8</value>
+      <value>8000</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_TAILBITING</value>
     </param>
     <param>
       <key>alias</key>
@@ -1220,7 +1232,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1139, 698)</value>
+      <value>(401, 510)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1228,50 +1240,42 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>variable_dummy_encoder_def</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_0_0_0</value>
+      <value>enc_dummy</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>encoder_list</key>
-      <value>enc_rep</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>ndim</key>
+      <value>0</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>dim1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>none</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>alias</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>(512, 224)</value>
+      <value>(598, 509)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1279,322 +1283,285 @@
     </param>
   </block>
   <block>
-    <key>qtgui_time_sink_x</key>
+    <key>variable_dummy_decoder_def</key>
     <param>
       <key>id</key>
-      <value>qtgui_time_sink_x_0_0_1</value>
+      <value>dec_dummy</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>name</key>
-      <value>QT GUI Plot</value>
-    </param>
-    <param>
-      <key>size</key>
-      <value>2048</value>
-    </param>
-    <param>
-      <key>srate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>autoscale</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>ymin</key>
-      <value>-0.5</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>ymax</key>
-      <value>1.5</value>
+      <key>ndim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>nconnections</key>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>update_time</key>
-      <value>0.05</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>entags</key>
-      <value>True</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>gui_hint</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>tr_mode</key>
-      <value>qtgui.TRIG_MODE_FREE</value>
-    </param>
-    <param>
-      <key>tr_slope</key>
-      <value>qtgui.TRIG_SLOPE_POS</value>
-    </param>
-    <param>
-      <key>tr_level</key>
-      <value>0.0</value>
+      <key>_coordinate</key>
+      <value>(598, 588)</value>
     </param>
     <param>
-      <key>tr_delay</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_repetition_encoder_def</key>
     <param>
-      <key>tr_chan</key>
-      <value>0</value>
+      <key>id</key>
+      <value>enc_rep</value>
     </param>
     <param>
-      <key>tr_tag</key>
-      <value>packet_len</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>label1</key>
-      <value></value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>width1</key>
-      <value>1</value>
+      <key>ndim</key>
+      <value>0</value>
     </param>
     <param>
-      <key>color1</key>
-      <value>"blue"</value>
+      <key>dim1</key>
+      <value>4</value>
     </param>
     <param>
-      <key>style1</key>
+      <key>dim2</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker1</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha1</key>
-      <value>1.0</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>label2</key>
-      <value>CC</value>
+      <key>rep</key>
+      <value>3</value>
     </param>
     <param>
-      <key>width2</key>
-      <value>1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>color2</key>
-      <value>"red"</value>
+      <key>_coordinate</key>
+      <value>(780, 509)</value>
     </param>
     <param>
-      <key>style2</key>
-      <value>1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_repetition_decoder_def</key>
     <param>
-      <key>marker2</key>
-      <value>-1</value>
+      <key>id</key>
+      <value>dec_rep</value>
     </param>
     <param>
-      <key>alpha2</key>
-      <value>0.6</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>label3</key>
-      <value></value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>width3</key>
+      <key>ndim</key>
       <value>1</value>
     </param>
     <param>
-      <key>color3</key>
-      <value>"green"</value>
-    </param>
-    <param>
-      <key>style3</key>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker3</key>
-      <value>-1</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alpha3</key>
-      <value>1.0</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>label4</key>
-      <value></value>
+      <key>rep</key>
+      <value>3</value>
     </param>
     <param>
-      <key>width4</key>
-      <value>1</value>
+      <key>prob</key>
+      <value>0.5</value>
     </param>
     <param>
-      <key>color4</key>
-      <value>"black"</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>style4</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(782, 603)</value>
     </param>
     <param>
-      <key>marker4</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_cc_decoder_def</key>
     <param>
-      <key>alpha4</key>
-      <value>1.0</value>
+      <key>id</key>
+      <value>dec_cc</value>
     </param>
     <param>
-      <key>label5</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>width5</key>
-      <value>1</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>color5</key>
-      <value>"cyan"</value>
+      <key>ndim</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style5</key>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker5</key>
-      <value>-1</value>
+      <key>dim2</key>
+      <value>4</value>
     </param>
     <param>
-      <key>alpha5</key>
-      <value>1.0</value>
+      <key>framebits</key>
+      <value>8000</value>
     </param>
     <param>
-      <key>label6</key>
-      <value></value>
+      <key>k</key>
+      <value>k</value>
     </param>
     <param>
-      <key>width6</key>
-      <value>1</value>
+      <key>rate</key>
+      <value>rate</value>
     </param>
     <param>
-      <key>color6</key>
-      <value>"magenta"</value>
+      <key>polys</key>
+      <value>polys</value>
     </param>
     <param>
-      <key>style6</key>
-      <value>1</value>
+      <key>state_start</key>
+      <value>0</value>
     </param>
     <param>
-      <key>marker6</key>
+      <key>state_end</key>
       <value>-1</value>
     </param>
     <param>
-      <key>alpha6</key>
-      <value>1.0</value>
+      <key>mode</key>
+      <value>fec.CC_TAILBITING</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>
-    </param>
-    <param>
-      <key>style7</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(400, 668)</value>
     </param>
     <param>
-      <key>marker7</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_char_to_float</key>
     <param>
-      <key>alpha7</key>
-      <value>1.0</value>
+      <key>id</key>
+      <value>blocks_char_to_float_0_1</value>
     </param>
     <param>
-      <key>label8</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>width8</key>
+      <key>vlen</key>
       <value>1</value>
     </param>
     <param>
-      <key>color8</key>
-      <value>"dark red"</value>
-    </param>
-    <param>
-      <key>style8</key>
+      <key>scale</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker8</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha8</key>
-      <value>1.0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>label9</key>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>width9</key>
-      <value>1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>color9</key>
-      <value>"dark green"</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style9</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(707, 188)</value>
     </param>
     <param>
-      <key>marker9</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_repack_bits_bb</key>
     <param>
-      <key>alpha9</key>
-      <value>1.0</value>
+      <key>id</key>
+      <value>blocks_repack_bits_bb_0_0</value>
     </param>
     <param>
-      <key>label10</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>width10</key>
+      <key>k</key>
       <value>1</value>
     </param>
     <param>
-      <key>color10</key>
-      <value>"blue"</value>
+      <key>l</key>
+      <value>8</value>
     </param>
     <param>
-      <key>style10</key>
-      <value>1</value>
+      <key>len_tag_key</key>
+      <value>pkt_len</value>
     </param>
     <param>
-      <key>marker10</key>
-      <value>-1</value>
+      <key>align_output</key>
+      <value>False</value>
     </param>
     <param>
-      <key>alpha10</key>
-      <value>1.0</value>
+      <key>swap</key>
+      <value>False</value>
     </param>
     <param>
       <key>alias</key>
@@ -1605,8 +1572,16 @@
       <value></value>
     </param>
     <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(1084, 224)</value>
+      <value>(925, 309)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1614,10 +1589,10 @@
     </param>
   </block>
   <block>
-    <key>variable_repetition_encoder_def</key>
+    <key>fec_extended_tagged_decoder</key>
     <param>
       <key>id</key>
-      <value>enc_rep</value>
+      <value>fec_extended_tagged_decoder_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1625,35 +1600,43 @@
     </param>
     <param>
       <key>value</key>
-      <value>"ok"</value>
+      <value>fec_extended_decoder</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>1</value>
+      <key>decoder_list</key>
+      <value>dec_cc</value>
     </param>
     <param>
-      <key>dim1</key>
-      <value>1</value>
+      <key>ann</key>
+      <value>None</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>1</value>
+      <key>puncpat</key>
+      <value>puncpat</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>frame_size*8</value>
+      <key>lentagname</key>
+      <value>pkt_len</value>
     </param>
     <param>
-      <key>rep</key>
-      <value>3</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>(1141, 829)</value>
+      <value>(875, 164)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1674,62 +1657,86 @@
   </connection>
   <connection>
     <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_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>blocks_unpack_k_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_0</sink_block_id>
+    <source_block_id>blocks_tagged_stream_to_pdu_0</source_block_id>
+    <sink_block_id>digital_crc32_async_bb_0</sink_block_id>
+    <source_key>pdus</source_key>
+    <sink_key>in</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>digital_crc32_async_bb_0</source_block_id>
+    <sink_block_id>fec_async_encoder_0</sink_block_id>
+    <source_key>out</source_key>
+    <sink_key>in</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>fec_async_encoder_0</source_block_id>
+    <sink_block_id>blocks_pdu_to_tagged_stream_0</sink_block_id>
+    <source_key>out</source_key>
+    <sink_key>pdus</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
+    <sink_block_id>blocks_tagged_stream_to_pdu_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_0_0_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_0_0_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_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_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0_0_1</sink_block_id>
+    <source_block_id>digital_crc32_bb_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>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>blocks_repack_bits_bb_0_0</source_block_id>
+    <sink_block_id>digital_crc32_bb_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_encoder_1</source_block_id>
-    <sink_block_id>blocks_char_to_float_0</sink_block_id>
+    <source_block_id>blocks_pdu_to_tagged_stream_0</source_block_id>
+    <sink_block_id>blocks_repack_bits_bb_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_block_id>blocks_repack_bits_bb_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_encoder_0</source_block_id>
-    <sink_block_id>blocks_char_to_float_1</sink_block_id>
+    <source_block_id>digital_map_bb_0</source_block_id>
+    <sink_block_id>blocks_char_to_float_0_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>blocks_repack_bits_bb_0_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</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_0_1</source_block_id>
+    <sink_block_id>fec_extended_tagged_decoder_0</sink_block_id>
+    <source_key>0</source_key>
+    <sink_key>0</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>fec_extended_tagged_decoder_0</source_block_id>
+    <sink_block_id>blocks_repack_bits_bb_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
 </flow_graph>
diff --git a/gr-fec/examples/fecapi_decoders.grc 
b/gr-fec/examples/fecapi_decoders.grc
index 403eca0..46e6064 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>Tue May 13 17:44:52 2014</timestamp>
+  <timestamp>Sat May 17 16:52:55 2014</timestamp>
   <block>
     <key>options</key>
     <param>
@@ -68,7 +68,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>rate</value>
+      <value>polys</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -76,7 +76,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>2</value>
+      <value>[109, 79]</value>
     </param>
     <param>
       <key>alias</key>
@@ -84,7 +84,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(276, 837)</value>
+      <value>(98, 623)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -95,15 +95,15 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>polys</value>
+      <value>rate</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
     </param>
     <param>
       <key>value</key>
-      <value>[79, 109]</value>
+      <value>2</value>
     </param>
     <param>
       <key>alias</key>
@@ -111,7 +111,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(234, 922)</value>
+      <value>(123, 562)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -138,7 +138,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(175, 840)</value>
+      <value>(58, 562)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -149,7 +149,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>polys</value>
+      <value>samp_rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -157,7 +157,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>[109, 79]</value>
+      <value>50000</value>
     </param>
     <param>
       <key>alias</key>
@@ -165,7 +165,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(92, 925)</value>
+      <value>(10, 74)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -173,18 +173,30 @@
     </param>
   </block>
   <block>
-    <key>variable</key>
+    <key>parameter</key>
     <param>
       <key>id</key>
-      <value>samp_rate</value>
+      <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>50000</value>
+      <value>30</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>intx</value>
+    </param>
+    <param>
+      <key>short_id</key>
+      <value></value>
     </param>
     <param>
       <key>alias</key>
@@ -192,7 +204,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(9, 95)</value>
+      <value>(171, 10)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -231,7 +243,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(420, 9)</value>
+      <value>(280, 10)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -239,50 +251,73 @@
     </param>
   </block>
   <block>
-    <key>blocks_throttle</key>
+    <key>blocks_ctrlport_monitor_performance</key>
     <param>
       <key>id</key>
-      <value>blocks_throttle_0</value>
+      <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>type</key>
-      <value>byte</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>samp_rate</value>
+      <key>_coordinate</key>
+      <value>(361, 10)</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_repetition_encoder_def</key>
     <param>
-      <key>ignoretag</key>
+      <key>id</key>
+      <value>enc_rep</value>
+    </param>
+    <param>
+      <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>ndim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dim1</key>
+      <value>4</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <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>alias</key>
+      <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(102, 328)</value>
+      <value>(553, 562)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -290,73 +325,77 @@
     </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>variable_dummy_decoder_def</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_0</value>
+      <value>dec_dummy</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>min</key>
-      <value>0</value>
+      <key>ndim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>max</key>
-      <value>256</value>
+      <key>dim1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>1000</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>framebits</key>
+      <value>frame_size*8</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_coordinate</key>
+      <value>(370, 656)</value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_dummy_encoder_def</key>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>id</key>
+      <value>enc_dummy</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(57, 525)</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>180</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_ctrlport_monitor_performance</key>
     <param>
-      <key>id</key>
-      <value>blocks_ctrlport_monitor_performance_0</value>
+      <key>ndim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>False</value>
+      <key>dim1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>en</key>
-      <value>True</value>
+      <key>dim2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>framebits</key>
+      <value>frame_size*8</value>
     </param>
     <param>
       <key>alias</key>
@@ -364,7 +403,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(557, 17)</value>
+      <value>(370, 562)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -372,42 +411,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</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_TAILBITING</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(942, 584)</value>
+      <value>(174, 688)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -415,38 +478,50 @@
     </param>
   </block>
   <block>
-    <key>digital_map_bb</key>
+    <key>variable_ccsds_encoder_def</key>
     <param>
       <key>id</key>
-      <value>digital_map_bb_0_0</value>
+      <value>enc_ccsds</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>map</key>
-      <value>[-1, 1]</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>ndim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>dim1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dim2</key>
+      <value>4</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <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_TAILBITING</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(749, 583)</value>
+      <value>(189, 562)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -454,22 +529,34 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>fec_extended_decoder</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0_2_0</value>
+      <value>fec_extended_decoder_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_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>alias</key>
@@ -489,7 +576,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(942, 292)</value>
+      <value>(842, 401)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -497,18 +584,26 @@
     </param>
   </block>
   <block>
-    <key>digital_map_bb</key>
+    <key>fec_extended_encoder</key>
     <param>
       <key>id</key>
-      <value>digital_map_bb_0_0_0_0</value>
+      <value>fec_extended_encoder_1</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>map</key>
-      <value>[-1, 1]</value>
+      <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>alias</key>
@@ -528,7 +623,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(749, 291)</value>
+      <value>(321, 409)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -536,18 +631,18 @@
     </param>
   </block>
   <block>
-    <key>blocks_unpack_k_bits_bb</key>
+    <key>digital_map_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_unpack_k_bits_bb_0</value>
+      <value>digital_map_bb_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>k</key>
-      <value>8</value>
+      <key>map</key>
+      <value>[-1, 1]</value>
     </param>
     <param>
       <key>alias</key>
@@ -567,7 +662,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(119, 432)</value>
+      <value>(545, 425)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -575,30 +670,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</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>
@@ -618,7 +705,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(440, 260)</value>
+      <value>(684, 425)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -626,32 +713,36 @@
     </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>threadtype</key>
-      <value>capillary</value>
+      <key>decoder_list</key>
+      <value>dec_dummy</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>threadtype</key>
+      <value>none</value>
     </param>
     <param>
-      <key>lentagname</key>
+      <key>ann</key>
       <value>None</value>
     </param>
     <param>
+      <key>puncpat</key>
+      <value>puncpat</value>
+    </param>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -669,7 +760,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(443, 403)</value>
+      <value>(842, 213)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -677,18 +768,26 @@
     </param>
   </block>
   <block>
-    <key>digital_map_bb</key>
+    <key>fec_extended_encoder</key>
     <param>
       <key>id</key>
-      <value>digital_map_bb_0_0_0</value>
+      <value>fec_extended_encoder_1_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>map</key>
-      <value>[-1, 1]</value>
+      <key>encoder_list</key>
+      <value>enc_dummy</value>
+    </param>
+    <param>
+      <key>threadtype</key>
+      <value>capillary</value>
+    </param>
+    <param>
+      <key>puncpat</key>
+      <value>puncpat</value>
     </param>
     <param>
       <key>alias</key>
@@ -708,7 +807,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(750, 434)</value>
+      <value>(321, 221)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -716,22 +815,18 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>digital_map_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0_2</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>
@@ -751,7 +846,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(943, 435)</value>
+      <value>(543, 237)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -759,38 +854,42 @@
     </param>
   </block>
   <block>
-    <key>parameter</key>
+    <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>frame_size</value>
+      <value>blocks_char_to_float_0_2_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Frame Size</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>value</key>
-      <value>30</value>
+      <key>scale</key>
+      <value>1</value>
     </param>
     <param>
-      <key>type</key>
-      <value>intx</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>short_id</key>
+      <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>(249, 7)</value>
+      <value>(680, 237)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -828,10 +927,6 @@
       <value>puncpat</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>None</value>
-    </param>
-    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -849,7 +944,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1162, 393)</value>
+      <value>(842, 306)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -860,7 +955,7 @@
     <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0_0_0_0</value>
+      <value>blocks_char_to_float_0_2</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -892,7 +987,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1465, 292)</value>
+      <value>(682, 330)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -900,38 +995,65 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_decoder</key>
+    <key>digital_map_bb</key>
     <param>
       <key>id</key>
-      <value>fec_extended_decoder_0_1_0</value>
+      <value>digital_map_bb_0_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>fec_extended_decoder</value>
+      <key>map</key>
+      <value>[-1, 1]</value>
     </param>
     <param>
-      <key>decoder_list</key>
-      <value>dec_dummy</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>ann</key>
-      <value>None</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>None</value>
+      <key>_coordinate</key>
+      <value>(545, 330)</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_1_0</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>encoder_list</key>
+      <value>enc_rep</value>
+    </param>
+    <param>
+      <key>threadtype</key>
+      <value>capillary</value>
+    </param>
+    <param>
+      <key>puncpat</key>
+      <value>puncpat</value>
     </param>
     <param>
       <key>alias</key>
@@ -951,7 +1073,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1161, 250)</value>
+      <value>(321, 314)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -959,38 +1081,34 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_decoder</key>
+    <key>blocks_vector_source_x</key>
     <param>
       <key>id</key>
-      <value>fec_extended_decoder_0</value>
+      <value>blocks_vector_source_x_0_1_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>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</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>ann</key>
-      <value>None</value>
+      <key>tags</key>
+      <value>[]</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>None</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
       <key>alias</key>
@@ -1010,30 +1128,26 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1161, 542)</value>
+      <value>(56, 139)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>0</value>
+      <value>180</value>
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>blocks_unpack_k_bits_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0_1</value>
+      <value>blocks_unpack_k_bits_bb_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>k</key>
+      <value>8</value>
     </param>
     <param>
       <key>alias</key>
@@ -1053,7 +1167,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(440, 184)</value>
+      <value>(116, 371)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1061,34 +1175,34 @@
     </param>
   </block>
   <block>
-    <key>blocks_vector_source_x</key>
+    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>blocks_vector_source_x_0_1_0</value>
+      <value>analog_random_source_x_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
+      <value>False</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>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>tags</key>
-      <value>[]</value>
+      <key>max</key>
+      <value>256</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>num_samps</key>
+      <value>1000</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
     <param>
       <key>alias</key>
@@ -1108,7 +1222,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(59, 200)</value>
+      <value>(54, 464)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1116,164 +1230,50 @@
     </param>
   </block>
   <block>
-    <key>variable_ccsds_encoder_def</key>
+    <key>blocks_throttle</key>
     <param>
       <key>id</key>
-      <value>enc_ccsds</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>1</value>
+      <key>samples_per_second</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>dim1</key>
+      <key>vlen</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>
+      <key>ignoretag</key>
+      <value>True</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(379, 841)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable_cc_decoder_def</key>
-    <param>
-      <key>id</key>
-      <value>dec_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>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>
-    </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>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(379, 1010)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable_repetition_encoder_def</key>
-    <param>
-      <key>id</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>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>alias</key>
-      <value></value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(936, 841)</value>
+      <value>(99, 267)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1324,144 +1324,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(936, 983)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </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>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>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(670, 968)</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>frame_size*8</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(672, 842)</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_1</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>(441, 552)</value>
+      <value>(553, 674)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1475,494 +1338,104 @@
       <value>blocks_char_to_float_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>
-    </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>(1466, 435)</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_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>(1465, 584)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_sub_xx</key>
-    <param>
-      <key>id</key>
-      <value>blocks_sub_xx_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>num_inputs</key>
-      <value>2</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>(1836, 569)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>blocks_abs_xx</key>
-    <param>
-      <key>id</key>
-      <value>blocks_abs_xx_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>num_inputs</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>(1434, 834)</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_1</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
-    </param>
-    <param>
-      <key>name</key>
-      <value>QT GUI Plot</value>
-    </param>
-    <param>
-      <key>size</key>
-      <value>1024</value>
-    </param>
-    <param>
-      <key>srate</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>autoscale</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>ymin</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>ymax</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>nconnections</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>update_time</key>
-      <value>0.01</value>
-    </param>
-    <param>
-      <key>entags</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>gui_hint</key>
-      <value></value>
-    </param>
-    <param>
-      <key>tr_mode</key>
-      <value>qtgui.TRIG_MODE_NORM</value>
-    </param>
-    <param>
-      <key>tr_slope</key>
-      <value>qtgui.TRIG_SLOPE_POS</value>
-    </param>
-    <param>
-      <key>tr_level</key>
-      <value>0.1</value>
-    </param>
-    <param>
-      <key>tr_delay</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>tr_chan</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>tr_tag</key>
-      <value>""</value>
-    </param>
-    <param>
-      <key>label1</key>
-      <value></value>
-    </param>
-    <param>
-      <key>width1</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>color1</key>
-      <value>"blue"</value>
-    </param>
-    <param>
-      <key>style1</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>marker1</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha1</key>
-      <value>1.0</value>
-    </param>
-    <param>
-      <key>label2</key>
-      <value></value>
-    </param>
-    <param>
-      <key>width2</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>color2</key>
-      <value>"red"</value>
-    </param>
-    <param>
-      <key>style2</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>marker2</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha2</key>
-      <value>1.0</value>
-    </param>
-    <param>
-      <key>label3</key>
-      <value></value>
-    </param>
-    <param>
-      <key>width3</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>color3</key>
-      <value>"green"</value>
-    </param>
-    <param>
-      <key>style3</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>marker3</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha3</key>
-      <value>1.0</value>
-    </param>
-    <param>
-      <key>label4</key>
-      <value></value>
-    </param>
-    <param>
-      <key>width4</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>color4</key>
-      <value>"black"</value>
-    </param>
-    <param>
-      <key>style4</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>marker4</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha4</key>
-      <value>1.0</value>
-    </param>
-    <param>
-      <key>label5</key>
-      <value></value>
-    </param>
-    <param>
-      <key>width5</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>color5</key>
-      <value>"cyan"</value>
-    </param>
-    <param>
-      <key>style5</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>marker5</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha5</key>
-      <value>1.0</value>
-    </param>
-    <param>
-      <key>label6</key>
-      <value></value>
-    </param>
-    <param>
-      <key>width6</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>color6</key>
-      <value>"magenta"</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>style6</key>
+      <key>vlen</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker6</key>
-      <value>-1</value>
+      <key>scale</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alpha6</key>
-      <value>1.0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>label7</key>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>width7</key>
-      <value>1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>color7</key>
-      <value>"yellow"</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style7</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(1067, 330)</value>
     </param>
     <param>
-      <key>marker7</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_char_to_float</key>
     <param>
-      <key>alpha7</key>
-      <value>1.0</value>
+      <key>id</key>
+      <value>blocks_char_to_float_0_0_0_0</value>
     </param>
     <param>
-      <key>label8</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>width8</key>
+      <key>vlen</key>
       <value>1</value>
     </param>
     <param>
-      <key>color8</key>
-      <value>"dark red"</value>
-    </param>
-    <param>
-      <key>style8</key>
+      <key>scale</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker8</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha8</key>
-      <value>1.0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>label9</key>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>width9</key>
-      <value>1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>color9</key>
-      <value>"dark green"</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style9</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(1064, 237)</value>
     </param>
     <param>
-      <key>marker9</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_char_to_float</key>
     <param>
-      <key>alpha9</key>
-      <value>1.0</value>
+      <key>id</key>
+      <value>blocks_char_to_float_0_0</value>
     </param>
     <param>
-      <key>label10</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>width10</key>
+      <key>vlen</key>
       <value>1</value>
     </param>
     <param>
-      <key>color10</key>
-      <value>"blue"</value>
-    </param>
-    <param>
-      <key>style10</key>
+      <key>scale</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker10</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha10</key>
-      <value>1.0</value>
-    </param>
-    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -1971,8 +1444,16 @@
       <value></value>
     </param>
     <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(1587, 793)</value>
+      <value>(1064, 425)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -2307,7 +1788,50 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1845, 201)</value>
+      <value>(1292, 178)</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>(322, 152)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -2315,26 +1839,26 @@
     </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>
+    <source_block_id>blocks_char_to_float_0_0_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_0</source_block_id>
-    <sink_block_id>blocks_throttle_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_0_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>2</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>3</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_block_id>blocks_char_to_float_0_1</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -2345,32 +1869,32 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_map_bb_0_0</source_block_id>
-    <sink_block_id>blocks_char_to_float_0</sink_block_id>
+    <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id>
+    <sink_block_id>fec_extended_encoder_1_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_encoder_1</source_block_id>
-    <sink_block_id>digital_map_bb_0_0</sink_block_id>
+    <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id>
+    <sink_block_id>fec_extended_encoder_1_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0</source_block_id>
-    <sink_block_id>fec_extended_decoder_0</sink_block_id>
+    <source_block_id>digital_map_bb_0_0_0</source_block_id>
+    <sink_block_id>blocks_char_to_float_0_2</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_block_id>fec_extended_encoder_1_0</source_block_id>
+    <sink_block_id>digital_map_bb_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_encoder_1_0_0</source_block_id>
-    <sink_block_id>digital_map_bb_0_0_0_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_0_2</source_block_id>
+    <sink_block_id>fec_extended_decoder_0_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -2381,68 +1905,56 @@
     <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_0_0</sink_block_id>
+    <source_block_id>fec_extended_encoder_1_0_0</source_block_id>
+    <sink_block_id>digital_map_bb_0_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</source_block_id>
-    <sink_block_id>fec_extended_encoder_1_0</sink_block_id>
+    <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>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0_2</source_block_id>
-    <sink_block_id>fec_extended_decoder_0_1</sink_block_id>
+    <source_block_id>blocks_char_to_float_0</source_block_id>
+    <sink_block_id>fec_extended_decoder_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_encoder_1_0</source_block_id>
-    <sink_block_id>digital_map_bb_0_0_0</sink_block_id>
+    <source_block_id>fec_extended_encoder_1</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>digital_map_bb_0_0_0</source_block_id>
-    <sink_block_id>blocks_char_to_float_0_2</sink_block_id>
+    <source_block_id>digital_map_bb_0_0</source_block_id>
+    <sink_block_id>blocks_char_to_float_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_decoder_0_1</source_block_id>
-    <sink_block_id>blocks_char_to_float_0_0_0</sink_block_id>
+    <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>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0_1</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>blocks_throttle_0</source_block_id>
+    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0_0_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>blocks_char_to_float_0_0_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>2</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>blocks_char_to_float_0_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>analog_random_source_x_0</source_block_id>
+    <sink_block_id>blocks_throttle_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>3</sink_key>
+    <sink_key>0</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_block_id>blocks_vector_source_x_0_1_0</source_block_id>
+    <sink_block_id>blocks_throttle_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -2453,26 +1965,14 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0_0_0</source_block_id>
-    <sink_block_id>blocks_sub_xx_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>blocks_char_to_float_0_0</source_block_id>
-    <sink_block_id>blocks_sub_xx_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>1</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>blocks_sub_xx_0</source_block_id>
-    <sink_block_id>blocks_abs_xx_0</sink_block_id>
+    <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_abs_xx_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_1</sink_block_id>
+    <source_block_id>fec_extended_decoder_0_1</source_block_id>
+    <sink_block_id>blocks_char_to_float_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
diff --git a/gr-fec/examples/fecapi_encoders.grc 
b/gr-fec/examples/fecapi_encoders.grc
index 1bf3c47..b63b6c5 100644
--- a/gr-fec/examples/fecapi_encoders.grc
+++ b/gr-fec/examples/fecapi_encoders.grc
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='ASCII'?>
 <flow_graph>
-  <timestamp>Mon May 12 16:15:19 2014</timestamp>
+  <timestamp>Sat May 17 17:08:36 2014</timestamp>
   <block>
     <key>options</key>
     <param>
@@ -68,7 +68,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>rate</value>
+      <value>polys</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -76,7 +76,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>2</value>
+      <value>[109, 79]</value>
     </param>
     <param>
       <key>alias</key>
@@ -84,7 +84,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(454, 692)</value>
+      <value>(67, 488)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -95,7 +95,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>polys</value>
+      <value>rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -103,7 +103,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>[109, 79]</value>
+      <value>2</value>
     </param>
     <param>
       <key>alias</key>
@@ -111,7 +111,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(270, 780)</value>
+      <value>(92, 424)</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>(412, 777)</value>
+      <value>(24, 424)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -149,7 +149,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>k</value>
+      <value>samp_rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -157,7 +157,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>7</value>
+      <value>50000</value>
     </param>
     <param>
       <key>alias</key>
@@ -165,7 +165,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(353, 695)</value>
+      <value>(10, 73)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -173,18 +173,30 @@
     </param>
   </block>
   <block>
-    <key>variable</key>
+    <key>parameter</key>
     <param>
       <key>id</key>
-      <value>samp_rate</value>
+      <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>50000</value>
+      <value>60</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>intx</value>
+    </param>
+    <param>
+      <key>short_id</key>
+      <value></value>
     </param>
     <param>
       <key>alias</key>
@@ -192,7 +204,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(7, 95)</value>
+      <value>(170, 10)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -231,7 +243,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(420, 9)</value>
+      <value>(279, 10)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -239,10 +251,37 @@
     </param>
   </block>
   <block>
-    <key>blocks_throttle</key>
+    <key>blocks_ctrlport_monitor_performance</key>
     <param>
       <key>id</key>
-      <value>blocks_throttle_0</value>
+      <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>(372, 11)</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>
@@ -253,18 +292,22 @@
       <value>byte</value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>samp_rate</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>vlen</key>
-      <value>1</value>
+      <key>tags</key>
+      <value>[]</value>
     </param>
     <param>
-      <key>ignoretag</key>
+      <key>repeat</key>
       <value>True</value>
     </param>
     <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -282,7 +325,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(105, 331)</value>
+      <value>(17, 139)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -290,33 +333,29 @@
     </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>blocks_throttle</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_0</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</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>
+      <key>samples_per_second</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>1000</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>repeat</key>
+      <key>ignoretag</key>
       <value>True</value>
     </param>
     <param>
@@ -337,7 +376,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(111, 523)</value>
+      <value>(52, 221)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -345,38 +384,38 @@
     </param>
   </block>
   <block>
-    <key>parameter</key>
+    <key>blocks_unpack_k_bits_bb</key>
     <param>
       <key>id</key>
-      <value>frame_size</value>
+      <value>blocks_unpack_k_bits_bb_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Frame Size</value>
+      <key>k</key>
+      <value>8</value>
     </param>
     <param>
-      <key>value</key>
-      <value>60</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>type</key>
-      <value>intx</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>short_id</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>(249, 9)</value>
+      <value>(63, 268)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -384,34 +423,34 @@
     </param>
   </block>
   <block>
-    <key>blocks_vector_source_x</key>
+    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>blocks_vector_source_x_0_1_0</value>
+      <value>analog_random_source_x_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
+      <value>False</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>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>tags</key>
-      <value>[]</value>
+      <key>max</key>
+      <value>256</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>num_samps</key>
+      <value>1000</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
     <param>
       <key>alias</key>
@@ -431,11 +470,11 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(133, 190)</value>
+      <value>(20, 320)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>180</value>
+      <value>0</value>
     </param>
   </block>
   <block>
@@ -494,7 +533,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(550, 696)</value>
+      <value>(158, 424)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -502,26 +541,97 @@
     </param>
   </block>
   <block>
-    <key>blocks_ctrlport_monitor_performance</key>
+    <key>variable_ccsds_encoder_def</key>
     <param>
       <key>id</key>
-      <value>blocks_ctrlport_monitor_performance_0</value>
+      <value>enc_ccsds</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
     </param>
     <param>
-      <key>en</key>
+      <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_TERMINATED</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(356, 424)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>variable_repetition_encoder_def</key>
+    <param>
+      <key>id</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>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>rep</key>
+      <value>3</value>
+    </param>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(549, 10)</value>
+      <value>(549, 424)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -529,18 +639,65 @@
     </param>
   </block>
   <block>
-    <key>blocks_unpack_k_bits_bb</key>
+    <key>variable_dummy_encoder_def</key>
     <param>
       <key>id</key>
-      <value>blocks_unpack_k_bits_bb_0</value>
+      <value>enc_dummy</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>k</key>
-      <value>8</value>
+      <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>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(747, 424)</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</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>
@@ -560,7 +717,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(118, 440)</value>
+      <value>(567, 231)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -571,7 +728,7 @@
     <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1_0_0</value>
+      <value>blocks_char_to_float_1</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -603,7 +760,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(853, 255)</value>
+      <value>(567, 309)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -614,7 +771,7 @@
     <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0</value>
+      <value>blocks_char_to_float_1_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -646,7 +803,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(848, 392)</value>
+      <value>(568, 154)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -657,7 +814,7 @@
     <key>fec_extended_encoder</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_1</value>
+      <value>fec_extended_encoder_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -665,7 +822,7 @@
     </param>
     <param>
       <key>encoder_list</key>
-      <value>enc_ccsds</value>
+      <value>enc_cc</value>
     </param>
     <param>
       <key>threadtype</key>
@@ -676,10 +833,6 @@
       <value>puncpat</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>None</value>
-    </param>
-    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -697,7 +850,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(512, 361)</value>
+      <value>(347, 293)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -705,22 +858,26 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>fec_extended_encoder</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1</value>
+      <value>fec_extended_encoder_0_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>encoder_list</key>
+      <value>enc_rep</value>
     </param>
     <param>
-      <key>scale</key>
-      <value>1</value>
+      <key>threadtype</key>
+      <value>none</value>
+    </param>
+    <param>
+      <key>puncpat</key>
+      <value>puncpat</value>
     </param>
     <param>
       <key>alias</key>
@@ -740,7 +897,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(837, 554)</value>
+      <value>(347, 138)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -751,7 +908,7 @@
     <key>fec_extended_encoder</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_0</value>
+      <value>fec_extended_encoder_1</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -759,7 +916,7 @@
     </param>
     <param>
       <key>encoder_list</key>
-      <value>enc_cc</value>
+      <value>enc_ccsds</value>
     </param>
     <param>
       <key>threadtype</key>
@@ -770,10 +927,6 @@
       <value>puncpat</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>None</value>
-    </param>
-    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -791,7 +944,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(511, 525)</value>
+      <value>(347, 215)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -802,7 +955,7 @@
     <key>qtgui_time_sink_x</key>
     <param>
       <key>id</key>
-      <value>qtgui_time_sink_x_0</value>
+      <value>qtgui_time_sink_x_0_0_1</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -838,7 +991,7 @@
     </param>
     <param>
       <key>nconnections</key>
-      <value>2</value>
+      <value>1</value>
     </param>
     <param>
       <key>update_time</key>
@@ -874,11 +1027,11 @@
     </param>
     <param>
       <key>tr_tag</key>
-      <value>""</value>
+      <value>packet_len</value>
     </param>
     <param>
       <key>label1</key>
-      <value>CCSDS</value>
+      <value></value>
     </param>
     <param>
       <key>width1</key>
@@ -1126,152 +1279,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1193, 420)</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_TERMINATED</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(843, 698)</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>frame_size*8</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(1139, 698)</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_rep</value>
-    </param>
-    <param>
-      <key>threadtype</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>(512, 224)</value>
+      <value>(760, 130)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1282,7 +1290,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</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1318,7 +1326,7 @@
     </param>
     <param>
       <key>nconnections</key>
-      <value>1</value>
+      <value>2</value>
     </param>
     <param>
       <key>update_time</key>
@@ -1354,11 +1362,11 @@
     </param>
     <param>
       <key>tr_tag</key>
-      <value>packet_len</value>
+      <value>""</value>
     </param>
     <param>
       <key>label1</key>
-      <value></value>
+      <value>CCSDS</value>
     </param>
     <param>
       <key>width1</key>
@@ -1606,54 +1614,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1084, 224)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable_repetition_encoder_def</key>
-    <param>
-      <key>id</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>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>rep</key>
-      <value>3</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(1141, 829)</value>
+      <value>(762, 250)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1673,26 +1634,26 @@
     <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</sink_block_id>
+    <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_0</sink_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>blocks_unpack_k_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_0_0_0</sink_block_id>
+    <sink_block_id>fec_extended_encoder_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_0_1</sink_block_id>
+    <source_block_id>blocks_throttle_0</source_block_id>
+    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -1709,27 +1670,27 @@
     <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_block_id>blocks_char_to_float_1</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</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_block_id>blocks_char_to_float_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <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>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_1</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_1_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0_0_1</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
 </flow_graph>
diff --git a/gr-fec/examples/fecapi_tagged_decoders.grc 
b/gr-fec/examples/fecapi_tagged_decoders.grc
index 9734732..a2e521d 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>Wed May 14 12:22:39 2014</timestamp>
+  <timestamp>Sat May 17 17:05:02 2014</timestamp>
   <block>
     <key>options</key>
     <param>
@@ -68,15 +68,15 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>polys</value>
+      <value>rep</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
     </param>
     <param>
       <key>value</key>
-      <value>[79, 109]</value>
+      <value>3</value>
     </param>
     <param>
       <key>alias</key>
@@ -84,7 +84,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(368, 684)</value>
+      <value>(365, 759)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -95,7 +95,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>rate</value>
+      <value>k</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -103,7 +103,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>2</value>
+      <value>7</value>
     </param>
     <param>
       <key>alias</key>
@@ -111,7 +111,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(410, 599)</value>
+      <value>(30, 520)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -122,7 +122,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>polys</value>
+      <value>length_tag</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -130,7 +130,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>[109, 79]</value>
+      <value>"packet_len"</value>
     </param>
     <param>
       <key>alias</key>
@@ -138,7 +138,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(226, 687)</value>
+      <value>(101, 73)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -149,7 +149,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>k</value>
+      <value>samp_rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -157,7 +157,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>7</value>
+      <value>50000</value>
     </param>
     <param>
       <key>alias</key>
@@ -165,7 +165,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(309, 602)</value>
+      <value>(12, 73)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -176,7 +176,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>length_tag</value>
+      <value>rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -184,7 +184,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>"packet_len"</value>
+      <value>2</value>
     </param>
     <param>
       <key>alias</key>
@@ -192,7 +192,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(202, 112)</value>
+      <value>(97, 520)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -203,7 +203,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>samp_rate</value>
+      <value>polys</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -211,7 +211,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>50000</value>
+      <value>[109, 79]</value>
     </param>
     <param>
       <key>alias</key>
@@ -219,7 +219,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(9, 95)</value>
+      <value>(72, 584)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -258,7 +258,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(248, 9)</value>
+      <value>(211, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -269,7 +269,7 @@
     <key>parameter</key>
     <param>
       <key>id</key>
-      <value>frame_size</value>
+      <value>MTU</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -277,11 +277,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>
@@ -297,7 +297,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(484, 10)</value>
+      <value>(291, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -308,7 +308,7 @@
     <key>parameter</key>
     <param>
       <key>id</key>
-      <value>MTU</value>
+      <value>frame_size</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -316,11 +316,11 @@
     </param>
     <param>
       <key>label</key>
-      <value>MTU</value>
+      <value>Frame Size</value>
     </param>
     <param>
       <key>value</key>
-      <value>1000</value>
+      <value>30</value>
     </param>
     <param>
       <key>type</key>
@@ -336,7 +336,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(365, 9)</value>
+      <value>(371, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -344,54 +344,26 @@
     </param>
   </block>
   <block>
-    <key>blocks_vector_source_x</key>
+    <key>blocks_ctrlport_monitor_performance</key>
     <param>
       <key>id</key>
-      <value>blocks_vector_source_x_0_1_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>vector</key>
-      <value>4*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value>
-    </param>
-    <param>
-      <key>tags</key>
-      <value>[]</value>
+      <value>False</value>
     </param>
     <param>
-      <key>repeat</key>
+      <key>en</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>(271, 211)</value>
+      <value>(487, 12)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -399,63 +371,36 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1_2</value>
+      <value>analog_random_source_x_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>
+      <value>False</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>min</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1235, 186)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>max</key>
+      <value>256</value>
     </param>
-  </block>
-  <block>
-    <key>digital_map_bb</key>
     <param>
-      <key>id</key>
-      <value>digital_map_bb_0_1</value>
+      <key>num_samps</key>
+      <value>1000</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>repeat</key>
       <value>True</value>
     </param>
     <param>
-      <key>map</key>
-      <value>[-1, 1]</value>
-    </param>
-    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -473,7 +418,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1050, 186)</value>
+      <value>(12, 142)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -481,38 +426,34 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_decoder</key>
+    <key>blocks_vector_source_x</key>
     <param>
       <key>id</key>
-      <value>fec_extended_decoder_2</value>
+      <value>blocks_vector_source_x_0_1_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>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>vector</key>
+      <value>4*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value>
     </param>
     <param>
-      <key>ann</key>
-      <value>None</value>
+      <key>tags</key>
+      <value>[]</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>length_tag</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
       <key>alias</key>
@@ -532,7 +473,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1455, 443)</value>
+      <value>(149, 152)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -540,18 +481,30 @@
     </param>
   </block>
   <block>
-    <key>digital_map_bb</key>
+    <key>blocks_throttle</key>
     <param>
       <key>id</key>
-      <value>digital_map_bb_0</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>map</key>
-      <value>[-1, 1]</value>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>samples_per_second</key>
+      <value>samp_rate</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>ignoretag</key>
+      <value>True</value>
     </param>
     <param>
       <key>alias</key>
@@ -571,7 +524,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1049, 332)</value>
+      <value>(365, 168)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -579,22 +532,30 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>blocks_stream_to_tagged_stream</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1</value>
+      <value>blocks_stream_to_tagged_stream_0_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>scale</key>
-      <value>1</value>
+      <key>packet_len</key>
+      <value>frame_size</value>
+    </param>
+    <param>
+      <key>len_tag_key</key>
+      <value>length_tag</value>
     </param>
     <param>
       <key>alias</key>
@@ -614,7 +575,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1234, 332)</value>
+      <value>(551, 160)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -622,81 +583,62 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>variable_cc_encoder_def</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1_1</value>
+      <value>enc_cc</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>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>ndim</key>
+      <value>0</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>dim1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>framebits</key>
+      <value>MTU*8</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1241, 483)</value>
+      <key>k</key>
+      <value>k</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>rate</key>
+      <value>rate</value>
     </param>
-  </block>
-  <block>
-    <key>digital_map_bb</key>
     <param>
-      <key>id</key>
-      <value>digital_map_bb_0_0</value>
+      <key>polys</key>
+      <value>polys</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>state_start</key>
+      <value>0</value>
     </param>
     <param>
-      <key>map</key>
-      <value>[-1, 1]</value>
+      <key>mode</key>
+      <value>fec.CC_STREAMING</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>(1058, 485)</value>
+      <value>(166, 519)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -704,10 +646,10 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_decoder</key>
+    <key>variable_cc_decoder_def</key>
     <param>
       <key>id</key>
-      <value>fec_extended_decoder_1</value>
+      <value>dec_cc</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -715,47 +657,141 @@
     </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>1</value>
     </param>
     <param>
-      <key>ann</key>
-      <value>None</value>
+      <key>dim2</key>
+      <value>4</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>framebits</key>
+      <value>MTU*8</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>length_tag</value>
+      <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>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>affinity</key>
-      <value></value>
+      <key>_coordinate</key>
+      <value>(166, 678)</value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_dummy_decoder_def</key>
     <param>
-      <key>maxoutbuf</key>
+      <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>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>(561, 614)</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>(1454, 290)</value>
+      <value>(561, 519)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -763,10 +799,10 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_decoder</key>
+    <key>fec_extended_tagged_decoder</key>
     <param>
       <key>id</key>
-      <value>fec_extended_decoder_0</value>
+      <value>fec_extended_tagged_decoder_0_1</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -778,11 +814,7 @@
     </param>
     <param>
       <key>decoder_list</key>
-      <value>dec_dummy</value>
-    </param>
-    <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <value>dec_cc</value>
     </param>
     <param>
       <key>ann</key>
@@ -814,7 +846,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1455, 143)</value>
+      <value>(991, 440)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -857,7 +889,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1802, 485)</value>
+      <value>(1257, 464)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -900,7 +932,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1798, 332)</value>
+      <value>(1256, 363)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -911,7 +943,50 @@
     <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1_0_1</value>
+      <value>blocks_char_to_float_1_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>(813, 443)</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</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -943,7 +1018,62 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1799, 186)</value>
+      <value>(811, 363)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>fec_extended_tagged_decoder</key>
+    <param>
+      <key>id</key>
+      <value>fec_extended_tagged_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_dummy</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>
+      <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>(990, 238)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1278,7 +1408,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(2061, 300)</value>
+      <value>(1465, 333)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1286,62 +1416,42 @@
     </param>
   </block>
   <block>
-    <key>variable_cc_encoder_def</key>
+    <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>enc_cc</value>
+      <value>blocks_char_to_float_1_0_1</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>
+      <key>vlen</key>
       <value>1</value>
     </param>
     <param>
-      <key>dim2</key>
+      <key>scale</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>
+      <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>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>(509, 598)</value>
+      <value>(1258, 262)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1349,66 +1459,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_1_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>MTU*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>(505, 831)</value>
+      <value>(810, 284)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1416,10 +1502,10 @@
     </param>
   </block>
   <block>
-    <key>variable_repetition_decoder_def</key>
+    <key>fec_extended_tagged_decoder</key>
     <param>
       <key>id</key>
-      <value>dec_rep</value>
+      <value>fec_extended_tagged_decoder_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1427,82 +1513,43 @@
     </param>
     <param>
       <key>value</key>
-      <value>"ok"</value>
-    </param>
-    <param>
-      <key>ndim</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>dim1</key>
-      <value>1</value>
+      <value>fec_extended_decoder</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>1</value>
+      <key>decoder_list</key>
+      <value>dec_rep</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>MTU*8</value>
+      <key>ann</key>
+      <value>None</value>
     </param>
     <param>
-      <key>rep</key>
-      <value>3</value>
+      <key>puncpat</key>
+      <value>puncpat</value>
     </param>
     <param>
-      <key>prob</key>
-      <value>0.5</value>
+      <key>lentagname</key>
+      <value>length_tag</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(799, 741)</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
-  </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>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>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1094, 722)</value>
+      <value>(991, 339)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1510,69 +1557,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_1</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>
+      <key>map</key>
+      <value>[-1, 1]</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1092, 599)</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>minoutbuf</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>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(651, 15)</value>
+      <value>(673, 284)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1580,46 +1596,46 @@
     </param>
   </block>
   <block>
-    <key>variable_repetition_encoder_def</key>
+    <key>fec_extended_tagged_encoder</key>
     <param>
       <key>id</key>
-      <value>enc_rep</value>
+      <value>fec_extended_tagged_encoder_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>puncpat</key>
+      <value>puncpat</value>
     </param>
     <param>
-      <key>dim1</key>
-      <value>1</value>
+      <key>lentagname</key>
+      <value>length_tag</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>MTU*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>(799, 599)</value>
+      <value>(332, 268)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1627,34 +1643,34 @@
     </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>blocks_repack_bits_bb</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_0</value>
+      <value>blocks_repack_bits_bb_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>k</key>
+      <value>8</value>
     </param>
     <param>
-      <key>min</key>
-      <value>0</value>
+      <key>l</key>
+      <value>1</value>
     </param>
     <param>
-      <key>max</key>
-      <value>256</value>
+      <key>len_tag_key</key>
+      <value>packet_len</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>1000</value>
+      <key>align_output</key>
+      <value>False</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>swap</key>
+      <value>False</value>
     </param>
     <param>
       <key>alias</key>
@@ -1674,7 +1690,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(29, 205)</value>
+      <value>(64, 276)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1682,30 +1698,18 @@
     </param>
   </block>
   <block>
-    <key>blocks_throttle</key>
+    <key>digital_map_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_throttle_0</value>
+      <value>digital_map_bb_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
-    </param>
-    <param>
-      <key>samples_per_second</key>
-      <value>samp_rate</value>
-    </param>
-    <param>
-      <key>vlen</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>ignoretag</key>
-      <value>True</value>
+      <key>map</key>
+      <value>[-1, 1]</value>
     </param>
     <param>
       <key>alias</key>
@@ -1725,38 +1729,26 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(409, 349)</value>
+      <value>(674, 363)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>180</value>
+      <value>0</value>
     </param>
   </block>
   <block>
-    <key>blocks_stream_to_tagged_stream</key>
+    <key>digital_map_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_stream_to_tagged_stream_0_0_0</value>
+      <value>digital_map_bb_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</value>
-    </param>
-    <param>
-      <key>len_tag_key</key>
-      <value>length_tag</value>
+      <key>map</key>
+      <value>[-1, 1]</value>
     </param>
     <param>
       <key>alias</key>
@@ -1776,18 +1768,18 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(71, 339)</value>
+      <value>(674, 443)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>180</value>
+      <value>0</value>
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>fec_extended_tagged_encoder</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_2</value>
+      <value>fec_extended_tagged_encoder_0_1</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1798,10 +1790,6 @@
       <value>enc_cc</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
-    </param>
-    <param>
       <key>puncpat</key>
       <value>puncpat</value>
     </param>
@@ -1827,7 +1815,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(705, 453)</value>
+      <value>(332, 427)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1835,10 +1823,10 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>fec_extended_tagged_encoder</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_1</value>
+      <value>fec_extended_tagged_encoder_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1849,10 +1837,6 @@
       <value>enc_rep</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
-    </param>
-    <param>
       <key>puncpat</key>
       <value>puncpat</value>
     </param>
@@ -1878,7 +1862,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(704, 301)</value>
+      <value>(332, 347)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1886,50 +1870,46 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>variable_repetition_encoder_def</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_0</value>
+      <value>enc_rep</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>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>ndim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>length_tag</value>
+      <key>dim1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>framebits</key>
+      <value>MTU*8</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>rep</key>
+      <value>rep</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(705, 155)</value>
+      <value>(362, 519)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1937,50 +1917,50 @@
     </param>
   </block>
   <block>
-    <key>blocks_repack_bits_bb</key>
+    <key>variable_repetition_decoder_def</key>
     <param>
       <key>id</key>
-      <value>blocks_repack_bits_bb_0</value>
+      <value>dec_rep</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>k</key>
-      <value>8</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>l</key>
+      <key>ndim</key>
       <value>1</value>
     </param>
     <param>
-      <key>len_tag_key</key>
-      <value>packet_len</value>
+      <key>dim1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>align_output</key>
-      <value>False</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>framebits</key>
+      <value>MTU*8</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>rep</key>
+      <value>rep</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>(353, 435)</value>
+      <value>(362, 631)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -2000,122 +1980,122 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_map_bb_0_1</source_block_id>
-    <sink_block_id>blocks_char_to_float_1_2</sink_block_id>
+    <source_block_id>blocks_throttle_0</source_block_id>
+    <sink_block_id>blocks_stream_to_tagged_stream_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_2</source_block_id>
-    <sink_block_id>fec_extended_decoder_0</sink_block_id>
+    <source_block_id>blocks_stream_to_tagged_stream_0_0_0</source_block_id>
+    <sink_block_id>blocks_repack_bits_bb_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_1_0_1</sink_block_id>
+    <source_block_id>fec_extended_tagged_decoder_0_1</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>fec_extended_encoder_0</source_block_id>
-    <sink_block_id>digital_map_bb_0_1</sink_block_id>
+    <source_block_id>fec_extended_tagged_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_encoder_1</source_block_id>
-    <sink_block_id>digital_map_bb_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_1_1</source_block_id>
+    <sink_block_id>fec_extended_tagged_decoder_0_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_decoder_1</source_block_id>
-    <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_1</source_block_id>
+    <sink_block_id>fec_extended_tagged_decoder_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</source_block_id>
-    <sink_block_id>fec_extended_decoder_1</sink_block_id>
+    <source_block_id>blocks_char_to_float_1_0_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_1</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>2</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_char_to_float_1_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_1</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_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_block_id>blocks_char_to_float_1_0_1</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_encoder_2</source_block_id>
-    <sink_block_id>digital_map_bb_0_0</sink_block_id>
+    <source_block_id>fec_extended_tagged_decoder_0</source_block_id>
+    <sink_block_id>blocks_char_to_float_1_0_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_1_1</source_block_id>
-    <sink_block_id>fec_extended_decoder_2</sink_block_id>
+    <source_block_id>blocks_char_to_float_1_2</source_block_id>
+    <sink_block_id>fec_extended_tagged_decoder_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_decoder_2</source_block_id>
-    <sink_block_id>blocks_char_to_float_1_0_0</sink_block_id>
+    <source_block_id>digital_map_bb_0_1</source_block_id>
+    <sink_block_id>blocks_char_to_float_1_2</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_1</sink_block_id>
+    <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>2</sink_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_1</sink_block_id>
+    <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>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_1_0_1</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_1</sink_block_id>
+    <source_block_id>blocks_repack_bits_bb_0</source_block_id>
+    <sink_block_id>fec_extended_tagged_encoder_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_0</source_block_id>
-    <sink_block_id>blocks_repack_bits_bb_0</sink_block_id>
+    <source_block_id>fec_extended_tagged_encoder_0</source_block_id>
+    <sink_block_id>digital_map_bb_0_1</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_stream_to_tagged_stream_0_0_0</sink_block_id>
+    <source_block_id>blocks_repack_bits_bb_0</source_block_id>
+    <sink_block_id>fec_extended_tagged_encoder_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
     <source_block_id>blocks_repack_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_2</sink_block_id>
+    <sink_block_id>fec_extended_tagged_encoder_0_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_repack_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_1</sink_block_id>
+    <source_block_id>fec_extended_tagged_encoder_0_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>blocks_repack_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_0</sink_block_id>
+    <source_block_id>fec_extended_tagged_encoder_0_1</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>
diff --git a/gr-fec/examples/fecapi_tagged_encoders.grc 
b/gr-fec/examples/fecapi_tagged_encoders.grc
index c3505e6..dced887 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>Wed May 14 12:19:46 2014</timestamp>
+  <timestamp>Sat May 17 17:13:34 2014</timestamp>
   <block>
     <key>options</key>
     <param>
@@ -84,7 +84,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(421, 692)</value>
+      <value>(20, 548)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -95,7 +95,7 @@
     <key>variable</key>
     <param>
       <key>id</key>
-      <value>polys</value>
+      <value>rate</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -103,7 +103,7 @@
     </param>
     <param>
       <key>value</key>
-      <value>[109, 79]</value>
+      <value>2</value>
     </param>
     <param>
       <key>alias</key>
@@ -111,7 +111,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(335, 777)</value>
+      <value>(86, 548)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -126,38 +126,11 @@
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>[79, 109]</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(479, 781)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable</key>
-    <param>
-      <key>id</key>
-      <value>rate</value>
-    </param>
-    <param>
-      <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
       <key>value</key>
-      <value>2</value>
+      <value>[109, 79]</value>
     </param>
     <param>
       <key>alias</key>
@@ -165,7 +138,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(522, 694)</value>
+      <value>(61, 610)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -192,7 +165,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(13, 88)</value>
+      <value>(11, 72)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -219,7 +192,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(152, 116)</value>
+      <value>(100, 72)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -227,65 +200,49 @@
     </param>
   </block>
   <block>
-    <key>blocks_vector_source_x</key>
+    <key>parameter</key>
     <param>
       <key>id</key>
-      <value>blocks_vector_source_x_0_1_0</value>
+      <value>puncpat</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
-    </param>
-    <param>
-      <key>vector</key>
-      <value>4*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value>
-    </param>
-    <param>
-      <key>tags</key>
-      <value>[]</value>
+      <key>label</key>
+      <value></value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>value</key>
+      <value>'11'</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>type</key>
+      <value>string</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>short_id</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>alias</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>(94, 226)</value>
+      <value>(211, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>180</value>
+      <value>0</value>
     </param>
   </block>
   <block>
     <key>parameter</key>
     <param>
       <key>id</key>
-      <value>puncpat</value>
+      <value>MTU</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -293,15 +250,15 @@
     </param>
     <param>
       <key>label</key>
-      <value></value>
+      <value>MTU</value>
     </param>
     <param>
       <key>value</key>
-      <value>'11'</value>
+      <value>1000</value>
     </param>
     <param>
       <key>type</key>
-      <value>string</value>
+      <value>intx</value>
     </param>
     <param>
       <key>short_id</key>
@@ -313,34 +270,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(247, 11)</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>
+      <value>(292, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -379,7 +309,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(483, 10)</value>
+      <value>(373, 11)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -387,34 +317,18 @@
     </param>
   </block>
   <block>
-    <key>variable_dummy_encoder_def</key>
+    <key>blocks_ctrlport_monitor_performance</key>
     <param>
       <key>id</key>
-      <value>enc_dummy</value>
+      <value>blocks_ctrlport_monitor_performance_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>1</value>
-    </param>
-    <param>
-      <key>dim2</key>
-      <value>1</value>
+      <value>False</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>MTU*8</value>
+      <key>en</key>
+      <value>True</value>
     </param>
     <param>
       <key>alias</key>
@@ -422,7 +336,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1209, 693)</value>
+      <value>(482, 12)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -430,36 +344,36 @@
     </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>blocks_vector_source_x</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_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>byte</value>
     </param>
     <param>
-      <key>min</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>max</key>
-      <value>256</value>
+      <key>vector</key>
+      <value>4*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>1000</value>
+      <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>
@@ -477,7 +391,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(92, 703)</value>
+      <value>(65, 137)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -528,7 +442,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(120, 338)</value>
+      <value>(65, 218)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -579,7 +493,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(119, 411)</value>
+      <value>(65, 267)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -587,24 +501,36 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>blocks_repack_bits_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_1_0</value>
+      <value>blocks_repack_bits_bb_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>k</key>
+      <value>8</value>
     </param>
     <param>
-      <key>scale</key>
+      <key>l</key>
       <value>1</value>
     </param>
     <param>
+      <key>len_tag_key</key>
+      <value>packet_len</value>
+    </param>
+    <param>
+      <key>align_output</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>swap</key>
+      <value>False</value>
+    </param>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
@@ -622,7 +548,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(937, 452)</value>
+      <value>(71, 333)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -630,351 +556,322 @@
     </param>
   </block>
   <block>
-    <key>fec_extended_encoder</key>
+    <key>qtgui_time_sink_x</key>
     <param>
       <key>id</key>
-      <value>fec_extended_encoder_2</value>
+      <value>qtgui_time_sink_x_3</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>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>length_tag</value>
+      <key>name</key>
+      <value>QT GUI Plot</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>size</key>
+      <value>2048</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>srate</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>ymin</key>
+      <value>-0.5</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(598, 421)</value>
+      <key>ymax</key>
+      <value>1.5</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>nconnections</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>parameter</key>
     <param>
-      <key>id</key>
-      <value>MTU</value>
+      <key>update_time</key>
+      <value>0.05</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>entags</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>MTU</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>1000</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>intx</value>
+      <key>gui_hint</key>
+      <value>3,0,1,1</value>
     </param>
     <param>
-      <key>short_id</key>
-      <value></value>
+      <key>tr_mode</key>
+      <value>qtgui.TRIG_MODE_FREE</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>tr_slope</key>
+      <value>qtgui.TRIG_SLOPE_POS</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(364, 9)</value>
+      <key>tr_level</key>
+      <value>0.0</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>tr_delay</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_0</value>
+      <key>tr_chan</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>tr_tag</key>
+      <value>packet_len</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>label1</key>
+      <value>CC</value>
     </param>
     <param>
-      <key>scale</key>
+      <key>width1</key>
       <value>1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
+      <key>color1</key>
+      <value>"blue"</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>style1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>marker1</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(936, 326)</value>
+      <key>alpha1</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label2</key>
+      <value>CC</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_char_to_float</key>
     <param>
-      <key>id</key>
-      <value>blocks_char_to_float_1_0_0</value>
+      <key>width2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color2</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>style2</key>
       <value>1</value>
     </param>
     <param>
-      <key>scale</key>
-      <value>1</value>
+      <key>marker2</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>alpha2</key>
+      <value>0.6</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>label3</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>width3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>color3</key>
+      <value>"green"</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(936, 197)</value>
+      <key>style3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>marker3</key>
+      <value>-1</value>
     </param>
-  </block>
-  <block>
-    <key>fec_extended_encoder</key>
     <param>
-      <key>id</key>
-      <value>fec_extended_encoder_0</value>
+      <key>alpha3</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label4</key>
+      <value></value>
     </param>
     <param>
-      <key>encoder_list</key>
-      <value>enc_dummy</value>
+      <key>width4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>color4</key>
+      <value>"black"</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>style4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>length_tag</value>
+      <key>marker4</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>alpha4</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>label5</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>width5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>color5</key>
+      <value>"cyan"</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(598, 166)</value>
+      <key>style5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>marker5</key>
+      <value>-1</value>
     </param>
-  </block>
-  <block>
-    <key>fec_extended_encoder</key>
     <param>
-      <key>id</key>
-      <value>fec_extended_encoder_1</value>
+      <key>alpha5</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label6</key>
+      <value></value>
     </param>
     <param>
-      <key>encoder_list</key>
-      <value>enc_rep</value>
+      <key>width6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>color6</key>
+      <value>"magenta"</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>style6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>length_tag</value>
+      <key>marker6</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>alpha6</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>label7</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>width7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>color7</key>
+      <value>"yellow"</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(598, 295)</value>
+      <key>style7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>marker7</key>
+      <value>-1</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_char_to_float</key>
     <param>
-      <key>id</key>
-      <value>blocks_char_to_float_1</value>
+      <key>alpha7</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label8</key>
+      <value></value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>width8</key>
       <value>1</value>
     </param>
     <param>
-      <key>scale</key>
+      <key>color8</key>
+      <value>"dark red"</value>
+    </param>
+    <param>
+      <key>style8</key>
       <value>1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>marker8</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>alpha8</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>label9</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>width9</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>color9</key>
+      <value>"dark green"</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(936, 578)</value>
+      <key>style9</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>marker9</key>
+      <value>-1</value>
     </param>
-  </block>
-  <block>
-    <key>fec_extended_encoder</key>
     <param>
-      <key>id</key>
-      <value>fec_extended_encoder_3</value>
+      <key>alpha9</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>encoder_list</key>
-      <value>enc_cc</value>
+      <key>width10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>color10</key>
+      <value>"blue"</value>
     </param>
     <param>
-      <key>threadtype</key>
-      <value>none</value>
+      <key>style10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>puncpat</key>
-      <value>puncpat</value>
+      <key>marker10</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>lentagname</key>
-      <value>length_tag</value>
+      <key>alpha10</key>
+      <value>1.0</value>
     </param>
     <param>
       <key>alias</key>
@@ -985,16 +882,8 @@
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(598, 547)</value>
+      <value>(819, 378)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1005,7 +894,7 @@
     <key>qtgui_time_sink_x</key>
     <param>
       <key>id</key>
-      <value>qtgui_time_sink_x_0</value>
+      <value>qtgui_time_sink_x_2</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1053,7 +942,7 @@
     </param>
     <param>
       <key>gui_hint</key>
-      <value>0,0,1,1</value>
+      <value>2,0,1,1</value>
     </param>
     <param>
       <key>tr_mode</key>
@@ -1081,7 +970,7 @@
     </param>
     <param>
       <key>label1</key>
-      <value>None</value>
+      <value>CCSDS</value>
     </param>
     <param>
       <key>width1</key>
@@ -1329,7 +1218,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1167, 166)</value>
+      <value>(819, 282)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1664,7 +1553,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1167, 295)</value>
+      <value>(819, 185)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1672,322 +1561,339 @@
     </param>
   </block>
   <block>
-    <key>qtgui_time_sink_x</key>
+    <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>qtgui_time_sink_x_2</value>
+      <value>blocks_char_to_float_1</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>(643, 374)</value>
     </param>
     <param>
-      <key>nconnections</key>
-      <value>1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>fec_extended_tagged_encoder</key>
     <param>
-      <key>update_time</key>
-      <value>0.05</value>
+      <key>id</key>
+      <value>fec_extended_tagged_encoder_3</value>
     </param>
     <param>
-      <key>entags</key>
+      <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>gui_hint</key>
-      <value>2,0,1,1</value>
+      <key>encoder_list</key>
+      <value>enc_cc</value>
     </param>
     <param>
-      <key>tr_mode</key>
-      <value>qtgui.TRIG_MODE_FREE</value>
+      <key>puncpat</key>
+      <value>puncpat</value>
     </param>
     <param>
-      <key>tr_slope</key>
-      <value>qtgui.TRIG_SLOPE_POS</value>
+      <key>lentagname</key>
+      <value>length_tag</value>
     </param>
     <param>
-      <key>tr_level</key>
-      <value>0.0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>tr_delay</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>tr_chan</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>tr_tag</key>
-      <value>packet_len</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>label1</key>
-      <value>CCSDS</value>
+      <key>_coordinate</key>
+      <value>(376, 358)</value>
     </param>
     <param>
-      <key>width1</key>
-      <value>1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_char_to_float</key>
     <param>
-      <key>color1</key>
-      <value>"blue"</value>
+      <key>id</key>
+      <value>blocks_char_to_float_1_0</value>
     </param>
     <param>
-      <key>style1</key>
-      <value>1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>marker1</key>
-      <value>-1</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alpha1</key>
-      <value>1.0</value>
+      <key>scale</key>
+      <value>1</value>
     </param>
     <param>
-      <key>label2</key>
-      <value>CC</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>width2</key>
-      <value>1</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>color2</key>
-      <value>"red"</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style2</key>
-      <value>1</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>marker2</key>
-      <value>-1</value>
+      <key>_coordinate</key>
+      <value>(643, 295)</value>
     </param>
     <param>
-      <key>alpha2</key>
-      <value>0.6</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>fec_extended_tagged_encoder</key>
     <param>
-      <key>label3</key>
-      <value></value>
+      <key>id</key>
+      <value>fec_extended_tagged_encoder_2</value>
     </param>
     <param>
-      <key>width3</key>
-      <value>1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>color3</key>
-      <value>"green"</value>
+      <key>encoder_list</key>
+      <value>enc_ccsds</value>
     </param>
     <param>
-      <key>style3</key>
-      <value>1</value>
+      <key>puncpat</key>
+      <value>puncpat</value>
     </param>
     <param>
-      <key>marker3</key>
-      <value>-1</value>
+      <key>lentagname</key>
+      <value>length_tag</value>
     </param>
     <param>
-      <key>alpha3</key>
-      <value>1.0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>label4</key>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>width4</key>
-      <value>1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>color4</key>
-      <value>"black"</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style4</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(376, 279)</value>
     </param>
     <param>
-      <key>marker4</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_char_to_float</key>
     <param>
-      <key>alpha4</key>
-      <value>1.0</value>
+      <key>id</key>
+      <value>blocks_char_to_float_1_0_0_0</value>
     </param>
     <param>
-      <key>label5</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>width5</key>
+      <key>vlen</key>
       <value>1</value>
     </param>
     <param>
-      <key>color5</key>
-      <value>"cyan"</value>
-    </param>
-    <param>
-      <key>style5</key>
+      <key>scale</key>
       <value>1</value>
     </param>
     <param>
-      <key>marker5</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>alpha5</key>
-      <value>1.0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>label6</key>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>width6</key>
-      <value>1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>color6</key>
-      <value>"magenta"</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style6</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(642, 216)</value>
     </param>
     <param>
-      <key>marker6</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>fec_extended_tagged_encoder</key>
     <param>
-      <key>alpha6</key>
-      <value>1.0</value>
+      <key>id</key>
+      <value>fec_extended_tagged_encoder_1</value>
     </param>
     <param>
-      <key>label7</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>width7</key>
-      <value>1</value>
+      <key>encoder_list</key>
+      <value>enc_rep</value>
     </param>
     <param>
-      <key>color7</key>
-      <value>"yellow"</value>
+      <key>puncpat</key>
+      <value>puncpat</value>
     </param>
     <param>
-      <key>style7</key>
-      <value>1</value>
+      <key>lentagname</key>
+      <value>length_tag</value>
     </param>
     <param>
-      <key>marker7</key>
-      <value>-1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>alpha7</key>
-      <value>1.0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>label8</key>
-      <value></value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>width8</key>
-      <value>1</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>color8</key>
-      <value>"dark red"</value>
+      <key>_coordinate</key>
+      <value>(376, 200)</value>
     </param>
     <param>
-      <key>style8</key>
-      <value>1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_char_to_float</key>
     <param>
-      <key>marker8</key>
-      <value>-1</value>
+      <key>id</key>
+      <value>blocks_char_to_float_1_0_0</value>
     </param>
     <param>
-      <key>alpha8</key>
-      <value>1.0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>label9</key>
-      <value></value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>width9</key>
+      <key>scale</key>
       <value>1</value>
     </param>
     <param>
-      <key>color9</key>
-      <value>"dark green"</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>style9</key>
-      <value>1</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>marker9</key>
-      <value>-1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>alpha9</key>
-      <value>1.0</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>label10</key>
-      <value></value>
+      <key>_coordinate</key>
+      <value>(643, 137)</value>
     </param>
     <param>
-      <key>width10</key>
-      <value>1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>fec_extended_tagged_encoder</key>
     <param>
-      <key>color10</key>
-      <value>"blue"</value>
+      <key>id</key>
+      <value>fec_extended_tagged_encoder_0</value>
     </param>
     <param>
-      <key>style10</key>
-      <value>1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>marker10</key>
-      <value>-1</value>
+      <key>encoder_list</key>
+      <value>enc_dummy</value>
     </param>
     <param>
-      <key>alpha10</key>
-      <value>1.0</value>
+      <key>puncpat</key>
+      <value>puncpat</value>
+    </param>
+    <param>
+      <key>lentagname</key>
+      <value>length_tag</value>
     </param>
     <param>
       <key>alias</key>
@@ -1998,8 +1904,16 @@
       <value></value>
     </param>
     <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(1168, 421)</value>
+      <value>(376, 121)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -2010,7 +1924,7 @@
     <key>qtgui_time_sink_x</key>
     <param>
       <key>id</key>
-      <value>qtgui_time_sink_x_3</value>
+      <value>qtgui_time_sink_x_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -2058,7 +1972,7 @@
     </param>
     <param>
       <key>gui_hint</key>
-      <value>3,0,1,1</value>
+      <value>0,0,1,1</value>
     </param>
     <param>
       <key>tr_mode</key>
@@ -2086,7 +2000,7 @@
     </param>
     <param>
       <key>label1</key>
-      <value>CC</value>
+      <value>None</value>
     </param>
     <param>
       <key>width1</key>
@@ -2334,7 +2248,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1167, 547)</value>
+      <value>(819, 88)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -2342,57 +2256,65 @@
     </param>
   </block>
   <block>
-    <key>variable_repetition_encoder_def</key>
+    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>enc_rep</value>
+      <value>analog_random_source_x_0</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
+      <value>False</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>1</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dim1</key>
-      <value>1</value>
+      <key>max</key>
+      <value>256</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>1</value>
+      <key>num_samps</key>
+      <value>1000</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>MTU*8</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
     <param>
-      <key>rep</key>
-      <value>3</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>(1210, 819)</value>
+      <value>(53, 447)</value>
     </param>
     <param>
       <key>_rotation</key>
-      <value>0</value>
+      <value>180</value>
     </param>
   </block>
   <block>
-    <key>variable_ccsds_encoder_def</key>
+    <key>variable_cc_encoder_def</key>
     <param>
       <key>id</key>
-      <value>enc_ccsds</value>
+      <value>enc_cc</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -2412,13 +2334,25 @@
     </param>
     <param>
       <key>dim2</key>
-      <value>4</value>
+      <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>
@@ -2432,7 +2366,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(909, 693)</value>
+      <value>(153, 547)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -2440,10 +2374,10 @@
     </param>
   </block>
   <block>
-    <key>variable_cc_encoder_def</key>
+    <key>variable_repetition_encoder_def</key>
     <param>
       <key>id</key>
-      <value>enc_cc</value>
+      <value>enc_rep</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -2470,16 +2404,51 @@
       <value>MTU*8</value>
     </param>
     <param>
-      <key>k</key>
-      <value>k</value>
+      <key>rep</key>
+      <value>3</value>
     </param>
     <param>
-      <key>rate</key>
-      <value>rate</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>polys</key>
-      <value>polys</value>
+      <key>_coordinate</key>
+      <value>(541, 611)</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>MTU*8</value>
     </param>
     <param>
       <key>state_start</key>
@@ -2495,7 +2464,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(618, 691)</value>
+      <value>(349, 595)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -2503,50 +2472,42 @@
     </param>
   </block>
   <block>
-    <key>blocks_repack_bits_bb</key>
+    <key>variable_dummy_encoder_def</key>
     <param>
       <key>id</key>
-      <value>blocks_repack_bits_bb_0</value>
+      <value>enc_dummy</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>k</key>
-      <value>8</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>l</key>
+      <key>ndim</key>
       <value>1</value>
     </param>
     <param>
-      <key>len_tag_key</key>
-      <value>packet_len</value>
+      <key>dim1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>align_output</key>
-      <value>False</value>
+      <key>dim2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>framebits</key>
+      <value>MTU*8</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>alias</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>(145, 509)</value>
+      <value>(738, 627)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -2572,62 +2533,62 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_repack_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_3</sink_block_id>
+    <source_block_id>blocks_throttle_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>blocks_throttle_0</source_block_id>
-    <sink_block_id>blocks_stream_to_tagged_stream_0_0</sink_block_id>
+    <source_block_id>blocks_repack_bits_bb_0</source_block_id>
+    <sink_block_id>fec_extended_tagged_encoder_3</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
     <source_block_id>blocks_repack_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_0</sink_block_id>
+    <sink_block_id>fec_extended_tagged_encoder_2</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
     <source_block_id>blocks_repack_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_1</sink_block_id>
+    <sink_block_id>fec_extended_tagged_encoder_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
     <source_block_id>blocks_repack_bits_bb_0</source_block_id>
-    <sink_block_id>fec_extended_encoder_2</sink_block_id>
+    <sink_block_id>fec_extended_tagged_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_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_2</sink_block_id>
+    <source_block_id>fec_extended_tagged_encoder_3</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>fec_extended_encoder_2</source_block_id>
+    <source_block_id>fec_extended_tagged_encoder_2</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_encoder_0</source_block_id>
-    <sink_block_id>blocks_char_to_float_1_0_0</sink_block_id>
+    <source_block_id>fec_extended_tagged_encoder_1</source_block_id>
+    <sink_block_id>blocks_char_to_float_1_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_0</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+    <source_block_id>fec_extended_tagged_encoder_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>fec_extended_encoder_1</source_block_id>
-    <sink_block_id>blocks_char_to_float_1_0_0_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_1</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_3</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -2638,14 +2599,14 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_1</source_block_id>
-    <sink_block_id>qtgui_time_sink_x_3</sink_block_id>
+    <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>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fec_extended_encoder_3</source_block_id>
-    <sink_block_id>blocks_char_to_float_1</sink_block_id>
+    <source_block_id>blocks_char_to_float_1_0</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_2</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
diff --git a/gr-fec/grc/fec_async_encoder.xml b/gr-fec/grc/fec_async_encoder.xml
index d552210..16a01ed 100644
--- a/gr-fec/grc/fec_async_encoder.xml
+++ b/gr-fec/grc/fec_async_encoder.xml
@@ -3,15 +3,45 @@
   <name>FEC Async Encoder</name>
   <key>fec_async_encoder</key>
   <import>from gnuradio import fec</import>
-  <make>fec.async_encoder($encoder)</make>
+  <make>fec.async_encoder($encoder, $rev_unpack, $rev_pack)</make>
 
   <param>
-    <name>Constituent Encoder</name>
+    <name>Encoder Obj.</name>
     <key>encoder</key>
     <value>encoder_variable</value>
     <type>raw</type>
   </param>
 
+  <param>
+    <name>Rev. Unpacking</name>
+    <key>rev_unpack</key>
+    <value>True</value>
+    <type>enum</type>
+    <option>
+      <name>Yes</name>
+      <key>True</key>
+    </option>
+    <option>
+      <name>No</name>
+      <key>False</key>
+    </option>
+  </param>
+
+  <param>
+    <name>Rev. Packing</name>
+    <key>rev_pack</key>
+    <value>True</value>
+    <type>enum</type>
+    <option>
+      <name>Yes</name>
+      <key>True</key>
+    </option>
+    <option>
+      <name>No</name>
+      <key>False</key>
+    </option>
+  </param>
+
   <sink>
     <name>in</name>
     <type>message</type>
diff --git a/gr-fec/grc/fec_block_tree.xml b/gr-fec/grc/fec_block_tree.xml
index c229be2..c674531 100644
--- a/gr-fec/grc/fec_block_tree.xml
+++ b/gr-fec/grc/fec_block_tree.xml
@@ -23,7 +23,9 @@
     </cat>
     <block>fec_extended_encoder</block>
     <block>fec_extended_async_encoder</block>
+    <block>fec_extended_tagged_encoder</block>
     <block>fec_extended_decoder</block>
+    <block>fec_extended_tagged_decoder</block>
     <block>fec_generic_encoder</block>
     <block>fec_generic_decoder</block>
     <block>fec_tagged_encoder</block>
diff --git a/gr-fec/grc/fec_extended_decoder.xml 
b/gr-fec/grc/fec_extended_decoder.xml
index b41c18a..4262a39 100644
--- a/gr-fec/grc/fec_extended_decoder.xml
+++ b/gr-fec/grc/fec_extended_decoder.xml
@@ -3,7 +3,7 @@
   <name>FEC Extended Decoder</name>
   <key>fec_extended_decoder</key>
   <import>from gnuradio import fec</import>
-  <make>self.$(id) = $(id) = 
fec.extended_decoder(decoder_obj_list=$decoder_list, threading=$threadtype.arg, 
ann=$ann, puncpat=$puncpat, integration_period=10000, 
lentagname=$lentagname)</make>
+  <make>self.$(id) = $(id) = 
fec.extended_decoder(decoder_obj_list=$decoder_list, threading=$threadtype.arg, 
ann=$ann, puncpat=$puncpat, integration_period=10000)</make>
 
   <param>
     <name>fake val</name>
@@ -55,13 +55,6 @@
     <type>string</type>
   </param>
 
-  <param>
-    <name>Length Tag Name</name>
-    <key>lentagname</key>
-    <value>None</value>
-    <type>string</type>
-  </param>
-
   <sink>
     <name>in</name>
     <type>float</type>
diff --git a/gr-fec/grc/fec_extended_encoder.xml 
b/gr-fec/grc/fec_extended_encoder.xml
index 2c785c7..d2a3ec8 100644
--- a/gr-fec/grc/fec_extended_encoder.xml
+++ b/gr-fec/grc/fec_extended_encoder.xml
@@ -3,7 +3,7 @@
   <name>FEC Extended Encoder</name>
   <key>fec_extended_encoder</key>
   <import>from gnuradio import fec</import>
-  <make>fec.extended_encoder(encoder_obj_list=$encoder_list, 
threading=$threadtype.arg, puncpat=$puncpat, lentagname=$lentagname)</make>
+  <make>fec.extended_encoder(encoder_obj_list=$encoder_list, 
threading=$threadtype.arg, puncpat=$puncpat)</make>
 
   <param>
     <name>Encoder Objects</name>
@@ -40,13 +40,6 @@
     <type>string</type>
   </param>
 
-  <param>
-    <name>Length Tag Name</name>
-    <key>lentagname</key>
-    <value>None</value>
-    <type>string</type>
-  </param>
-
   <sink>
     <name>in</name>
     <type>byte</type>
diff --git a/gr-fec/grc/fec_extended_decoder.xml 
b/gr-fec/grc/fec_extended_tagged_decoder.xml
similarity index 56%
copy from gr-fec/grc/fec_extended_decoder.xml
copy to gr-fec/grc/fec_extended_tagged_decoder.xml
index b41c18a..b198da2 100644
--- a/gr-fec/grc/fec_extended_decoder.xml
+++ b/gr-fec/grc/fec_extended_tagged_decoder.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0"?>
 <block>
-  <name>FEC Extended Decoder</name>
-  <key>fec_extended_decoder</key>
+  <name>FEC Extended Tagged Decoder</name>
+  <key>fec_extended_tagged_decoder</key>
   <import>from gnuradio import fec</import>
-  <make>self.$(id) = $(id) = 
fec.extended_decoder(decoder_obj_list=$decoder_list, threading=$threadtype.arg, 
ann=$ann, puncpat=$puncpat, integration_period=10000, 
lentagname=$lentagname)</make>
+  <make>self.$(id) = $(id) = 
fec.extended_tagged_decoder(decoder_obj_list=$decoder_list, ann=$ann, 
puncpat=$puncpat, integration_period=10000, lentagname=$lentagname)</make>
 
   <param>
     <name>fake val</name>
@@ -21,27 +21,6 @@
   </param>
 
   <param>
-    <name>Threading Type</name>
-    <key>threadtype</key>
-    <type>enum</type>
-    <option>
-      <name>Capillary</name>
-      <key>capillary</key>
-      <opt>arg:'capillary'</opt>
-    </option>
-    <option>
-      <name>Ordinary</name>
-      <key>ordinary</key>
-      <opt>arg:'ordinary'</opt>
-    </option>
-    <option>
-      <name>None</name>
-      <key>none</key>
-      <opt>arg: None</opt>
-    </option>
-  </param>
-
-  <param>
     <name>Annihilator</name>
     <key>ann</key>
     <value>None</value>
diff --git a/gr-fec/grc/fec_extended_tagged_encoder.xml 
b/gr-fec/grc/fec_extended_tagged_encoder.xml
new file mode 100644
index 0000000..b525329
--- /dev/null
+++ b/gr-fec/grc/fec_extended_tagged_encoder.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<block>
+  <name>FEC Extended Tagged Encoder</name>
+  <key>fec_extended_tagged_encoder</key>
+  <import>from gnuradio import fec</import>
+  <make>fec.extended_tagged_encoder(encoder_obj_list=$encoder_list, 
puncpat=$puncpat, lentagname=$lentagname)</make>
+
+  <param>
+    <name>Encoder Objects</name>
+    <key>encoder_list</key>
+    <value>encoder_variable</value>
+    <type>raw</type>
+  </param>
+
+  <param>
+    <name>Puncture Pattern</name>
+    <key>puncpat</key>
+    <value>'11'</value>
+    <type>string</type>
+  </param>
+
+  <param>
+    <name>Length Tag Name</name>
+    <key>lentagname</key>
+    <value>None</value>
+    <type>string</type>
+  </param>
+
+  <sink>
+    <name>in</name>
+    <type>byte</type>
+  </sink>
+
+  <source>
+    <name>out</name>
+    <type>byte</type>
+  </source>
+
+  <doc>
+
+  </doc>
+
+</block>
diff --git a/gr-fec/grc/variable_cc_decoder_def_list.xml 
b/gr-fec/grc/variable_cc_decoder_def_list.xml
index 37e5cb6..87f88a0 100644
--- a/gr-fec/grc/variable_cc_decoder_def_list.xml
+++ b/gr-fec/grc/variable_cc_decoder_def_list.xml
@@ -9,7 +9,9 @@
     <key>variable_cc_decoder_def</key>
     <import>from gnuradio import fec</import>
     <var_make>
-#if int($ndim())==1 #
+#if int($ndim())==0 #
+self.$(id) = $(id) = fec.cc_decoder.make($framebits, $k, $rate, $polys, 
$state_start, $state_end,  $mode)
+#else if int($ndim())==1 #
 self.$(id) = $(id) = map( (lambda a: fec.cc_decoder.make($framebits, $k, 
$rate, $polys, $state_start, $state_end,  $mode)), range(0,$dim1) ); #slurp
 #else
 self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_decoder.make($framebits, $k, $rate, $polys, $state_start, $state_end, 
$mode)), range(0,$dim2) ) ), range(0,$dim1)); #slurp
@@ -27,9 +29,13 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_decoder.make($frame
     <param>
         <name>Parallelism</name>
         <key>ndim</key>
-        <value></value>
+        <value>0</value>
         <type>enum</type>
         <option>
+            <name>0</name>
+            <key>0</key>
+        </option>
+        <option>
             <name>1</name>
             <key>1</key>
         </option>
diff --git a/gr-fec/grc/variable_cc_encoder_def_list.xml 
b/gr-fec/grc/variable_cc_encoder_def_list.xml
index 7e56cf1..14c8f12 100644
--- a/gr-fec/grc/variable_cc_encoder_def_list.xml
+++ b/gr-fec/grc/variable_cc_encoder_def_list.xml
@@ -9,7 +9,9 @@
     <key>variable_cc_encoder_def</key>
     <import>from gnuradio import fec</import>
     <var_make>
-#if int($ndim())==1 #
+#if int($ndim())==0 #
+self.$(id) = $(id) = fec.cc_encoder_make($framebits, $k, $rate, $polys, 
$state_start, $mode)
+#else if int($ndim())==1 #
 self.$(id) = $(id) = map( (lambda a: fec.cc_encoder_make($framebits, $k, 
$rate, $polys, $state_start, $mode)), range(0,$dim1) ); #slurp
 #else
 self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_encoder_make($framebits, $k, $rate, $polys, $state_start, $mode)), 
range(0,$dim2) ) ), range(0,$dim1)); #slurp
@@ -27,9 +29,13 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_encoder_make($frame
     <param>
         <name>Parallelism</name>
         <key>ndim</key>
-        <value></value>
+        <value>0</value>
         <type>enum</type>
         <option>
+            <name>0</name>
+            <key>0</key>
+        </option>
+        <option>
             <name>1</name>
             <key>1</key>
         </option>
diff --git a/gr-fec/grc/variable_ccsds_encoder_def_list.xml 
b/gr-fec/grc/variable_ccsds_encoder_def_list.xml
index 8a9fde8..fb0cb05 100644
--- a/gr-fec/grc/variable_ccsds_encoder_def_list.xml
+++ b/gr-fec/grc/variable_ccsds_encoder_def_list.xml
@@ -9,7 +9,9 @@
     <key>variable_ccsds_encoder_def</key>
     <import>from gnuradio import fec</import>
     <var_make>
-#if int($ndim())==1 #
+#if int($ndim())==0 #
+self.$(id) = $(id) = fec.ccsds_encoder_make($framebits, $state_start, $mode)
+#else if int($ndim())==1 #
 self.$(id) = $(id) = map( (lambda a: fec.ccsds_encoder_make($framebits, 
$state_start, $mode)), range(0,$dim1) ); #slurp
 #else
 self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.ccsds_encoder_make($framebits, $state_start, $mode)), range(0,$dim2) ) ), 
range(0,$dim1)); #slurp
@@ -27,9 +29,13 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.ccsds_encoder_make($fr
     <param>
         <name>Parallelism</name>
         <key>ndim</key>
-        <value></value>
+        <value>0</value>
         <type>enum</type>
         <option>
+            <name>0</name>
+            <key>0</key>
+        </option>
+        <option>
             <name>1</name>
             <key>1</key>
         </option>
diff --git a/gr-fec/grc/variable_dummy_encoder_def_list.xml 
b/gr-fec/grc/variable_dummy_encoder_def_list.xml
index 086ac20..c2c3f3f 100644
--- a/gr-fec/grc/variable_dummy_encoder_def_list.xml
+++ b/gr-fec/grc/variable_dummy_encoder_def_list.xml
@@ -29,7 +29,7 @@ self.$(id) = $(id) = map((lambda b: map((lambda a: 
fec.dummy_encoder_make($frame
     <param>
         <name>Parallelism</name>
         <key>ndim</key>
-        <value></value>
+        <value>0</value>
         <type>enum</type>
         <option>
             <name>0</name>
diff --git a/gr-fec/grc/variable_repetition_encoder_def_list.xml 
b/gr-fec/grc/variable_repetition_encoder_def_list.xml
index 13c5682..e2668b2 100644
--- a/gr-fec/grc/variable_repetition_encoder_def_list.xml
+++ b/gr-fec/grc/variable_repetition_encoder_def_list.xml
@@ -12,9 +12,9 @@
 #if int($ndim())==0 #
 self.$(id) = $(id) = fec.repetition_encoder_make($framebits, $rep)
 #else if int($ndim())==1 #
-self.$(id) = $(id) = map( (lambda a: fec.repetition_encoder_make($framebits, 
$rep)), range(0,$dim1) ) #slurp
+self.$(id) = $(id) = map((lambda a: fec.repetition_encoder_make($framebits, 
$rep)), range(0,$dim1)) #slurp
 #else
-self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.repetition_encoder_make($framebits, $rep)), range(0,$dim2) ) ), 
range(0,$dim1)) #slurp
+self.$(id) = $(id) = map((lambda b: map((lambda a: 
fec.repetition_encoder_make($framebits, $rep)), range(0,$dim2))), 
range(0,$dim1)) #slurp
 #end if</var_make>
     <make></make>
 
diff --git a/gr-fec/include/gnuradio/fec/async_encoder.h 
b/gr-fec/include/gnuradio/fec/async_encoder.h
index a59f47d..d0d160e 100644
--- a/gr-fec/include/gnuradio/fec/async_encoder.h
+++ b/gr-fec/include/gnuradio/fec/async_encoder.h
@@ -50,8 +50,11 @@ namespace gr {
        * Build the PDU-based FEC encoder block from an FECAPI encoder object.
        *
        * \param my_encoder An FECAPI encoder object child of the 
generic_encoder class.
+       * \param rev_unpack Reverse the unpacking order from input bytes to bits
+       * \param rev_pack Reverse the packing order from bits to output bytes
        */
-      static sptr make(generic_encoder::sptr my_encoder);
+      static sptr make(generic_encoder::sptr my_encoder,
+                       bool rev_unpack=true, bool rev_pack=true);
 
       virtual int general_work(int noutput_items,
                                gr_vector_int& ninput_items,
diff --git a/gr-fec/lib/async_encoder_impl.cc b/gr-fec/lib/async_encoder_impl.cc
index de760b1..4856dfd 100644
--- a/gr-fec/lib/async_encoder_impl.cc
+++ b/gr-fec/lib/async_encoder_impl.cc
@@ -33,13 +33,15 @@ namespace gr {
   namespace fec {
 
     async_encoder::sptr
-    async_encoder::make(generic_encoder::sptr my_encoder)
+    async_encoder::make(generic_encoder::sptr my_encoder,
+                        bool rev_unpack, bool rev_pack)
     {
       return gnuradio::get_initial_sptr
-        (new async_encoder_impl(my_encoder));
+        (new async_encoder_impl(my_encoder, rev_unpack, rev_pack));
     }
 
-    async_encoder_impl::async_encoder_impl(generic_encoder::sptr my_encoder)
+    async_encoder_impl::async_encoder_impl(generic_encoder::sptr my_encoder,
+                                           bool rev_unpack, bool rev_pack)
       : block("async_encoder",
               io_signature::make(0,0,0),
               io_signature::make(0,0,0)),
@@ -52,6 +54,9 @@ namespace gr {
       d_unpack = new blocks::kernel::unpack_k_bits(8);
       d_pack   = new blocks::kernel::pack_k_bits(8);
 
+      d_rev_unpack = rev_unpack;
+      d_rev_pack = rev_pack;
+
       message_port_register_in(d_in_port);
       message_port_register_out(d_out_port);
       set_msg_handler(d_in_port, boost::bind(&async_encoder_impl::encode, this 
,_1) );
@@ -72,40 +77,44 @@ namespace gr {
 
       int nbytes = pmt::length(bytes);
       int nbits = 8*nbytes;
-      size_t o0(0);
+      size_t o0 = 0;
       const uint8_t* bytes_in = pmt::u8vector_elements(bytes, o0);
       uint8_t* bits_in = (uint8_t*)volk_malloc(nbits*sizeof(uint8_t),
                                                volk_get_alignment());
 
       // Encoder takes a stream of bits, but PDU's are received as
       // bytes, so we unpack them here.
-      d_unpack->unpack(bits_in, bytes_in, nbytes);
+      if(d_rev_unpack)
+        d_unpack->unpack_rev(bits_in, bytes_in, nbytes);
+      else
+        d_unpack->unpack(bits_in, bytes_in, nbytes);
 
       d_encoder->set_frame_size(nbits);
 
       int nbits_out = d_encoder->get_output_size();
-      int nbytes_out = nbits_out/8;
+      int nbytes_out = ceilf(static_cast<float>(nbits_out)/8.0f);
 
       // buffers for bits/bytes to go to
       uint8_t* bits_out = (uint8_t*)volk_malloc(nbits_out*sizeof(uint8_t),
                                                 volk_get_alignment());
-      uint8_t* bytes_out = (uint8_t*)volk_malloc(nbytes_out*sizeof(uint8_t),
-                                                 volk_get_alignment());
+
+      pmt::pmt_t outvec = pmt::make_u8vector(nbytes_out, 0x00);
+      uint8_t* bytes_out = pmt::u8vector_writable_elements(outvec, o0);
 
       // ENCODE!
       d_encoder->generic_work((void*)bits_in, (void*)bits_out);
 
-      // Stolen from pack_k_bits
-      d_pack->pack(bytes_out, bits_out, nbytes_out);
+      // Encoder produces bits, so repack them here to bytes.
+      if(d_rev_pack)
+        d_pack->pack_rev(bytes_out, bits_out, nbytes_out);
+      else
+        d_pack->pack(bytes_out, bits_out, nbytes_out);
 
-      //pmt::pmt_t outvec = pmt::init_u8vector(nouts, u8out);
-      pmt::pmt_t outvec = pmt::init_u8vector(nbytes_out, bytes_out);
       pmt::pmt_t msg_pair = pmt::cons(meta, outvec);
       message_port_pub(d_out_port, msg_pair);
 
       volk_free(bits_in);
       volk_free(bits_out);
-      volk_free(bytes_out);
     }
 
     int
diff --git a/gr-fec/lib/async_encoder_impl.h b/gr-fec/lib/async_encoder_impl.h
index 4090d77..2c43b0d 100644
--- a/gr-fec/lib/async_encoder_impl.h
+++ b/gr-fec/lib/async_encoder_impl.h
@@ -43,9 +43,12 @@ namespace gr {
       void encode(pmt::pmt_t msg);
       blocks::kernel::unpack_k_bits *d_unpack;
       blocks::kernel::pack_k_bits   *d_pack;
+      bool d_rev_unpack;
+      bool d_rev_pack;
 
     public:
-      async_encoder_impl(generic_encoder::sptr my_encoder);
+      async_encoder_impl(generic_encoder::sptr my_encoder,
+                         bool rev_unpack=true, bool rev_pack=true);
       ~async_encoder_impl();
 
       int general_work(int noutput_items,
diff --git a/gr-fec/lib/cc_decoder_impl.cc b/gr-fec/lib/cc_decoder_impl.cc
index efaf6c0..6b7daaf 100644
--- a/gr-fec/lib/cc_decoder_impl.cc
+++ b/gr-fec/lib/cc_decoder_impl.cc
@@ -64,7 +64,8 @@ namespace gr {
         // 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);
+        d_frame_size = frame_size;
+        //set_frame_size(frame_size);
 
         d_vp = new struct v;
 
@@ -78,6 +79,7 @@ namespace gr {
           d_end_state = &d_end_state_chaining;
           d_managed_in = (unsigned 
char*)volk_malloc(d_veclen*d_rate*sizeof(unsigned char),
                                                      volk_get_alignment());
+          d_veclen = d_frame_size + (6 * (d_k - 1));
           d_managed_in_size = d_veclen * d_rate;
           if(d_managed_in == NULL) {
             throw std::runtime_error("cc_decoder: bad alloc for 
d_managed_in\n");
@@ -85,14 +87,17 @@ namespace gr {
           break;
 
         case(CC_TRUNCATED):
+          d_veclen = d_frame_size;
           d_end_state = &d_end_state_chaining;
           break;
 
         case(CC_TERMINATED):
+          d_veclen = d_frame_size + d_k - 1;
           d_end_state = (end_state == -1) ? &d_end_state_chaining : 
&d_end_state_nonchaining;
           break;
 
         case(CC_STREAMING):
+          d_veclen = d_frame_size + d_k - 1;
           d_end_state = &d_end_state_chaining;
           break;
 
diff --git a/gr-fec/python/fec/CMakeLists.txt b/gr-fec/python/fec/CMakeLists.txt
index d810237..0328168 100644
--- a/gr-fec/python/fec/CMakeLists.txt
+++ b/gr-fec/python/fec/CMakeLists.txt
@@ -31,6 +31,8 @@ GR_PYTHON_INSTALL(
     threaded_decoder.py
     threaded_encoder.py
     extended_async_encoder.py
+    extended_tagged_encoder.py
+    extended_tagged_decoder.py
     fec_test.py
     bercurve_generator.py
     DESTINATION ${GR_PYTHON_DIR}/gnuradio/fec
diff --git a/gr-fec/python/fec/__init__.py b/gr-fec/python/fec/__init__.py
index 11f9c29..6c82232 100644
--- a/gr-fec/python/fec/__init__.py
+++ b/gr-fec/python/fec/__init__.py
@@ -39,6 +39,8 @@ from threaded_decoder import threaded_decoder
 from capillary_threaded_decoder import capillary_threaded_decoder
 from capillary_threaded_encoder import capillary_threaded_encoder
 from extended_async_encoder import extended_async_encoder
+from extended_tagged_encoder import extended_tagged_encoder
+from extended_tagged_decoder import extended_tagged_decoder
 
 
 from fec_test import fec_test
diff --git a/gr-fec/python/fec/extended_decoder.py 
b/gr-fec/python/fec/extended_decoder.py
index 792d7df..7e6cf45 100644
--- a/gr-fec/python/fec/extended_decoder.py
+++ b/gr-fec/python/fec/extended_decoder.py
@@ -82,7 +82,7 @@ class extended_decoder(gr.hier_block2):
     }
 
     def __init__(self, decoder_obj_list, threading, ann=None, puncpat='11',
-                 integration_period=10000, flush=None, rotator=None, 
lentagname=None):
+                 integration_period=10000, flush=None, rotator=None):
         gr.hier_block2.__init__(self, "extended_decoder",
                                 gr.io_signature(1, 1, gr.sizeof_float),
                                 gr.io_signature(1, 1, gr.sizeof_char))
@@ -91,17 +91,13 @@ 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
+        if(type(decoder_obj_list) == list):
+            if(type(decoder_obj_list[0]) == list):
+                gr.log.info("fec.extended_decoder: Parallelism must be 1.")
+                raise AttributeError
+        else:
+            # If it has parallelism of 0, force it into a list of 1
+            decoder_obj_list = [decoder_obj_list,]
 
         message_collector_connected=False
 
@@ -136,10 +132,10 @@ class extended_decoder(gr.hier_block2):
             for i in idx_list:
                 if 1.0/self.ann.count('1') >= i:
                     synd_garble = self.garbletable[i]
-            print 'using syndrom garble threshold ' + str(synd_garble) + 'for 
corr_bb'
+            print 'using syndrom garble threshold ' + str(synd_garble) + 'for 
conv_bit_corr_bb'
             print 'ceiling: .0335 data garble rate'
-            self.blocks.append(fec.corr_bb(cat, len(puncpat) - 
puncpat.count('0'),
-                                           len(ann), integration_period, 
flush, synd_garble))
+            self.blocks.append(fec.conv_bit_corr_bb(cat, len(puncpat) - 
puncpat.count('0'),
+                                                    len(ann), 
integration_period, flush, synd_garble))
 
         if self.puncpat != '11':
             self.blocks.append(fec.depuncture_bb(len(puncpat), 
read_bitlist(puncpat), 0))
@@ -166,15 +162,9 @@ class extended_decoder(gr.hier_block2):
                                                 
fec.get_decoder_output_item_size(decoder_obj_list[0])))
 
         else:
-            if(not lentagname):
-                self.blocks.append(fec.decoder(decoder_obj_list[0],
-                                               
fec.get_decoder_input_item_size(decoder_obj_list[0]),
-                                               
fec.get_decoder_output_item_size(decoder_obj_list[0])))
-            else:
-                self.blocks.append(fec.tagged_decoder(decoder_obj_list[0],
-                                                      
fec.get_decoder_input_item_size(decoder_obj_list[0]),
-                                                      
fec.get_decoder_output_item_size(decoder_obj_list[0]),
-                                                      lentagname))
+            self.blocks.append(fec.decoder(decoder_obj_list[0],
+                                           
fec.get_decoder_input_item_size(decoder_obj_list[0]),
+                                           
fec.get_decoder_output_item_size(decoder_obj_list[0])))
 
         if fec.get_decoder_output_conversion(decoder_obj_list[0]) == "unpack":
             self.blocks.append(blocks.packed_to_unpacked_bb(1, 
gr.GR_MSB_FIRST));
diff --git a/gr-fec/python/fec/extended_encoder.py 
b/gr-fec/python/fec/extended_encoder.py
index f511b53..50a8891 100644
--- a/gr-fec/python/fec/extended_encoder.py
+++ b/gr-fec/python/fec/extended_encoder.py
@@ -28,8 +28,7 @@ from capillary_threaded_encoder import 
capillary_threaded_encoder
 from bitflip import read_bitlist
 
 class extended_encoder(gr.hier_block2):
-    def __init__(self, encoder_obj_list, threading, puncpat=None,
-                 lentagname=None):
+    def __init__(self, encoder_obj_list, threading, puncpat=None):
         gr.hier_block2.__init__(self, "extended_encoder",
                                 gr.io_signature(1, 1, gr.sizeof_char),
                                 gr.io_signature(1, 1, gr.sizeof_char))
@@ -37,17 +36,13 @@ 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(type(encoder_obj_list) == list):
+            if(type(encoder_obj_list[0]) == list):
+                gr.log.info("fec.extended_encoder: Parallelism must be 1.")
+                raise AttributeError
+        else:
+            # If it has parallelism of 0, force it into a list of 1
+            encoder_obj_list = [encoder_obj_list,]
 
         if fec.get_encoder_input_conversion(encoder_obj_list[0]) == "pack":
             self.blocks.append(blocks.pack_k_bits_bb(8))
@@ -61,15 +56,9 @@ class extended_encoder(gr.hier_block2):
                                                 gr.sizeof_char,
                                                 gr.sizeof_char))
         else:
-            if(not lentagname):
-                self.blocks.append(fec.encoder(encoder_obj_list[0],
-                                               gr.sizeof_char,
-                                               gr.sizeof_char))
-            else:
-                self.blocks.append(fec.tagged_encoder(encoder_obj_list[0],
-                                                      gr.sizeof_char,
-                                                      gr.sizeof_char,
-                                                      lentagname))
+            self.blocks.append(fec.encoder(encoder_obj_list[0],
+                                           gr.sizeof_char,
+                                           gr.sizeof_char))
 
         if self.puncpat != '11':
             self.blocks.append(fec.puncture_bb(len(puncpat), 
read_bitlist(puncpat), 0))
diff --git a/gr-fec/python/fec/extended_decoder.py 
b/gr-fec/python/fec/extended_tagged_decoder.py
similarity index 68%
copy from gr-fec/python/fec/extended_decoder.py
copy to gr-fec/python/fec/extended_tagged_decoder.py
index 792d7df..1865cbf 100644
--- a/gr-fec/python/fec/extended_decoder.py
+++ b/gr-fec/python/fec/extended_tagged_decoder.py
@@ -30,10 +30,7 @@ if sys.modules.has_key("gnuradio.digital"):
 else:
     from gnuradio import digital
 
-from threaded_decoder import threaded_decoder
-from capillary_threaded_decoder import capillary_threaded_decoder
-
-class extended_decoder(gr.hier_block2):
+class extended_tagged_decoder(gr.hier_block2):
 
 #solution to log_(1-2*t)(1-2*.0335) = 1/taps where t is thresh (syndrome 
density)
 #for i in numpy.arange(.1, .499, .01):
@@ -81,7 +78,7 @@ class extended_decoder(gr.hier_block2):
         0.0177274208353:0.49,
     }
 
-    def __init__(self, decoder_obj_list, threading, ann=None, puncpat='11',
+    def __init__(self, decoder_obj_list, ann=None, puncpat='11',
                  integration_period=10000, flush=None, rotator=None, 
lentagname=None):
         gr.hier_block2.__init__(self, "extended_decoder",
                                 gr.io_signature(1, 1, gr.sizeof_float),
@@ -91,32 +88,39 @@ 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(decoder_obj_list) == list):
+            # This block doesn't handle parallelism of > 1
+            # We could just grab encoder [0][0], but we don't want to 
encourage this.
+            if(type(decoder_obj_list[0]) == list):
+                gr.log.info("fec.extended_tagged_decoder: Parallelism must be 
1.")
+                raise AttributeError
+
+            decoder_obj = decoder_obj_list[0]
+
+        # Otherwise, just take it as is
+        else:
+            decoder_obj = decoder_obj_list
 
+        # If lentagname is None, fall back to using the non tagged
+        # stream version
         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
-        if fec.get_decoder_input_conversion(decoder_obj_list[0]) == "uchar" or 
\
-           fec.get_decoder_input_conversion(decoder_obj_list[0]) == 
"packed_bits":
+        if fec.get_decoder_input_conversion(decoder_obj) == "uchar" or \
+           fec.get_decoder_input_conversion(decoder_obj) == "packed_bits":
             self.blocks.append(blocks.multiply_const_ff(48.0))
 
-        if fec.get_shift(decoder_obj_list[0]) != 0.0:
-            
self.blocks.append(blocks.add_const_ff(fec.get_shift(decoder_obj_list[0])))
-        elif fec.get_decoder_input_conversion(decoder_obj_list[0]) == 
"packed_bits":
+        if fec.get_shift(decoder_obj) != 0.0:
+            self.blocks.append(blocks.add_const_ff(fec.get_shift(decoder_obj)))
+        elif fec.get_decoder_input_conversion(decoder_obj) == "packed_bits":
             self.blocks.append(blocks.add_const_ff(128.0))
 
-        if fec.get_decoder_input_conversion(decoder_obj_list[0]) == "uchar" or 
\
-           fec.get_decoder_input_conversion(decoder_obj_list[0]) == 
"packed_bits":
+        if fec.get_decoder_input_conversion(decoder_obj) == "uchar" or \
+           fec.get_decoder_input_conversion(decoder_obj) == "packed_bits":
             self.blocks.append(blocks.float_to_uchar());
 
         const_index = 0; #index that corresponds to mod order for specinvert 
purposes
@@ -136,47 +140,32 @@ class extended_decoder(gr.hier_block2):
             for i in idx_list:
                 if 1.0/self.ann.count('1') >= i:
                     synd_garble = self.garbletable[i]
-            print 'using syndrom garble threshold ' + str(synd_garble) + 'for 
corr_bb'
+            print 'using syndrom garble threshold ' + str(synd_garble) + 'for 
conv_bit_corr_bb'
             print 'ceiling: .0335 data garble rate'
-            self.blocks.append(fec.corr_bb(cat, len(puncpat) - 
puncpat.count('0'),
+            self.blocks.append(fec.conv_bit_corr_bb(cat, len(puncpat) - 
puncpat.count('0'),
                                            len(ann), integration_period, 
flush, synd_garble))
 
         if self.puncpat != '11':
             self.blocks.append(fec.depuncture_bb(len(puncpat), 
read_bitlist(puncpat), 0))
 
-        if fec.get_decoder_input_conversion(decoder_obj_list[0]) == 
"packed_bits":
+        if fec.get_decoder_input_conversion(decoder_obj) == "packed_bits":
             self.blocks.append(blocks.uchar_to_float())
             self.blocks.append(blocks.add_const_ff(-128.0))
             self.blocks.append(digital.binary_slicer_fb())
             self.blocks.append(blocks.unpacked_to_packed_bb(1,0))
 
-        if(len(decoder_obj_list) > 1):
-            if(fec.get_history(decoder_obj_list[0]) != 0):
-                gr.log.info("fec.extended_decoder: Cannot use multi-threaded 
parallelism on a decoder with history.")
-                raise AttributeError
-
-        if threading == 'capillary':
-            self.blocks.append(capillary_threaded_decoder(decoder_obj_list,
-                                                          
fec.get_decoder_input_item_size(decoder_obj_list[0]),
-                                                          
fec.get_decoder_output_item_size(decoder_obj_list[0])))
-
-        elif threading == 'ordinary':
-            self.blocks.append(threaded_decoder(decoder_obj_list,
-                                                
fec.get_decoder_input_item_size(decoder_obj_list[0]),
-                                                
fec.get_decoder_output_item_size(decoder_obj_list[0])))
-
         else:
             if(not lentagname):
-                self.blocks.append(fec.decoder(decoder_obj_list[0],
-                                               
fec.get_decoder_input_item_size(decoder_obj_list[0]),
-                                               
fec.get_decoder_output_item_size(decoder_obj_list[0])))
+                self.blocks.append(fec.decoder(decoder_obj,
+                                               
fec.get_decoder_input_item_size(decoder_obj),
+                                               
fec.get_decoder_output_item_size(decoder_obj)))
             else:
-                self.blocks.append(fec.tagged_decoder(decoder_obj_list[0],
-                                                      
fec.get_decoder_input_item_size(decoder_obj_list[0]),
-                                                      
fec.get_decoder_output_item_size(decoder_obj_list[0]),
+                self.blocks.append(fec.tagged_decoder(decoder_obj,
+                                                      
fec.get_decoder_input_item_size(decoder_obj),
+                                                      
fec.get_decoder_output_item_size(decoder_obj),
                                                       lentagname))
 
-        if fec.get_decoder_output_conversion(decoder_obj_list[0]) == "unpack":
+        if fec.get_decoder_output_conversion(decoder_obj) == "unpack":
             self.blocks.append(blocks.packed_to_unpacked_bb(1, 
gr.GR_MSB_FIRST));
 
         self.connect((self, 0), (self.blocks[0], 0));
diff --git a/gr-fec/python/fec/extended_encoder.py 
b/gr-fec/python/fec/extended_tagged_encoder.py
similarity index 51%
copy from gr-fec/python/fec/extended_encoder.py
copy to gr-fec/python/fec/extended_tagged_encoder.py
index f511b53..2f78b8e 100644
--- a/gr-fec/python/fec/extended_encoder.py
+++ b/gr-fec/python/fec/extended_tagged_encoder.py
@@ -23,53 +23,50 @@
 from gnuradio import gr, blocks
 
 import fec_swig as fec
-from threaded_encoder import threaded_encoder
-from capillary_threaded_encoder import capillary_threaded_encoder
 from bitflip import read_bitlist
 
-class extended_encoder(gr.hier_block2):
-    def __init__(self, encoder_obj_list, threading, puncpat=None,
-                 lentagname=None):
-        gr.hier_block2.__init__(self, "extended_encoder",
+class extended_tagged_encoder(gr.hier_block2):
+    def __init__(self, encoder_obj_list, puncpat=None, lentagname=None):
+        gr.hier_block2.__init__(self, "extended_tagged_encoder",
                                 gr.io_signature(1, 1, gr.sizeof_char),
                                 gr.io_signature(1, 1, gr.sizeof_char))
 
         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 it's a list of encoders, take the first one, unless it's
+        # a list of lists of encoders.
+        if(type(encoder_obj_list) == list):
+            # This block doesn't handle parallelism of > 1
+            # We could just grab encoder [0][0], but we don't want to 
encourage this.
+            if(type(encoder_obj_list[0]) == list):
+                gr.log.info("fec.extended_tagged_encoder: Parallelism must be 
0 or 1.")
+                raise AttributeError
 
+            encoder_obj = encoder_obj_list[0]
+
+        # Otherwise, just take it as is
+        else:
+            encoder_obj = encoder_obj_list
+
+        # If lentagname is None, fall back to using the non tagged
+        # stream version
         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":
+        if fec.get_encoder_input_conversion(encoder_obj) == "pack":
             self.blocks.append(blocks.pack_k_bits_bb(8))
 
-        if threading == 'capillary':
-            self.blocks.append(capillary_threaded_encoder(encoder_obj_list,
-                                                          gr.sizeof_char,
-                                                          gr.sizeof_char))
-        elif threading == 'ordinary':
-            self.blocks.append(threaded_encoder(encoder_obj_list,
-                                                gr.sizeof_char,
-                                                gr.sizeof_char))
+        if(not lentagname):
+            self.blocks.append(fec.encoder(encoder_obj,
+                                           gr.sizeof_char,
+                                           gr.sizeof_char))
         else:
-            if(not lentagname):
-                self.blocks.append(fec.encoder(encoder_obj_list[0],
-                                               gr.sizeof_char,
-                                               gr.sizeof_char))
-            else:
-                self.blocks.append(fec.tagged_encoder(encoder_obj_list[0],
-                                                      gr.sizeof_char,
-                                                      gr.sizeof_char,
-                                                      lentagname))
+            self.blocks.append(fec.tagged_encoder(encoder_obj,
+                                                  gr.sizeof_char,
+                                                  gr.sizeof_char,
+                                                  lentagname))
 
         if self.puncpat != '11':
             self.blocks.append(fec.puncture_bb(len(puncpat), 
read_bitlist(puncpat), 0))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]