[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 33/57: fec: wip: adding a dummy encoder/dec
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 33/57: fec: wip: adding a dummy encoder/decoder and repetition code to exercise the API. |
Date: |
Wed, 21 May 2014 03:10:28 +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 1d1069b2edb1f3647d4d76b21ee0a68d45632ab1
Author: Tom Rondeau <address@hidden>
Date: Mon May 12 15:40:55 2014 -0400
fec: wip: adding a dummy encoder/decoder and repetition code to exercise
the API.
---
gr-fec/examples/CMakeLists.txt | 2 +
gr-fec/examples/ber_curve_gen.grc | 2068 ++++++++++++++++++++
gr-fec/examples/ber_generator.grc | 1060 ----------
.../{fecapi_tagged_decoders.grc => ber_test.grc} | 795 ++++----
gr-fec/examples/cc_ber.grc | 840 --------
gr-fec/examples/cc_bercurve.grc | 718 -------
..._tagged_decoders.grc => fecapi_cc_decoders.grc} | 685 +++----
gr-fec/examples/fecapi_decoders.grc | 1825 ++++++++++-------
gr-fec/examples/fecapi_encoders.grc | 805 ++++++--
gr-fec/examples/fecapi_tagged_decoders.grc | 1255 ++++++++----
gr-fec/examples/fecapi_tagged_encoders.grc | 754 +++++--
gr-fec/grc/fec_block_tree.xml | 4 +
gr-fec/grc/variable_cc_decoder_def_list.xml | 15 +-
gr-fec/grc/variable_dummy_decoder_def_list.xml | 67 +
gr-fec/grc/variable_dummy_encoder_def_list.xml | 67 +
.../grc/variable_repetition_decoder_def_list.xml | 81 +
.../grc/variable_repetition_encoder_def_list.xml | 74 +
gr-fec/include/gnuradio/fec/CMakeLists.txt | 4 +
gr-fec/include/gnuradio/fec/dummy_decoder.h | 76 +
gr-fec/include/gnuradio/fec/dummy_encoder.h | 76 +
gr-fec/include/gnuradio/fec/repetition_decoder.h | 82 +
gr-fec/include/gnuradio/fec/repetition_encoder.h | 79 +
gr-fec/lib/CMakeLists.txt | 4 +
gr-fec/lib/dummy_decoder_impl.cc | 124 ++
gr-fec/lib/dummy_decoder_impl.h | 61 +
gr-fec/lib/dummy_encoder_impl.cc | 99 +
gr-fec/lib/dummy_encoder_impl.h | 57 +
gr-fec/lib/repetition_decoder_impl.cc | 144 ++
gr-fec/lib/repetition_decoder_impl.h | 67 +
gr-fec/lib/repetition_encoder_impl.cc | 108 +
gr-fec/lib/repetition_encoder_impl.h | 58 +
gr-fec/python/fec/CMakeLists.txt | 1 -
gr-fec/python/fec/__init__.py | 1 -
gr-fec/python/fec/bercurve_generator.py | 20 +-
gr-fec/python/fec/fec_raw_test.py | 91 -
gr-fec/python/fec/fec_test.py | 57 +-
gr-fec/python/fec/threaded_encoder.py | 2 +-
gr-fec/swig/fec_swig.i | 8 +
38 files changed, 7425 insertions(+), 4909 deletions(-)
diff --git a/gr-fec/examples/CMakeLists.txt b/gr-fec/examples/CMakeLists.txt
index b5f253b..d0cf5e4 100644
--- a/gr-fec/examples/CMakeLists.txt
+++ b/gr-fec/examples/CMakeLists.txt
@@ -21,6 +21,8 @@ include(GrPython)
install(
FILES
+ ber_test.grc
+ ber_curve_gen.grc
fecapi_decoders.grc
fecapi_encoders.grc
fecapi_tagged_decoders.grc
diff --git a/gr-fec/examples/ber_curve_gen.grc
b/gr-fec/examples/ber_curve_gen.grc
new file mode 100644
index 0000000..f4844fd
--- /dev/null
+++ b/gr-fec/examples/ber_curve_gen.grc
@@ -0,0 +1,2068 @@
+<?xml version='1.0' encoding='ASCII'?>
+<flow_graph>
+ <timestamp>Mon May 12 21:57:30 2014</timestamp>
+ <block>
+ <key>variable</key>
+ <param>
+ <key>id</key>
+ <value>framebits</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>4096</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(160, 101)</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>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(249, 373)</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>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>[79, 109]</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(110, 371)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable</key>
+ <param>
+ <key>id</key>
+ <value>k</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>7</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(16, 370)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable</key>
+ <param>
+ <key>id</key>
+ <value>esno_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>numpy.arange(0, 8, .5) </value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(13, 192)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable</key>
+ <param>
+ <key>id</key>
+ <value>samp_rate_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>35000000</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(12, 99)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable</key>
+ <param>
+ <key>id</key>
+ <value>esno_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>numpy.arange(0, 14, 0.5) </value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(14, 283)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>fec_bercurve_generator</key>
+ <param>
+ <key>id</key>
+ <value>fec_bercurve_generator_0_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>esno</key>
+ <value>esno_0</value>
+ </param>
+ <param>
+ <key>samp_rate</key>
+ <value>samp_rate_0</value>
+ </param>
+ <param>
+ <key>encoder_list</key>
+ <value>enc_rep</value>
+ </param>
+ <param>
+ <key>decoder_list</key>
+ <value>dec_rep</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>'11'</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>(481, 132)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ <bus_source>1</bus_source>
+ </block>
+ <block>
+ <key>fec_bercurve_generator</key>
+ <param>
+ <key>id</key>
+ <value>fec_bercurve_generator_0_0_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>esno</key>
+ <value>esno_0</value>
+ </param>
+ <param>
+ <key>samp_rate</key>
+ <value>samp_rate_0</value>
+ </param>
+ <param>
+ <key>encoder_list</key>
+ <value>enc_dummy</value>
+ </param>
+ <param>
+ <key>decoder_list</key>
+ <value>dec_dummy</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>'11'</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>(481, 9)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ <bus_source>1</bus_source>
+ </block>
+ <block>
+ <key>fec_bercurve_generator</key>
+ <param>
+ <key>id</key>
+ <value>fec_bercurve_generator_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>esno</key>
+ <value>esno_0</value>
+ </param>
+ <param>
+ <key>samp_rate</key>
+ <value>samp_rate_0</value>
+ </param>
+ <param>
+ <key>encoder_list</key>
+ <value>enc_cc</value>
+ </param>
+ <param>
+ <key>decoder_list</key>
+ <value>dec_cc</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>'11'</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>(481, 260)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ <bus_source>1</bus_source>
+ </block>
+ <block>
+ <key>options</key>
+ <param>
+ <key>id</key>
+ <value>ber_curve_gen</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>title</key>
+ <value></value>
+ </param>
+ <param>
+ <key>author</key>
+ <value></value>
+ </param>
+ <param>
+ <key>description</key>
+ <value></value>
+ </param>
+ <param>
+ <key>window_size</key>
+ <value>2000,2000</value>
+ </param>
+ <param>
+ <key>generate_options</key>
+ <value>qt_gui</value>
+ </param>
+ <param>
+ <key>category</key>
+ <value>Custom</value>
+ </param>
+ <param>
+ <key>run_options</key>
+ <value>prompt</value>
+ </param>
+ <param>
+ <key>run</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>max_nouts</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>realtime_scheduling</key>
+ <value></value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(10, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>qtgui_bercurve_sink</key>
+ <param>
+ <key>id</key>
+ <value>qtgui_bercurve_sink_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>esno</key>
+ <value>esno_0</value>
+ </param>
+ <param>
+ <key>berminerrors</key>
+ <value>10000000</value>
+ </param>
+ <param>
+ <key>berlimit</key>
+ <value>-15</value>
+ </param>
+ <param>
+ <key>num_curves</key>
+ <value>3</value>
+ </param>
+ <param>
+ <key>curvenames</key>
+ <value>[]</value>
+ </param>
+ <param>
+ <key>ymin</key>
+ <value>-10</value>
+ </param>
+ <param>
+ <key>ymax</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>update_time</key>
+ <value>0.10</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
+ </param>
+ <param>
+ <key>label1</key>
+ <value>None</value>
+ </param>
+ <param>
+ <key>width1</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>color1</key>
+ <value>"blue"</value>
+ </param>
+ <param>
+ <key>style1</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>marker1</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>alpha1</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>label2</key>
+ <value>Rep. (Rate=3)</value>
+ </param>
+ <param>
+ <key>width2</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>color2</key>
+ <value>"red"</value>
+ </param>
+ <param>
+ <key>style2</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>marker2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>alpha2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>label3</key>
+ <value>CC (K=7, Rate=2)</value>
+ </param>
+ <param>
+ <key>width3</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>color3</key>
+ <value>"magenta"</value>
+ </param>
+ <param>
+ <key>style3</key>
+ <value>5</value>
+ </param>
+ <param>
+ <key>marker3</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>alpha3</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>label4</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width4</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color4</key>
+ <value>"red"</value>
+ </param>
+ <param>
+ <key>style4</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>marker4</key>
+ <value>0</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>"red"</value>
+ </param>
+ <param>
+ <key>style5</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>marker5</key>
+ <value>0</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>"red"</value>
+ </param>
+ <param>
+ <key>style6</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>marker6</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>alpha6</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label7</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width7</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color7</key>
+ <value>"red"</value>
+ </param>
+ <param>
+ <key>style7</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>marker7</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>alpha7</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label8</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width8</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color8</key>
+ <value>"red"</value>
+ </param>
+ <param>
+ <key>style8</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>marker8</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>alpha8</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label9</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width9</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color9</key>
+ <value>"red"</value>
+ </param>
+ <param>
+ <key>style9</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>marker9</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>alpha9</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label10</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width10</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color10</key>
+ <value>"red"</value>
+ </param>
+ <param>
+ <key>style10</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>marker10</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>alpha10</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(934, 58)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ <bus_sink>1</bus_sink>
+ </block>
+ <block>
+ <key>variable_dummy_decoder_def</key>
+ <param>
+ <key>id</key>
+ <value>dec_dummy</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>framebits</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(594, 604)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_dummy_encoder_def</key>
+ <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>2</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>framebits</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(592, 455)</value>
+ </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>2</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>framebits</value>
+ </param>
+ <param>
+ <key>rep</key>
+ <value>3</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(301, 455)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_cc_encoder_def</key>
+ <param>
+ <key>id</key>
+ <value>enc_cc</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>framebits</value>
+ </param>
+ <param>
+ <key>k</key>
+ <value>k</value>
+ </param>
+ <param>
+ <key>rate</key>
+ <value>rate</value>
+ </param>
+ <param>
+ <key>polys</key>
+ <value>polys</value>
+ </param>
+ <param>
+ <key>state_start</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(13, 451)</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>2</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>framebits</value>
+ </param>
+ <param>
+ <key>k</key>
+ <value>k</value>
+ </param>
+ <param>
+ <key>rate</key>
+ <value>rate</value>
+ </param>
+ <param>
+ <key>polys</key>
+ <value>polys</value>
+ </param>
+ <param>
+ <key>state_start</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>state_end</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(15, 705)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_repetition_decoder_def</key>
+ <param>
+ <key>id</key>
+ <value>dec_rep</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>len(esno_0)</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>framebits</value>
+ </param>
+ <param>
+ <key>rep</key>
+ <value>3</value>
+ </param>
+ <param>
+ <key>prob</key>
+ <value>0.5</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(301, 626)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>56</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>1</source_key>
+ <sink_key>57</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>2</source_key>
+ <sink_key>58</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>3</source_key>
+ <sink_key>59</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>4</source_key>
+ <sink_key>60</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>5</source_key>
+ <sink_key>61</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>6</source_key>
+ <sink_key>62</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>7</source_key>
+ <sink_key>63</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>8</source_key>
+ <sink_key>64</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>9</source_key>
+ <sink_key>65</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>10</source_key>
+ <sink_key>66</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>11</source_key>
+ <sink_key>67</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>12</source_key>
+ <sink_key>68</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>13</source_key>
+ <sink_key>69</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>14</source_key>
+ <sink_key>70</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>15</source_key>
+ <sink_key>71</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>16</source_key>
+ <sink_key>72</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>17</source_key>
+ <sink_key>73</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>18</source_key>
+ <sink_key>74</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>19</source_key>
+ <sink_key>75</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>20</source_key>
+ <sink_key>76</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>21</source_key>
+ <sink_key>77</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>22</source_key>
+ <sink_key>78</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>23</source_key>
+ <sink_key>79</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>24</source_key>
+ <sink_key>80</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>25</source_key>
+ <sink_key>81</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>26</source_key>
+ <sink_key>82</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>27</source_key>
+ <sink_key>83</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>28</source_key>
+ <sink_key>84</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>29</source_key>
+ <sink_key>85</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>30</source_key>
+ <sink_key>86</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>31</source_key>
+ <sink_key>87</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>32</source_key>
+ <sink_key>88</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>33</source_key>
+ <sink_key>89</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>34</source_key>
+ <sink_key>90</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>35</source_key>
+ <sink_key>91</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>36</source_key>
+ <sink_key>92</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>37</source_key>
+ <sink_key>93</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>38</source_key>
+ <sink_key>94</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>39</source_key>
+ <sink_key>95</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>40</source_key>
+ <sink_key>96</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>41</source_key>
+ <sink_key>97</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>42</source_key>
+ <sink_key>98</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>43</source_key>
+ <sink_key>99</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>44</source_key>
+ <sink_key>100</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>45</source_key>
+ <sink_key>101</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>46</source_key>
+ <sink_key>102</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>47</source_key>
+ <sink_key>103</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>48</source_key>
+ <sink_key>104</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>49</source_key>
+ <sink_key>105</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>50</source_key>
+ <sink_key>106</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>51</source_key>
+ <sink_key>107</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>52</source_key>
+ <sink_key>108</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>53</source_key>
+ <sink_key>109</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>54</source_key>
+ <sink_key>110</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>55</source_key>
+ <sink_key>111</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>56</source_key>
+ <sink_key>169</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>1</source_key>
+ <sink_key>1</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>2</source_key>
+ <sink_key>2</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>3</source_key>
+ <sink_key>3</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>4</source_key>
+ <sink_key>4</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>5</source_key>
+ <sink_key>5</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>6</source_key>
+ <sink_key>6</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>7</source_key>
+ <sink_key>7</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>8</source_key>
+ <sink_key>8</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>9</source_key>
+ <sink_key>9</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>10</source_key>
+ <sink_key>10</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>11</source_key>
+ <sink_key>11</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>12</source_key>
+ <sink_key>12</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>13</source_key>
+ <sink_key>13</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>14</source_key>
+ <sink_key>14</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>15</source_key>
+ <sink_key>15</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>16</source_key>
+ <sink_key>16</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>17</source_key>
+ <sink_key>17</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>18</source_key>
+ <sink_key>18</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>19</source_key>
+ <sink_key>19</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>20</source_key>
+ <sink_key>20</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>21</source_key>
+ <sink_key>21</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>22</source_key>
+ <sink_key>22</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>23</source_key>
+ <sink_key>23</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>24</source_key>
+ <sink_key>24</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>25</source_key>
+ <sink_key>25</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>26</source_key>
+ <sink_key>26</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>27</source_key>
+ <sink_key>27</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>28</source_key>
+ <sink_key>28</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>29</source_key>
+ <sink_key>29</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>30</source_key>
+ <sink_key>30</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>31</source_key>
+ <sink_key>31</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>32</source_key>
+ <sink_key>32</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>33</source_key>
+ <sink_key>33</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>34</source_key>
+ <sink_key>34</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>35</source_key>
+ <sink_key>35</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>36</source_key>
+ <sink_key>36</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>37</source_key>
+ <sink_key>37</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>38</source_key>
+ <sink_key>38</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>39</source_key>
+ <sink_key>39</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>40</source_key>
+ <sink_key>40</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>41</source_key>
+ <sink_key>41</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>42</source_key>
+ <sink_key>42</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>43</source_key>
+ <sink_key>43</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>44</source_key>
+ <sink_key>44</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>45</source_key>
+ <sink_key>45</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>46</source_key>
+ <sink_key>46</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>47</source_key>
+ <sink_key>47</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>48</source_key>
+ <sink_key>48</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>49</source_key>
+ <sink_key>49</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>50</source_key>
+ <sink_key>50</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>51</source_key>
+ <sink_key>51</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>52</source_key>
+ <sink_key>52</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>53</source_key>
+ <sink_key>53</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>54</source_key>
+ <sink_key>54</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>55</source_key>
+ <sink_key>55</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>56</source_key>
+ <sink_key>168</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>112</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>1</source_key>
+ <sink_key>113</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>2</source_key>
+ <sink_key>114</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>3</source_key>
+ <sink_key>115</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>4</source_key>
+ <sink_key>116</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>5</source_key>
+ <sink_key>117</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>6</source_key>
+ <sink_key>118</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>7</source_key>
+ <sink_key>119</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>8</source_key>
+ <sink_key>120</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>9</source_key>
+ <sink_key>121</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>10</source_key>
+ <sink_key>122</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>11</source_key>
+ <sink_key>123</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>12</source_key>
+ <sink_key>124</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>13</source_key>
+ <sink_key>125</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>14</source_key>
+ <sink_key>126</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>15</source_key>
+ <sink_key>127</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>16</source_key>
+ <sink_key>128</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>17</source_key>
+ <sink_key>129</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>18</source_key>
+ <sink_key>130</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>19</source_key>
+ <sink_key>131</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>20</source_key>
+ <sink_key>132</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>21</source_key>
+ <sink_key>133</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>22</source_key>
+ <sink_key>134</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>23</source_key>
+ <sink_key>135</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>24</source_key>
+ <sink_key>136</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>25</source_key>
+ <sink_key>137</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>26</source_key>
+ <sink_key>138</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>27</source_key>
+ <sink_key>139</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>28</source_key>
+ <sink_key>140</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>29</source_key>
+ <sink_key>141</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>30</source_key>
+ <sink_key>142</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>31</source_key>
+ <sink_key>143</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>32</source_key>
+ <sink_key>144</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>33</source_key>
+ <sink_key>145</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>34</source_key>
+ <sink_key>146</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>35</source_key>
+ <sink_key>147</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>36</source_key>
+ <sink_key>148</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>37</source_key>
+ <sink_key>149</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>38</source_key>
+ <sink_key>150</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>39</source_key>
+ <sink_key>151</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>40</source_key>
+ <sink_key>152</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>41</source_key>
+ <sink_key>153</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>42</source_key>
+ <sink_key>154</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>43</source_key>
+ <sink_key>155</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>44</source_key>
+ <sink_key>156</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>45</source_key>
+ <sink_key>157</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>46</source_key>
+ <sink_key>158</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>47</source_key>
+ <sink_key>159</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>48</source_key>
+ <sink_key>160</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>49</source_key>
+ <sink_key>161</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>50</source_key>
+ <sink_key>162</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>51</source_key>
+ <sink_key>163</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>52</source_key>
+ <sink_key>164</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>53</source_key>
+ <sink_key>165</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>54</source_key>
+ <sink_key>166</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>55</source_key>
+ <sink_key>167</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>56</source_key>
+ <sink_key>170</sink_key>
+ </connection>
+</flow_graph>
diff --git a/gr-fec/examples/ber_generator.grc
b/gr-fec/examples/ber_generator.grc
deleted file mode 100644
index 2e233a3..0000000
--- a/gr-fec/examples/ber_generator.grc
+++ /dev/null
@@ -1,1060 +0,0 @@
-<?xml version='1.0' encoding='ASCII'?>
-<flow_graph>
- <timestamp>Tue Mar 25 12:37:24 2014</timestamp>
- <block>
- <key>options</key>
- <param>
- <key>id</key>
- <value>ber_generator</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>title</key>
- <value>BER Generator</value>
- </param>
- <param>
- <key>author</key>
- <value></value>
- </param>
- <param>
- <key>description</key>
- <value></value>
- </param>
- <param>
- <key>window_size</key>
- <value>2000, 1024</value>
- </param>
- <param>
- <key>generate_options</key>
- <value>hb</value>
- </param>
- <param>
- <key>category</key>
- <value>Error Coding</value>
- </param>
- <param>
- <key>run_options</key>
- <value>prompt</value>
- </param>
- <param>
- <key>run</key>
- <value>True</value>
- </param>
- <param>
- <key>max_nouts</key>
- <value>0</value>
- </param>
- <param>
- <key>realtime_scheduling</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(10, 10)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>noise</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>numpy.sqrt((10.0**(-esno/10.0))/2.0)</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(673, 509)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_unpacked_to_packed_xx</key>
- <param>
- <key>id</key>
- <value>blocks_unpacked_to_packed_xx_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>bits_per_chunk</key>
- <value>1</value>
- </param>
- <param>
- <key>endianness</key>
- <value>gr.GR_LSB_FIRST</value>
- </param>
- <param>
- <key>num_ports</key>
- <value>1</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>(575, 331)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_unpacked_to_packed_xx</key>
- <param>
- <key>id</key>
- <value>blocks_unpacked_to_packed_xx_0_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>bits_per_chunk</key>
- <value>1</value>
- </param>
- <param>
- <key>endianness</key>
- <value>gr.GR_LSB_FIRST</value>
- </param>
- <param>
- <key>num_ports</key>
- <value>1</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>(575, 258)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>pad_sink</key>
- <param>
- <key>id</key>
- <value>pad_sink_0_1</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>out</value>
- </param>
- <param>
- <key>type</key>
- <value>float</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>num_streams</key>
- <value>1</value>
- </param>
- <param>
- <key>optional</key>
- <value>False</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(1087, 322)</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>generic_encoder</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>capillary</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</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>(588, 16)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>generic_encoder</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value></value>
- </param>
- <param>
- <key>value</key>
- <value>0</value>
- </param>
- <param>
- <key>type</key>
- <value></value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(365, 542)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>generic_decoder</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value></value>
- </param>
- <param>
- <key>value</key>
- <value>0</value>
- </param>
- <param>
- <key>type</key>
- <value></value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(364, 612)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>samp_rate</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value></value>
- </param>
- <param>
- <key>value</key>
- <value>32000</value>
- </param>
- <param>
- <key>type</key>
- <value>intx</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(122, 503)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>esno</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>EsNo</value>
- </param>
- <param>
- <key>value</key>
- <value>0</value>
- </param>
- <param>
- <key>type</key>
- <value>eng_float</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(22, 484)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>puncpat</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value></value>
- </param>
- <param>
- <key>value</key>
- <value>'11'</value>
- </param>
- <param>
- <key>type</key>
- <value>string</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(232, 503)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>berlimit</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value></value>
- </param>
- <param>
- <key>value</key>
- <value>-5.0</value>
- </param>
- <param>
- <key>type</key>
- <value>eng_float</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(146, 593)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>threading</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value></value>
- </param>
- <param>
- <key>value</key>
- <value>capillary</value>
- </param>
- <param>
- <key>type</key>
- <value>string</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(246, 593)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>berminerrors</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value></value>
- </param>
- <param>
- <key>value</key>
- <value>100</value>
- </param>
- <param>
- <key>type</key>
- <value>intx</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(21, 593)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>fec_puncture_ff</key>
- <param>
- <key>id</key>
- <value>fec_puncture_ff_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>delay</key>
- <value>0</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>fec.read_bitlist(puncpat)</value>
- </param>
- <param>
- <key>puncholes</key>
- <value>puncpat.count('0')</value>
- </param>
- <param>
- <key>puncsize</key>
- <value>len(puncpat)</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>(882, 7)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>fec_extended_decoder</key>
- <param>
- <key>id</key>
- <value>fec_extended_decoder_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>fec_extended_decoder</value>
- </param>
- <param>
- <key>decoder_list</key>
- <value>generic_decoder</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>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>(589, 115)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
- <block>
- <key>blocks_add_xx</key>
- <param>
- <key>id</key>
- <value>blocks_add_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>2</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</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>(938, 130)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
- <block>
- <key>blocks_head</key>
- <param>
- <key>id</key>
- <value>blocks_head_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>False</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>num_items</key>
- <value>14000</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</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>(242, 151)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_throttle</key>
- <param>
- <key>id</key>
- <value>blocks_throttle_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>
- </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>(132, 331)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>import</key>
- <param>
- <key>id</key>
- <value>import_numpy</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>import</key>
- <value>import numpy</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(228, 16)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>analog_fastnoise_source_x</key>
- <param>
- <key>id</key>
- <value>analog_fastnoise_source_x_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>float</value>
- </param>
- <param>
- <key>noise_type</key>
- <value>analog.GR_GAUSSIAN</value>
- </param>
- <param>
- <key>amp</key>
- <value>noise</value>
- </param>
- <param>
- <key>seed</key>
- <value>0</value>
- </param>
- <param>
- <key>samples</key>
- <value>8192</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>(1100, 133)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
- <block>
- <key>analog_random_source_x</key>
- <param>
- <key>id</key>
- <value>analog_random_source_x_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <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>
- </param>
- <param>
- <key>num_samps</key>
- <value>1000</value>
- </param>
- <param>
- <key>repeat</key>
- <value>True</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>(22, 124)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>fec_ber_bf</key>
- <param>
- <key>id</key>
- <value>fec_ber_bf_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>berminerrors</key>
- <value>berminerrors</value>
- </param>
- <param>
- <key>berlimit</key>
- <value>-7.0</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>(851, 310)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>pad_sink</key>
- <param>
- <key>id</key>
- <value>pad_sink_1</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>enc</value>
- </param>
- <param>
- <key>type</key>
- <value>float</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>num_streams</key>
- <value>1</value>
- </param>
- <param>
- <key>optional</key>
- <value>True</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(923, 219)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <connection>
- <source_block_id>fec_extended_decoder_0</source_block_id>
- <sink_block_id>blocks_unpacked_to_packed_xx_0_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>blocks_unpacked_to_packed_xx_0</source_block_id>
- <sink_block_id>fec_ber_bf_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>1</sink_key>
- </connection>
- <connection>
- <source_block_id>blocks_unpacked_to_packed_xx_0_0</source_block_id>
- <sink_block_id>fec_ber_bf_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_ber_bf_0</source_block_id>
- <sink_block_id>pad_sink_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>fec_puncture_ff_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>fec_extended_encoder_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_unpacked_to_packed_xx_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>analog_random_source_x_0</source_block_id>
- <sink_block_id>blocks_head_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>blocks_head_0</source_block_id>
- <sink_block_id>blocks_throttle_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</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_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_puncture_ff_0</source_block_id>
- <sink_block_id>blocks_add_xx_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>1</sink_key>
- </connection>
- <connection>
- <source_block_id>analog_fastnoise_source_x_0</source_block_id>
- <sink_block_id>blocks_add_xx_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>blocks_add_xx_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>blocks_add_xx_0</source_block_id>
- <sink_block_id>pad_sink_1</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
-</flow_graph>
diff --git a/gr-fec/examples/fecapi_tagged_decoders.grc
b/gr-fec/examples/ber_test.grc
similarity index 80%
copy from gr-fec/examples/fecapi_tagged_decoders.grc
copy to gr-fec/examples/ber_test.grc
index b9936b8..3d3a551 100644
--- a/gr-fec/examples/fecapi_tagged_decoders.grc
+++ b/gr-fec/examples/ber_test.grc
@@ -1,55 +1,46 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Wed May 7 19:28:30 2014</timestamp>
+ <timestamp>Mon May 12 21:49:02 2014</timestamp>
<block>
- <key>options</key>
+ <key>variable</key>
<param>
<key>id</key>
- <value>fecapi_tagged_decoders</value>
+ <value>k</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>title</key>
- <value></value>
- </param>
- <param>
- <key>author</key>
- <value></value>
+ <key>value</key>
+ <value>7</value>
</param>
<param>
- <key>description</key>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>window_size</key>
- <value>3000,2000</value>
- </param>
- <param>
- <key>generate_options</key>
- <value>qt_gui</value>
+ <key>_coordinate</key>
+ <value>(241, 11)</value>
</param>
<param>
- <key>category</key>
- <value>Custom</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable</key>
<param>
- <key>run_options</key>
- <value>prompt</value>
+ <key>id</key>
+ <value>berminerrs</value>
</param>
<param>
- <key>run</key>
+ <key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>max_nouts</key>
- <value>0</value>
- </param>
- <param>
- <key>realtime_scheduling</key>
- <value></value>
+ <key>value</key>
+ <value>100</value>
</param>
<param>
<key>alias</key>
@@ -57,7 +48,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(10, 10)</value>
+ <value>(433, 12)</value>
</param>
<param>
<key>_rotation</key>
@@ -68,7 +59,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>length_tag</value>
+ <value>noise</value>
</param>
<param>
<key>_enabled</key>
@@ -76,7 +67,7 @@
</param>
<param>
<key>value</key>
- <value>"packet_len"</value>
+ <value>numpy.sqrt((10.0**(-esno/10.0))/2.0)</value>
</param>
<param>
<key>alias</key>
@@ -84,7 +75,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(202, 112)</value>
+ <value>(428, 93)</value>
</param>
<param>
<key>_rotation</key>
@@ -95,7 +86,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>samp_rate</value>
+ <value>rate</value>
</param>
<param>
<key>_enabled</key>
@@ -103,7 +94,7 @@
</param>
<param>
<key>value</key>
- <value>50000</value>
+ <value>2</value>
</param>
<param>
<key>alias</key>
@@ -111,7 +102,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(9, 95)</value>
+ <value>(337, 12)</value>
</param>
<param>
<key>_rotation</key>
@@ -122,7 +113,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>k</value>
+ <value>framebits</value>
</param>
<param>
<key>_enabled</key>
@@ -130,7 +121,7 @@
</param>
<param>
<key>value</key>
- <value>7</value>
+ <value>4096</value>
</param>
<param>
<key>alias</key>
@@ -138,7 +129,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(562, 734)</value>
+ <value>(155, 89)</value>
</param>
<param>
<key>_rotation</key>
@@ -149,7 +140,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>rate</value>
+ <value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
@@ -157,7 +148,7 @@
</param>
<param>
<key>value</key>
- <value>2</value>
+ <value>35000000</value>
</param>
<param>
<key>alias</key>
@@ -165,7 +156,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(663, 731)</value>
+ <value>(12, 91)</value>
</param>
<param>
<key>_rotation</key>
@@ -184,7 +175,7 @@
</param>
<param>
<key>value</key>
- <value>[109, 79]</value>
+ <value>[79, 109]</value>
</param>
<param>
<key>alias</key>
@@ -192,7 +183,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(479, 819)</value>
+ <value>(290, 91)</value>
</param>
<param>
<key>_rotation</key>
@@ -200,26 +191,50 @@
</param>
</block>
<block>
- <key>variable</key>
+ <key>blocks_unpacked_to_packed_xx</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>blocks_unpacked_to_packed_xx_0_0</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
- <key>value</key>
- <value>[79, 109]</value>
+ <key>type</key>
+ <value>byte</value>
+ </param>
+ <param>
+ <key>bits_per_chunk</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>endianness</key>
+ <value>gr.GR_LSB_FIRST</value>
+ </param>
+ <param>
+ <key>num_ports</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>(621, 816)</value>
+ <value>(932, 412)</value>
</param>
<param>
<key>_rotation</key>
@@ -227,77 +242,101 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>fec_extended_decoder</key>
<param>
<key>id</key>
- <value>puncpat</value>
+ <value>fec_extended_decoder_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
- <value></value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
</param>
<param>
- <key>value</key>
- <value>'11'</value>
+ <key>decoder_list</key>
+ <value>dec</value>
</param>
<param>
- <key>type</key>
- <value>string</value>
+ <key>threadtype</key>
+ <value>none</value>
</param>
<param>
- <key>short_id</key>
- <value></value>
+ <key>ann</key>
+ <value>None</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(248, 9)</value>
+ <value>(1026, 258)</value>
</param>
<param>
<key>_rotation</key>
- <value>0</value>
+ <value>180</value>
</param>
</block>
<block>
- <key>parameter</key>
+ <key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>MTU</value>
+ <value>blocks_char_to_float_1</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
- <value>MTU</value>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
- <key>value</key>
- <value>1500</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>(365, 9)</value>
+ <value>(1125, 194)</value>
</param>
<param>
<key>_rotation</key>
@@ -305,30 +344,61 @@
</param>
</block>
<block>
- <key>fec_extended_decoder</key>
+ <key>digital_map_bb</key>
<param>
<key>id</key>
- <value>fec_extended_decoder_0_0</value>
+ <value>digital_map_bb_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>fec_extended_decoder</value>
+ <key>map</key>
+ <value>[-1, 1]</value>
</param>
<param>
- <key>decoder_list</key>
- <value>dec_cc</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>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(942, 194)</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</value>
+ </param>
+ <param>
+ <key>threadtype</key>
+ <value>capillary</value>
</param>
<param>
<key>puncpat</key>
@@ -336,7 +406,7 @@
</param>
<param>
<key>lentagname</key>
- <value>length_tag</value>
+ <value>None</value>
</param>
<param>
<key>alias</key>
@@ -356,7 +426,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(923, 464)</value>
+ <value>(628, 163)</value>
</param>
<param>
<key>_rotation</key>
@@ -364,22 +434,30 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>blocks_throttle</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_1_0</value>
+ <value>blocks_throttle_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>scale</key>
- <value>1</value>
+ <key>ignoretag</key>
+ <value>True</value>
</param>
<param>
<key>alias</key>
@@ -399,7 +477,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1265, 506)</value>
+ <value>(90, 337)</value>
</param>
<param>
<key>_rotation</key>
@@ -407,22 +485,18 @@
</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_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>
@@ -442,7 +516,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(678, 506)</value>
+ <value>(402, 194)</value>
</param>
<param>
<key>_rotation</key>
@@ -450,18 +524,34 @@
</param>
</block>
<block>
- <key>digital_map_bb</key>
+ <key>analog_fastnoise_source_x</key>
<param>
<key>id</key>
- <value>digital_map_bb_0</value>
+ <value>analog_fastnoise_source_x_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>map</key>
- <value>[-1, 1]</value>
+ <key>type</key>
+ <value>float</value>
+ </param>
+ <param>
+ <key>noise_type</key>
+ <value>analog.GR_GAUSSIAN</value>
+ </param>
+ <param>
+ <key>amp</key>
+ <value>noise</value>
+ </param>
+ <param>
+ <key>seed</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>samples</key>
+ <value>8192</value>
</param>
<param>
<key>alias</key>
@@ -481,7 +571,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(493, 506)</value>
+ <value>(963, 29)</value>
</param>
<param>
<key>_rotation</key>
@@ -489,21 +579,25 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>blocks_add_xx</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_1</value>
+ <value>blocks_add_xx_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>
+ <key>num_inputs</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>vlen</key>
<value>1</value>
</param>
<param>
@@ -524,7 +618,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1014, 340)</value>
+ <value>(1358, 162)</value>
</param>
<param>
<key>_rotation</key>
@@ -532,18 +626,130 @@
</param>
</block>
<block>
- <key>blocks_unpack_k_bits_bb</key>
+ <key>qtgui_number_sink</key>
<param>
<key>id</key>
- <value>blocks_unpack_k_bits_bb_0_0</value>
+ <value>qtgui_number_sink_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>k</key>
- <value>8</value>
+ <key>type</key>
+ <value>float</value>
+ </param>
+ <param>
+ <key>autoscale</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>avg</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>graph_type</key>
+ <value>qtgui.NUM_GRAPH_HORIZ</value>
+ </param>
+ <param>
+ <key>nconnections</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>min</key>
+ <value>-10</value>
+ </param>
+ <param>
+ <key>max</key>
+ <value>10</value>
+ </param>
+ <param>
+ <key>update_time</key>
+ <value>0.10</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
+ </param>
+ <param>
+ <key>label1</key>
+ <value>BER</value>
+ </param>
+ <param>
+ <key>color1</key>
+ <value>("blue", "red")</value>
+ </param>
+ <param>
+ <key>label2</key>
+ <value></value>
+ </param>
+ <param>
+ <key>color2</key>
+ <value>("black", "black")</value>
+ </param>
+ <param>
+ <key>label3</key>
+ <value></value>
+ </param>
+ <param>
+ <key>color3</key>
+ <value>("black", "black")</value>
+ </param>
+ <param>
+ <key>label4</key>
+ <value></value>
+ </param>
+ <param>
+ <key>color4</key>
+ <value>("black", "black")</value>
+ </param>
+ <param>
+ <key>label5</key>
+ <value></value>
+ </param>
+ <param>
+ <key>color5</key>
+ <value>("black", "black")</value>
+ </param>
+ <param>
+ <key>label6</key>
+ <value></value>
+ </param>
+ <param>
+ <key>color6</key>
+ <value>("black", "black")</value>
+ </param>
+ <param>
+ <key>label7</key>
+ <value></value>
+ </param>
+ <param>
+ <key>color7</key>
+ <value>("black", "black")</value>
+ </param>
+ <param>
+ <key>label8</key>
+ <value></value>
+ </param>
+ <param>
+ <key>color8</key>
+ <value>("black", "black")</value>
+ </param>
+ <param>
+ <key>label9</key>
+ <value></value>
+ </param>
+ <param>
+ <key>color9</key>
+ <value>("black", "black")</value>
+ </param>
+ <param>
+ <key>label10</key>
+ <value></value>
+ </param>
+ <param>
+ <key>color10</key>
+ <value>("black", "black")</value>
</param>
<param>
<key>alias</key>
@@ -554,16 +760,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>(359, 341)</value>
+ <value>(1504, 446)</value>
</param>
<param>
<key>_rotation</key>
@@ -590,7 +788,7 @@
</param>
<param>
<key>size</key>
- <value>2048</value>
+ <value>1024</value>
</param>
<param>
<key>srate</key>
@@ -602,15 +800,15 @@
</param>
<param>
<key>ymin</key>
- <value>-0.5</value>
+ <value>-1.25</value>
</param>
<param>
<key>ymax</key>
- <value>1.5</value>
+ <value>1.25</value>
</param>
<param>
<key>nconnections</key>
- <value>2</value>
+ <value>1</value>
</param>
<param>
<key>update_time</key>
@@ -650,7 +848,7 @@
</param>
<param>
<key>label1</key>
- <value>Input</value>
+ <value></value>
</param>
<param>
<key>width1</key>
@@ -662,19 +860,19 @@
</param>
<param>
<key>style1</key>
- <value>1</value>
+ <value>3</value>
</param>
<param>
<key>marker1</key>
- <value>-1</value>
+ <value>0</value>
</param>
<param>
<key>alpha1</key>
- <value>1.0</value>
+ <value>0.5</value>
</param>
<param>
<key>label2</key>
- <value>CC</value>
+ <value></value>
</param>
<param>
<key>width2</key>
@@ -694,7 +892,7 @@
</param>
<param>
<key>alpha2</key>
- <value>0.6</value>
+ <value>1.0</value>
</param>
<param>
<key>label3</key>
@@ -898,164 +1096,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1530, 372)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_vector_source_x</key>
- <param>
- <key>id</key>
- <value>blocks_vector_source_x_0_1_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>vector</key>
- <value>4*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value>
- </param>
- <param>
- <key>tags</key>
- <value>[]</value>
- </param>
- <param>
- <key>repeat</key>
- <value>True</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(123, 218)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
- <block>
- <key>blocks_throttle</key>
- <param>
- <key>id</key>
- <value>blocks_throttle_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>
- </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>(100, 341)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_stream_to_tagged_stream</key>
- <param>
- <key>id</key>
- <value>blocks_stream_to_tagged_stream_0_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>packet_len</key>
- <value>frame_size*8</value>
- </param>
- <param>
- <key>len_tag_key</key>
- <value>length_tag</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(595, 331)</value>
+ <value>(1515, 115)</value>
</param>
<param>
<key>_rotation</key>
@@ -1063,30 +1104,26 @@
</param>
</block>
<block>
- <key>fec_extended_encoder</key>
+ <key>fec_ber_bf</key>
<param>
<key>id</key>
- <value>fec_extended_encoder_0</value>
+ <value>fec_ber_bf_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>
+ <key>test_mode</key>
+ <value>False</value>
</param>
<param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>berminerrors</key>
+ <value>berminerrs</value>
</param>
<param>
- <key>lentagname</key>
- <value>length_tag</value>
+ <key>berlimit</key>
+ <value>-7.0</value>
</param>
<param>
<key>alias</key>
@@ -1106,7 +1143,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(138, 474)</value>
+ <value>(1244, 455)</value>
</param>
<param>
<key>_rotation</key>
@@ -1121,7 +1158,7 @@
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
<key>type</key>
@@ -1161,7 +1198,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(99, 633)</value>
+ <value>(89, 186)</value>
</param>
<param>
<key>_rotation</key>
@@ -1172,7 +1209,7 @@
<key>variable_cc_encoder_def</key>
<param>
<key>id</key>
- <value>enc_cc</value>
+ <value>enc</value>
</param>
<param>
<key>_enabled</key>
@@ -1196,7 +1233,7 @@
</param>
<param>
<key>framebits</key>
- <value>MTU*8</value>
+ <value>framebits</value>
</param>
<param>
<key>k</key>
@@ -1224,7 +1261,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(759, 735)</value>
+ <value>(28, 419)</value>
</param>
<param>
<key>_rotation</key>
@@ -1235,7 +1272,7 @@
<key>variable_cc_decoder_def</key>
<param>
<key>id</key>
- <value>dec_cc</value>
+ <value>dec</value>
</param>
<param>
<key>_enabled</key>
@@ -1255,11 +1292,11 @@
</param>
<param>
<key>dim2</key>
- <value>4</value>
+ <value>1</value>
</param>
<param>
<key>framebits</key>
- <value>MTU*8</value>
+ <value>framebits</value>
</param>
<param>
<key>k</key>
@@ -1291,7 +1328,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1060, 727)</value>
+ <value>(318, 419)</value>
</param>
<param>
<key>_rotation</key>
@@ -1299,18 +1336,50 @@
</param>
</block>
<block>
- <key>blocks_ctrlport_monitor_performance</key>
+ <key>variable_qtgui_range</key>
<param>
<key>id</key>
- <value>blocks_ctrlport_monitor_performance_0</value>
+ <value>esno</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
- <key>en</key>
- <value>True</value>
+ <key>label</key>
+ <value>EsN0</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>15</value>
+ </param>
+ <param>
+ <key>start</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>stop</key>
+ <value>15</value>
+ </param>
+ <param>
+ <key>step</key>
+ <value>0.25</value>
+ </param>
+ <param>
+ <key>widget</key>
+ <value>counter_slider</value>
+ </param>
+ <param>
+ <key>orient</key>
+ <value>Qt.Horizontal</value>
+ </param>
+ <param>
+ <key>min_len</key>
+ <value>200</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
</param>
<param>
<key>alias</key>
@@ -1318,7 +1387,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(651, 15)</value>
+ <value>(614, 535)</value>
</param>
<param>
<key>_rotation</key>
@@ -1326,29 +1395,53 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>options</key>
<param>
<key>id</key>
- <value>frame_size</value>
+ <value>ber_test</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
- <value>Frame Size</value>
+ <key>title</key>
+ <value></value>
</param>
<param>
- <key>value</key>
- <value>6000</value>
+ <key>author</key>
+ <value></value>
</param>
<param>
- <key>type</key>
- <value>intx</value>
+ <key>description</key>
+ <value></value>
+ </param>
+ <param>
+ <key>window_size</key>
+ <value>2000,2000</value>
+ </param>
+ <param>
+ <key>generate_options</key>
+ <value>qt_gui</value>
+ </param>
+ <param>
+ <key>category</key>
+ <value>Custom</value>
+ </param>
+ <param>
+ <key>run_options</key>
+ <value>prompt</value>
+ </param>
+ <param>
+ <key>run</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>max_nouts</key>
+ <value>0</value>
</param>
<param>
- <key>short_id</key>
+ <key>realtime_scheduling</key>
<value></value>
</param>
<param>
@@ -1357,7 +1450,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(484, 10)</value>
+ <value>(10, 10)</value>
</param>
<param>
<key>_rotation</key>
@@ -1371,32 +1464,32 @@
<sink_key>0</sink_key>
</connection>
<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>fec_extended_decoder_0</source_block_id>
+ <sink_block_id>blocks_unpacked_to_packed_xx_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>digital_map_bb_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1</sink_block_id>
+ <source_block_id>blocks_add_xx_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>blocks_char_to_float_1</source_block_id>
- <sink_block_id>fec_extended_decoder_0_0</sink_block_id>
+ <source_block_id>blocks_throttle_0</source_block_id>
+ <sink_block_id>fec_ber_bf_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_decoder_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
+ <source_block_id>blocks_throttle_0</source_block_id>
+ <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_char_to_float_1_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>blocks_char_to_float_1</source_block_id>
+ <sink_block_id>blocks_add_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>1</sink_key>
</connection>
@@ -1407,32 +1500,38 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
- <sink_block_id>fec_extended_encoder_0</sink_block_id>
+ <source_block_id>digital_map_bb_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>blocks_unpacked_to_packed_xx_0_0</source_block_id>
+ <sink_block_id>fec_ber_bf_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_0_1</sink_block_id>
+ <source_block_id>analog_fastnoise_source_x_0</source_block_id>
+ <sink_block_id>blocks_add_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_1</source_block_id>
+ <source_block_id>blocks_add_xx_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_0</source_block_id>
- <sink_block_id>blocks_stream_to_tagged_stream_0_0</sink_block_id>
+ <source_block_id>fec_ber_bf_0</source_block_id>
+ <sink_block_id>qtgui_number_sink_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_throttle_0</source_block_id>
- <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id>
+ <source_block_id>blocks_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>
diff --git a/gr-fec/examples/cc_ber.grc b/gr-fec/examples/cc_ber.grc
deleted file mode 100644
index 785b1cc..0000000
--- a/gr-fec/examples/cc_ber.grc
+++ /dev/null
@@ -1,840 +0,0 @@
-<?xml version='1.0' encoding='ASCII'?>
-<flow_graph>
- <timestamp>Tue Mar 25 13:12:29 2014</timestamp>
- <block>
- <key>options</key>
- <param>
- <key>id</key>
- <value>cc_ber</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>title</key>
- <value></value>
- </param>
- <param>
- <key>author</key>
- <value></value>
- </param>
- <param>
- <key>description</key>
- <value></value>
- </param>
- <param>
- <key>window_size</key>
- <value>1280, 1024</value>
- </param>
- <param>
- <key>generate_options</key>
- <value>qt_gui</value>
- </param>
- <param>
- <key>category</key>
- <value>Custom</value>
- </param>
- <param>
- <key>run_options</key>
- <value>prompt</value>
- </param>
- <param>
- <key>run</key>
- <value>True</value>
- </param>
- <param>
- <key>max_nouts</key>
- <value>0</value>
- </param>
- <param>
- <key>realtime_scheduling</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(10, 10)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>k</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>7</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(205, 11)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>samp_rate_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>35000000</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(12, 85)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>framebits</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>4096</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(136, 85)</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>True</value>
- </param>
- <param>
- <key>value</key>
- <value>[79, 109]</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(248, 86)</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>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(288, 12)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>esno</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>1</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(13, 158)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>ber_generator</key>
- <param>
- <key>id</key>
- <value>ber_generator_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>generic_encoder</key>
- <value>enc</value>
- </param>
- <param>
- <key>generic_decoder</key>
- <value>dec</value>
- </param>
- <param>
- <key>samp_rate</key>
- <value>samp_rate_0</value>
- </param>
- <param>
- <key>esno</key>
- <value>esno</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>'11'</value>
- </param>
- <param>
- <key>berlimit</key>
- <value>-5.0</value>
- </param>
- <param>
- <key>threading</key>
- <value>"None"</value>
- </param>
- <param>
- <key>berminerrors</key>
- <value>10000</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>(438, 57)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable_cc_encoder_def</key>
- <param>
- <key>id</key>
- <value>enc</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>framebits</value>
- </param>
- <param>
- <key>k</key>
- <value>k</value>
- </param>
- <param>
- <key>rate</key>
- <value>rate</value>
- </param>
- <param>
- <key>polys</key>
- <value>polys</value>
- </param>
- <param>
- <key>state_start</key>
- <value>0</value>
- </param>
- <param>
- <key>state_end</key>
- <value>-1</value>
- </param>
- <param>
- <key>strb</key>
- <value>"streaming"</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(438, 274)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable_cc_decoder_def</key>
- <param>
- <key>id</key>
- <value>dec</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>framebits</value>
- </param>
- <param>
- <key>k</key>
- <value>k</value>
- </param>
- <param>
- <key>rate</key>
- <value>rate</value>
- </param>
- <param>
- <key>polys</key>
- <value>polys</value>
- </param>
- <param>
- <key>state_start</key>
- <value>0</value>
- </param>
- <param>
- <key>state_end</key>
- <value>-1</value>
- </param>
- <param>
- <key>strb</key>
- <value>"streaming"</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(675, 274)</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>False</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_0</value>
- </param>
- <param>
- <key>autoscale</key>
- <value>False</value>
- </param>
- <param>
- <key>ymin</key>
- <value>-1.25</value>
- </param>
- <param>
- <key>ymax</key>
- <value>1.25</value>
- </param>
- <param>
- <key>nconnections</key>
- <value>1</value>
- </param>
- <param>
- <key>update_time</key>
- <value>0.10</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></value>
- </param>
- <param>
- <key>width1</key>
- <value>1</value>
- </param>
- <param>
- <key>color1</key>
- <value>"blue"</value>
- </param>
- <param>
- <key>style1</key>
- <value>3</value>
- </param>
- <param>
- <key>marker1</key>
- <value>0</value>
- </param>
- <param>
- <key>alpha1</key>
- <value>0.5</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>
- </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>
- <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>
- </param>
- <param>
- <key>marker7</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha7</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label8</key>
- <value></value>
- </param>
- <param>
- <key>width8</key>
- <value>1</value>
- </param>
- <param>
- <key>color8</key>
- <value>"dark red"</value>
- </param>
- <param>
- <key>style8</key>
- <value>1</value>
- </param>
- <param>
- <key>marker8</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha8</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label9</key>
- <value></value>
- </param>
- <param>
- <key>width9</key>
- <value>1</value>
- </param>
- <param>
- <key>color9</key>
- <value>"dark green"</value>
- </param>
- <param>
- <key>style9</key>
- <value>1</value>
- </param>
- <param>
- <key>marker9</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha9</key>
- <value>1.0</value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(710, 123)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>qtgui_number_sink</key>
- <param>
- <key>id</key>
- <value>qtgui_number_sink_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>float</value>
- </param>
- <param>
- <key>autoscale</key>
- <value>True</value>
- </param>
- <param>
- <key>avg</key>
- <value>0</value>
- </param>
- <param>
- <key>graph_type</key>
- <value>qtgui.NUM_GRAPH_HORIZ</value>
- </param>
- <param>
- <key>nconnections</key>
- <value>1</value>
- </param>
- <param>
- <key>min</key>
- <value>-10</value>
- </param>
- <param>
- <key>max</key>
- <value>10</value>
- </param>
- <param>
- <key>update_time</key>
- <value>0.10</value>
- </param>
- <param>
- <key>gui_hint</key>
- <value></value>
- </param>
- <param>
- <key>label1</key>
- <value>BER</value>
- </param>
- <param>
- <key>color1</key>
- <value>("blue", "red")</value>
- </param>
- <param>
- <key>label2</key>
- <value></value>
- </param>
- <param>
- <key>color2</key>
- <value>("black", "black")</value>
- </param>
- <param>
- <key>label3</key>
- <value></value>
- </param>
- <param>
- <key>color3</key>
- <value>("black", "black")</value>
- </param>
- <param>
- <key>label4</key>
- <value></value>
- </param>
- <param>
- <key>color4</key>
- <value>("black", "black")</value>
- </param>
- <param>
- <key>label5</key>
- <value></value>
- </param>
- <param>
- <key>color5</key>
- <value>("black", "black")</value>
- </param>
- <param>
- <key>label6</key>
- <value></value>
- </param>
- <param>
- <key>color6</key>
- <value>("black", "black")</value>
- </param>
- <param>
- <key>label7</key>
- <value></value>
- </param>
- <param>
- <key>color7</key>
- <value>("black", "black")</value>
- </param>
- <param>
- <key>label8</key>
- <value></value>
- </param>
- <param>
- <key>color8</key>
- <value>("black", "black")</value>
- </param>
- <param>
- <key>label9</key>
- <value></value>
- </param>
- <param>
- <key>color9</key>
- <value>("black", "black")</value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(708, 27)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <connection>
- <source_block_id>ber_generator_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
- <source_key>1</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>ber_generator_0</source_block_id>
- <sink_block_id>qtgui_number_sink_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
-</flow_graph>
diff --git a/gr-fec/examples/cc_bercurve.grc b/gr-fec/examples/cc_bercurve.grc
deleted file mode 100644
index f991b20..0000000
--- a/gr-fec/examples/cc_bercurve.grc
+++ /dev/null
@@ -1,718 +0,0 @@
-<?xml version='1.0' encoding='ASCII'?>
-<flow_graph>
- <timestamp>Tue Mar 25 15:21:46 2014</timestamp>
- <block>
- <key>options</key>
- <param>
- <key>id</key>
- <value>cc_bercurve</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>title</key>
- <value></value>
- </param>
- <param>
- <key>author</key>
- <value></value>
- </param>
- <param>
- <key>description</key>
- <value></value>
- </param>
- <param>
- <key>window_size</key>
- <value>1280, 1024</value>
- </param>
- <param>
- <key>generate_options</key>
- <value>qt_gui</value>
- </param>
- <param>
- <key>category</key>
- <value>Custom</value>
- </param>
- <param>
- <key>run_options</key>
- <value>prompt</value>
- </param>
- <param>
- <key>run</key>
- <value>True</value>
- </param>
- <param>
- <key>max_nouts</key>
- <value>0</value>
- </param>
- <param>
- <key>realtime_scheduling</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(10, 10)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>esno_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>numpy.arange(0, 4, .5) </value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(14, 232)</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>True</value>
- </param>
- <param>
- <key>value</key>
- <value>[79, 109]</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(248, 86)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>framebits</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>4096</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(136, 85)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>samp_rate_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>35000000</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(12, 85)</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>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(288, 12)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>k</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>7</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(205, 11)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>esno_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>False</value>
- </param>
- <param>
- <key>value</key>
- <value>numpy.arange(0, 8, .5) </value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(13, 158)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable_cc_decoder_def</key>
- <param>
- <key>id</key>
- <value>dec</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>2</value>
- </param>
- <param>
- <key>dim1</key>
- <value>len(esno_0)</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>framebits</value>
- </param>
- <param>
- <key>k</key>
- <value>k</value>
- </param>
- <param>
- <key>rate</key>
- <value>rate</value>
- </param>
- <param>
- <key>polys</key>
- <value>polys</value>
- </param>
- <param>
- <key>state_start</key>
- <value>0</value>
- </param>
- <param>
- <key>state_end</key>
- <value>-1</value>
- </param>
- <param>
- <key>strb</key>
- <value>"streaming"</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(246, 431)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable_cc_encoder_def</key>
- <param>
- <key>id</key>
- <value>enc</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>2</value>
- </param>
- <param>
- <key>dim1</key>
- <value>len(esno_0)</value>
- </param>
- <param>
- <key>dim2</key>
- <value>1</value>
- </param>
- <param>
- <key>framebits</key>
- <value>framebits</value>
- </param>
- <param>
- <key>k</key>
- <value>k</value>
- </param>
- <param>
- <key>rate</key>
- <value>rate</value>
- </param>
- <param>
- <key>polys</key>
- <value>polys</value>
- </param>
- <param>
- <key>state_start</key>
- <value>0</value>
- </param>
- <param>
- <key>state_end</key>
- <value>-1</value>
- </param>
- <param>
- <key>strb</key>
- <value>"streaming"</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(9, 431)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>fec_bercurve_generator</key>
- <param>
- <key>id</key>
- <value>fec_bercurve_generator_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>esno</key>
- <value>esno_0</value>
- </param>
- <param>
- <key>samp_rate</key>
- <value>samp_rate_0</value>
- </param>
- <param>
- <key>encoder_list</key>
- <value>enc</value>
- </param>
- <param>
- <key>decoder_list</key>
- <value>dec</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>'11'</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>(384, 15)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- <bus_source>1</bus_source>
- </block>
- <block>
- <key>fec_bercurve_generator</key>
- <param>
- <key>id</key>
- <value>fec_bercurve_generator_0_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>esno</key>
- <value>esno_0</value>
- </param>
- <param>
- <key>samp_rate</key>
- <value>samp_rate_0</value>
- </param>
- <param>
- <key>encoder_list</key>
- <value>None</value>
- </param>
- <param>
- <key>decoder_list</key>
- <value>None</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>'11'</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>(383, 130)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- <bus_source>1</bus_source>
- </block>
- <block>
- <key>qtgui_bercurve_sink</key>
- <param>
- <key>id</key>
- <value>qtgui_bercurve_sink_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>esno</key>
- <value>esno_0</value>
- </param>
- <param>
- <key>berminerrors</key>
- <value>100</value>
- </param>
- <param>
- <key>berlimit</key>
- <value>-7.0</value>
- </param>
- <param>
- <key>num_curves</key>
- <value>2</value>
- </param>
- <param>
- <key>curvenames</key>
- <value>[]</value>
- </param>
- <param>
- <key>ymin</key>
- <value>-10</value>
- </param>
- <param>
- <key>ymax</key>
- <value>0</value>
- </param>
- <param>
- <key>update_time</key>
- <value>0.10</value>
- </param>
- <param>
- <key>gui_hint</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(774, 26)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- <bus_sink>1</bus_sink>
- </block>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>1</source_key>
- <sink_key>1</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>2</source_key>
- <sink_key>2</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>3</source_key>
- <sink_key>3</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>4</source_key>
- <sink_key>4</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>5</source_key>
- <sink_key>5</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>6</source_key>
- <sink_key>6</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>7</source_key>
- <sink_key>7</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>8</source_key>
- <sink_key>8</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>9</source_key>
- <sink_key>9</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>10</source_key>
- <sink_key>10</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>11</source_key>
- <sink_key>11</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>12</source_key>
- <sink_key>12</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>13</source_key>
- <sink_key>13</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>14</source_key>
- <sink_key>14</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>15</source_key>
- <sink_key>15</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>16</source_key>
- <sink_key>32</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>16</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>1</source_key>
- <sink_key>17</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>2</source_key>
- <sink_key>18</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>3</source_key>
- <sink_key>19</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>4</source_key>
- <sink_key>20</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>5</source_key>
- <sink_key>21</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>6</source_key>
- <sink_key>22</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>7</source_key>
- <sink_key>23</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>8</source_key>
- <sink_key>24</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>9</source_key>
- <sink_key>25</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>10</source_key>
- <sink_key>26</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>11</source_key>
- <sink_key>27</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>12</source_key>
- <sink_key>28</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>13</source_key>
- <sink_key>29</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>14</source_key>
- <sink_key>30</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>15</source_key>
- <sink_key>31</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_bercurve_generator_0_0</source_block_id>
- <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
- <source_key>16</source_key>
- <sink_key>33</sink_key>
- </connection>
-</flow_graph>
diff --git a/gr-fec/examples/fecapi_tagged_decoders.grc
b/gr-fec/examples/fecapi_cc_decoders.grc
similarity index 85%
copy from gr-fec/examples/fecapi_tagged_decoders.grc
copy to gr-fec/examples/fecapi_cc_decoders.grc
index b9936b8..26f5b03 100644
--- a/gr-fec/examples/fecapi_tagged_decoders.grc
+++ b/gr-fec/examples/fecapi_cc_decoders.grc
@@ -1,11 +1,11 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Wed May 7 19:28:30 2014</timestamp>
+ <timestamp>Mon May 12 22:11:14 2014</timestamp>
<block>
<key>options</key>
<param>
<key>id</key>
- <value>fecapi_tagged_decoders</value>
+ <value>fecapi_cc_decoders</value>
</param>
<param>
<key>_enabled</key>
@@ -68,7 +68,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>length_tag</value>
+ <value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
@@ -76,7 +76,7 @@
</param>
<param>
<key>value</key>
- <value>"packet_len"</value>
+ <value>50000</value>
</param>
<param>
<key>alias</key>
@@ -84,7 +84,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(202, 112)</value>
+ <value>(9, 95)</value>
</param>
<param>
<key>_rotation</key>
@@ -95,15 +95,15 @@
<key>variable</key>
<param>
<key>id</key>
- <value>samp_rate</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
<key>value</key>
- <value>50000</value>
+ <value>[79, 109]</value>
</param>
<param>
<key>alias</key>
@@ -111,7 +111,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(9, 95)</value>
+ <value>(363, 697)</value>
</param>
<param>
<key>_rotation</key>
@@ -138,7 +138,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(562, 734)</value>
+ <value>(304, 615)</value>
</param>
<param>
<key>_rotation</key>
@@ -149,7 +149,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>rate</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
@@ -157,7 +157,7 @@
</param>
<param>
<key>value</key>
- <value>2</value>
+ <value>[109, 79]</value>
</param>
<param>
<key>alias</key>
@@ -165,7 +165,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(663, 731)</value>
+ <value>(221, 700)</value>
</param>
<param>
<key>_rotation</key>
@@ -176,7 +176,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>rate</value>
</param>
<param>
<key>_enabled</key>
@@ -184,7 +184,7 @@
</param>
<param>
<key>value</key>
- <value>[109, 79]</value>
+ <value>2</value>
</param>
<param>
<key>alias</key>
@@ -192,7 +192,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(479, 819)</value>
+ <value>(405, 612)</value>
</param>
<param>
<key>_rotation</key>
@@ -200,18 +200,30 @@
</param>
</block>
<block>
- <key>variable</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>puncpat</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value></value>
</param>
<param>
<key>value</key>
- <value>[79, 109]</value>
+ <value>'11'</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>string</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
<key>alias</key>
@@ -219,7 +231,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(621, 816)</value>
+ <value>(420, 9)</value>
</param>
<param>
<key>_rotation</key>
@@ -227,49 +239,171 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>blocks_throttle</key>
<param>
<key>id</key>
- <value>puncpat</value>
+ <value>blocks_throttle_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
+ <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>
<value></value>
</param>
<param>
- <key>value</key>
- <value>'11'</value>
+ <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>(102, 328)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>analog_random_source_x</key>
+ <param>
+ <key>id</key>
+ <value>analog_random_source_x_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>False</value>
</param>
<param>
<key>type</key>
- <value>string</value>
+ <value>byte</value>
</param>
<param>
- <key>short_id</key>
- <value></value>
+ <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>(248, 9)</value>
+ <value>(57, 525)</value>
</param>
<param>
<key>_rotation</key>
+ <value>180</value>
+ </param>
+ </block>
+ <block>
+ <key>blocks_vector_source_x</key>
+ <param>
+ <key>id</key>
+ <value>blocks_vector_source_x_0_1_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>byte</value>
+ </param>
+ <param>
+ <key>vector</key>
+ <value>(frame_size/15)*[1, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0,
127]</value>
+ </param>
+ <param>
+ <key>tags</key>
+ <value>[]</value>
+ </param>
+ <param>
+ <key>repeat</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
<value>0</value>
</param>
+ <param>
+ <key>_coordinate</key>
+ <value>(59, 200)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>180</value>
+ </param>
</block>
<block>
<key>parameter</key>
<param>
<key>id</key>
- <value>MTU</value>
+ <value>frame_size</value>
</param>
<param>
<key>_enabled</key>
@@ -277,11 +411,11 @@
</param>
<param>
<key>label</key>
- <value>MTU</value>
+ <value>Frame Size</value>
</param>
<param>
<key>value</key>
- <value>1500</value>
+ <value>60</value>
</param>
<param>
<key>type</key>
@@ -297,7 +431,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(365, 9)</value>
+ <value>(249, 7)</value>
</param>
<param>
<key>_rotation</key>
@@ -305,30 +439,22 @@
</param>
</block>
<block>
- <key>fec_extended_decoder</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>fec_extended_decoder_0_0</value>
+ <value>fec_extended_encoder_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>encoder_list</key>
+ <value>enc_cc</value>
</param>
<param>
<key>threadtype</key>
- <value>none</value>
- </param>
- <param>
- <key>ann</key>
- <value>None</value>
+ <value>ordinary</value>
</param>
<param>
<key>puncpat</key>
@@ -336,7 +462,7 @@
</param>
<param>
<key>lentagname</key>
- <value>length_tag</value>
+ <value>None</value>
</param>
<param>
<key>alias</key>
@@ -356,7 +482,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(923, 464)</value>
+ <value>(425, 399)</value>
</param>
<param>
<key>_rotation</key>
@@ -364,22 +490,38 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>fec_extended_decoder</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_1_0</value>
+ <value>fec_extended_decoder_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
</param>
<param>
- <key>scale</key>
- <value>1</value>
+ <key>decoder_list</key>
+ <value>dec_cc</value>
+ </param>
+ <param>
+ <key>threadtype</key>
+ <value>capillary</value>
+ </param>
+ <param>
+ <key>ann</key>
+ <value>None</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
<key>alias</key>
@@ -399,7 +541,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1265, 506)</value>
+ <value>(1153, 391)</value>
</param>
<param>
<key>_rotation</key>
@@ -442,7 +584,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(678, 506)</value>
+ <value>(923, 430)</value>
</param>
<param>
<key>_rotation</key>
@@ -481,7 +623,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(493, 506)</value>
+ <value>(740, 429)</value>
</param>
<param>
<key>_rotation</key>
@@ -492,7 +634,7 @@
<key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_1</value>
+ <value>blocks_char_to_float_1_0</value>
</param>
<param>
<key>_enabled</key>
@@ -524,7 +666,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1014, 340)</value>
+ <value>(1462, 432)</value>
</param>
<param>
<key>_rotation</key>
@@ -532,38 +674,26 @@
</param>
</block>
<block>
- <key>blocks_unpack_k_bits_bb</key>
+ <key>blocks_ctrlport_monitor_performance</key>
<param>
<key>id</key>
- <value>blocks_unpack_k_bits_bb_0_0</value>
+ <value>blocks_ctrlport_monitor_performance_0</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
- <key>k</key>
- <value>8</value>
+ <key>en</key>
+ <value>True</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
<key>_coordinate</key>
- <value>(359, 341)</value>
+ <value>(552, 13)</value>
</param>
<param>
<key>_rotation</key>
@@ -574,7 +704,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</value>
</param>
<param>
<key>_enabled</key>
@@ -650,7 +780,7 @@
</param>
<param>
<key>label1</key>
- <value>Input</value>
+ <value>Dummy Code</value>
</param>
<param>
<key>width1</key>
@@ -674,7 +804,7 @@
</param>
<param>
<key>label2</key>
- <value>CC</value>
+ <value>CCSDS</value>
</param>
<param>
<key>width2</key>
@@ -898,7 +1028,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1530, 372)</value>
+ <value>(1763, 317)</value>
</param>
<param>
<key>_rotation</key>
@@ -906,289 +1036,26 @@
</param>
</block>
<block>
- <key>blocks_vector_source_x</key>
+ <key>variable_cc_encoder_def</key>
<param>
<key>id</key>
- <value>blocks_vector_source_x_0_1_0</value>
+ <value>enc_cc</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>byte</value>
+ <key>value</key>
+ <value>"ok"</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>
- </param>
- <param>
- <key>repeat</key>
- <value>True</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(123, 218)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
- <block>
- <key>blocks_throttle</key>
- <param>
- <key>id</key>
- <value>blocks_throttle_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>
- </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>(100, 341)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_stream_to_tagged_stream</key>
- <param>
- <key>id</key>
- <value>blocks_stream_to_tagged_stream_0_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>packet_len</key>
- <value>frame_size*8</value>
- </param>
- <param>
- <key>len_tag_key</key>
- <value>length_tag</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(595, 331)</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>length_tag</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(138, 474)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>analog_random_source_x</key>
- <param>
- <key>id</key>
- <value>analog_random_source_x_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>(99, 633)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>180</value>
- </param>
- </block>
- <block>
- <key>variable_cc_encoder_def</key>
- <param>
- <key>id</key>
- <value>enc_cc</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>"ok"</value>
- </param>
- <param>
- <key>ndim</key>
- <value>1</value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
<key>dim1</key>
- <value>1</value>
+ <value>4</value>
</param>
<param>
<key>dim2</key>
@@ -1196,7 +1063,7 @@
</param>
<param>
<key>framebits</key>
- <value>MTU*8</value>
+ <value>frame_size*8</value>
</param>
<param>
<key>k</key>
@@ -1216,7 +1083,7 @@
</param>
<param>
<key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <value>fec.CC_TERMINATED</value>
</param>
<param>
<key>alias</key>
@@ -1224,7 +1091,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(759, 735)</value>
+ <value>(501, 616)</value>
</param>
<param>
<key>_rotation</key>
@@ -1251,7 +1118,7 @@
</param>
<param>
<key>dim1</key>
- <value>1</value>
+ <value>4</value>
</param>
<param>
<key>dim2</key>
@@ -1259,7 +1126,7 @@
</param>
<param>
<key>framebits</key>
- <value>MTU*8</value>
+ <value>frame_size*8</value>
</param>
<param>
<key>k</key>
@@ -1283,7 +1150,7 @@
</param>
<param>
<key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <value>fec.CC_TERMINATED</value>
</param>
<param>
<key>alias</key>
@@ -1291,7 +1158,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1060, 727)</value>
+ <value>(797, 614)</value>
</param>
<param>
<key>_rotation</key>
@@ -1299,26 +1166,38 @@
</param>
</block>
<block>
- <key>blocks_ctrlport_monitor_performance</key>
+ <key>blocks_unpack_k_bits_bb</key>
<param>
<key>id</key>
- <value>blocks_ctrlport_monitor_performance_0</value>
+ <value>blocks_unpack_k_bits_bb_0</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
- <key>en</key>
- <value>True</value>
+ <key>k</key>
+ <value>8</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>(651, 15)</value>
+ <value>(105, 430)</value>
</param>
<param>
<key>_rotation</key>
@@ -1326,38 +1205,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_1</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>6000</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>(484, 10)</value>
+ <value>(450, 299)</value>
</param>
<param>
<key>_rotation</key>
@@ -1365,74 +1248,68 @@
</param>
</block>
<connection>
- <source_block_id>analog_random_source_x_0</source_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>
<connection>
- <source_block_id>blocks_vector_source_x_0_1_0</source_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>0</sink_key>
</connection>
<connection>
- <source_block_id>digital_map_bb_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1</sink_block_id>
+ <source_block_id>blocks_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_1</source_block_id>
- <sink_block_id>fec_extended_decoder_0_0</sink_block_id>
+ <source_block_id>blocks_char_to_float_1_0</source_block_id>
+ <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
<source_key>0</source_key>
- <sink_key>0</sink_key>
+ <sink_key>1</sink_key>
</connection>
<connection>
- <source_block_id>fec_extended_decoder_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
+ <source_block_id>blocks_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_char_to_float_1_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>1</sink_key>
- </connection>
- <connection>
- <source_block_id>fec_extended_encoder_0</source_block_id>
- <sink_block_id>digital_map_bb_0</sink_block_id>
+ <source_block_id>blocks_char_to_float_0_1</source_block_id>
+ <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
- <sink_block_id>fec_extended_encoder_0</sink_block_id>
+ <source_block_id>fec_extended_decoder_0_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_0_1</sink_block_id>
+ <source_block_id>blocks_char_to_float_1</source_block_id>
+ <sink_block_id>fec_extended_decoder_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_char_to_float_0_1</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</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>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_unpack_k_bits_bb_0_0</source_block_id>
- <sink_block_id>blocks_stream_to_tagged_stream_0_0</sink_block_id>
+ <source_block_id>fec_extended_encoder_0</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_throttle_0</source_block_id>
- <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id>
+ <source_block_id>blocks_unpack_k_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>
diff --git a/gr-fec/examples/fecapi_decoders.grc
b/gr-fec/examples/fecapi_decoders.grc
index 1782b0f..5cb00dd 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>Wed May 7 19:28:14 2014</timestamp>
+ <timestamp>Mon May 12 22:15:20 2014</timestamp>
<block>
<key>options</key>
<param>
@@ -68,7 +68,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>samp_rate</value>
+ <value>rate</value>
</param>
<param>
<key>_enabled</key>
@@ -76,7 +76,7 @@
</param>
<param>
<key>value</key>
- <value>50000</value>
+ <value>2</value>
</param>
<param>
<key>alias</key>
@@ -84,7 +84,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(9, 95)</value>
+ <value>(276, 837)</value>
</param>
<param>
<key>_rotation</key>
@@ -95,15 +95,15 @@
<key>variable</key>
<param>
<key>id</key>
- <value>rate</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
<key>value</key>
- <value>2</value>
+ <value>[79, 109]</value>
</param>
<param>
<key>alias</key>
@@ -111,7 +111,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(347, 716)</value>
+ <value>(234, 922)</value>
</param>
<param>
<key>_rotation</key>
@@ -122,7 +122,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>k</value>
</param>
<param>
<key>_enabled</key>
@@ -130,7 +130,7 @@
</param>
<param>
<key>value</key>
- <value>[109, 79]</value>
+ <value>7</value>
</param>
<param>
<key>alias</key>
@@ -138,7 +138,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(163, 804)</value>
+ <value>(175, 840)</value>
</param>
<param>
<key>_rotation</key>
@@ -149,7 +149,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>k</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
@@ -157,7 +157,7 @@
</param>
<param>
<key>value</key>
- <value>7</value>
+ <value>[109, 79]</value>
</param>
<param>
<key>alias</key>
@@ -165,7 +165,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(246, 719)</value>
+ <value>(92, 925)</value>
</param>
<param>
<key>_rotation</key>
@@ -176,15 +176,15 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
<key>value</key>
- <value>[79, 109]</value>
+ <value>50000</value>
</param>
<param>
<key>alias</key>
@@ -192,7 +192,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(305, 801)</value>
+ <value>(9, 95)</value>
</param>
<param>
<key>_rotation</key>
@@ -239,57 +239,6 @@
</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>capillary</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
- </param>
- <param>
- <key>lentagname</key>
- <value>None</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(440, 498)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
<key>blocks_throttle</key>
<param>
<key>id</key>
@@ -396,18 +345,49 @@
</param>
</block>
<block>
- <key>digital_map_bb</key>
+ <key>blocks_ctrlport_monitor_performance</key>
<param>
<key>id</key>
- <value>digital_map_bb_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>map</key>
- <value>[-1, 1]</value>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(557, 17)</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>
@@ -427,7 +407,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(755, 528)</value>
+ <value>(942, 584)</value>
</param>
<param>
<key>_rotation</key>
@@ -466,7 +446,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(747, 349)</value>
+ <value>(749, 583)</value>
</param>
<param>
<key>_rotation</key>
@@ -474,22 +454,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</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>
@@ -509,7 +485,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(940, 350)</value>
+ <value>(755, 730)</value>
</param>
<param>
<key>_rotation</key>
@@ -552,7 +528,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(938, 529)</value>
+ <value>(938, 731)</value>
</param>
<param>
<key>_rotation</key>
@@ -560,10 +536,10 @@
</param>
</block>
<block>
- <key>fec_extended_decoder</key>
+ <key>variable_repetition_encoder_def</key>
<param>
<key>id</key>
- <value>fec_extended_decoder_0</value>
+ <value>enc_rep</value>
</param>
<param>
<key>_enabled</key>
@@ -571,47 +547,35 @@
</param>
<param>
<key>value</key>
- <value>fec_extended_decoder</value>
+ <value>"ok"</value>
</param>
<param>
- <key>decoder_list</key>
- <value>dec_ccsds</value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
- <key>threadtype</key>
- <value>none</value>
+ <key>dim1</key>
+ <value>4</value>
</param>
<param>
- <key>ann</key>
- <value>None</value>
+ <key>dim2</key>
+ <value>1</value>
</param>
<param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>lentagname</key>
- <value>None</value>
+ <key>rep</key>
+ <value>3</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
<key>_coordinate</key>
- <value>(1188, 308)</value>
+ <value>(1213, 880)</value>
</param>
<param>
<key>_rotation</key>
@@ -619,10 +583,10 @@
</param>
</block>
<block>
- <key>fec_extended_decoder</key>
+ <key>variable_repetition_decoder_def</key>
<param>
<key>id</key>
- <value>fec_extended_decoder_0_0</value>
+ <value>dec_rep</value>
</param>
<param>
<key>_enabled</key>
@@ -630,47 +594,39 @@
</param>
<param>
<key>value</key>
- <value>fec_extended_decoder</value>
+ <value>"ok"</value>
</param>
<param>
- <key>decoder_list</key>
- <value>dec_cc</value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
- <key>threadtype</key>
- <value>capillary</value>
+ <key>dim1</key>
+ <value>4</value>
</param>
<param>
- <key>ann</key>
- <value>None</value>
+ <key>dim2</key>
+ <value>1</value>
</param>
<param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>lentagname</key>
- <value>None</value>
+ <key>rep</key>
+ <value>3</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>prob</key>
+ <value>0.5</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>(1192, 488)</value>
+ <value>(1213, 1022)</value>
</param>
<param>
<key>_rotation</key>
@@ -678,42 +634,42 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>variable_dummy_decoder_def</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_1_0</value>
+ <value>dec_dummy</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>scale</key>
+ <key>ndim</key>
<value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>dim1</key>
+ <value>1</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>dim2</key>
+ <value>1</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1562, 487)</value>
+ <value>(947, 1007)</value>
</param>
<param>
<key>_rotation</key>
@@ -721,50 +677,42 @@
</param>
</block>
<block>
- <key>blocks_delay</key>
+ <key>variable_dummy_encoder_def</key>
<param>
<key>id</key>
- <value>blocks_delay_0_0</value>
+ <value>enc_dummy</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>float</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>delay</key>
- <value>32</value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
- <key>num_ports</key>
+ <key>dim1</key>
<value>1</value>
</param>
<param>
- <key>vlen</key>
+ <key>dim2</key>
<value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>framebits</key>
+ <value>frame_size*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>(1634, 592)</value>
+ <value>(949, 881)</value>
</param>
<param>
<key>_rotation</key>
@@ -772,322 +720,649 @@
</param>
</block>
<block>
- <key>qtgui_time_sink_x</key>
+ <key>variable_cc_decoder_def</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0</value>
+ <value>dec_cc</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>float</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>name</key>
- <value>QT GUI Plot</value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
- <key>size</key>
- <value>2048</value>
+ <key>dim1</key>
+ <value>1</value>
</param>
<param>
- <key>srate</key>
- <value>samp_rate</value>
+ <key>dim2</key>
+ <value>4</value>
</param>
<param>
- <key>autoscale</key>
- <value>False</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>ymin</key>
- <value>-0.5</value>
+ <key>k</key>
+ <value>k</value>
</param>
<param>
- <key>ymax</key>
- <value>1.5</value>
+ <key>rate</key>
+ <value>rate</value>
</param>
<param>
- <key>nconnections</key>
- <value>2</value>
+ <key>polys</key>
+ <value>polys</value>
</param>
<param>
- <key>update_time</key>
- <value>0.10</value>
+ <key>state_start</key>
+ <value>0</value>
</param>
<param>
- <key>entags</key>
- <value>True</value>
+ <key>state_end</key>
+ <value>-1</value>
</param>
<param>
- <key>gui_hint</key>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
+ </param>
+ <param>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>tr_mode</key>
- <value>qtgui.TRIG_MODE_FREE</value>
+ <key>_coordinate</key>
+ <value>(384, 1069)</value>
</param>
<param>
- <key>tr_slope</key>
- <value>qtgui.TRIG_SLOPE_POS</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable_cc_encoder_def</key>
<param>
- <key>tr_level</key>
- <value>0.0</value>
+ <key>id</key>
+ <value>enc_cc</value>
</param>
<param>
- <key>tr_delay</key>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>frame_size*8</value>
+ </param>
+ <param>
+ <key>k</key>
+ <value>k</value>
+ </param>
+ <param>
+ <key>rate</key>
+ <value>rate</value>
+ </param>
+ <param>
+ <key>polys</key>
+ <value>polys</value>
+ </param>
+ <param>
+ <key>state_start</key>
<value>0</value>
</param>
<param>
- <key>tr_chan</key>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(383, 840)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
<value>0</value>
</param>
+ </block>
+ <block>
+ <key>blocks_char_to_float</key>
<param>
- <key>tr_tag</key>
- <value>""</value>
+ <key>id</key>
+ <value>blocks_char_to_float_0_2_0</value>
</param>
<param>
- <key>label1</key>
- <value>CCSDS</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>width1</key>
+ <key>vlen</key>
<value>1</value>
</param>
<param>
- <key>color1</key>
- <value>"blue"</value>
+ <key>scale</key>
+ <value>1</value>
</param>
<param>
- <key>style1</key>
- <value>1</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>marker1</key>
- <value>-1</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>alpha1</key>
- <value>1.0</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>label2</key>
- <value>CC</value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>width2</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(942, 292)</value>
</param>
<param>
- <key>color2</key>
- <value>"red"</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>digital_map_bb</key>
<param>
- <key>style2</key>
- <value>1</value>
+ <key>id</key>
+ <value>digital_map_bb_0_0_0_0</value>
</param>
<param>
- <key>marker2</key>
- <value>-1</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>alpha2</key>
- <value>0.6</value>
+ <key>map</key>
+ <value>[-1, 1]</value>
</param>
<param>
- <key>label3</key>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>width3</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>(749, 291)</value>
+ </param>
+ <param>
+ <key>_rotation</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>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>k</key>
+ <value>8</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>(119, 432)</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_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>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>None</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(440, 260)</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>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>(443, 403)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>digital_map_bb</key>
+ <param>
+ <key>id</key>
+ <value>digital_map_bb_0_0_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>map</key>
+ <value>[-1, 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>(750, 434)</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_2</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>vlen</key>
<value>1</value>
</param>
<param>
- <key>color3</key>
- <value>"green"</value>
+ <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>(943, 435)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>frame_size</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Frame Size</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>30</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>intx</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value></value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>style3</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(249, 7)</value>
</param>
<param>
- <key>marker3</key>
- <value>-1</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>blocks_delay</key>
<param>
- <key>alpha3</key>
- <value>1.0</value>
+ <key>id</key>
+ <value>blocks_delay_0_0</value>
</param>
<param>
- <key>label4</key>
- <value></value>
+ <key>_enabled</key>
+ <value>False</value>
</param>
<param>
- <key>width4</key>
- <value>1</value>
+ <key>type</key>
+ <value>float</value>
</param>
<param>
- <key>color4</key>
- <value>"black"</value>
+ <key>delay</key>
+ <value>32</value>
</param>
<param>
- <key>style4</key>
+ <key>num_ports</key>
<value>1</value>
</param>
<param>
- <key>marker4</key>
- <value>-1</value>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
- <key>alpha4</key>
- <value>1.0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>label5</key>
+ <key>affinity</key>
<value></value>
</param>
<param>
- <key>width5</key>
- <value>1</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>color5</key>
- <value>"cyan"</value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>style5</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(1698, 899)</value>
</param>
<param>
- <key>marker5</key>
- <value>-1</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>blocks_char_to_float</key>
<param>
- <key>alpha5</key>
- <value>1.0</value>
+ <key>id</key>
+ <value>blocks_char_to_float_1_0</value>
</param>
<param>
- <key>label6</key>
- <value></value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>width6</key>
+ <key>vlen</key>
<value>1</value>
</param>
<param>
- <key>color6</key>
- <value>"magenta"</value>
- </param>
- <param>
- <key>style6</key>
+ <key>scale</key>
<value>1</value>
</param>
<param>
- <key>marker6</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>(1466, 731)</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</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>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>alpha8</key>
- <value>1.0</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>label9</key>
- <value></value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>width9</key>
- <value>1</value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>color9</key>
- <value>"dark green"</value>
+ <key>_coordinate</key>
+ <value>(1466, 435)</value>
</param>
<param>
- <key>style9</key>
- <value>1</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>fec_extended_decoder</key>
<param>
- <key>marker9</key>
- <value>-1</value>
+ <key>id</key>
+ <value>fec_extended_decoder_0_1</value>
</param>
<param>
- <key>alpha9</key>
- <value>1.0</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>label10</key>
- <value></value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
</param>
<param>
- <key>width10</key>
- <value>1</value>
+ <key>decoder_list</key>
+ <value>dec_rep</value>
</param>
<param>
- <key>color10</key>
- <value>"blue"</value>
+ <key>threadtype</key>
+ <value>none</value>
</param>
<param>
- <key>style10</key>
- <value>1</value>
+ <key>ann</key>
+ <value>None</value>
</param>
<param>
- <key>marker10</key>
- <value>-1</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>alpha10</key>
- <value>1.0</value>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
<key>alias</key>
@@ -1098,8 +1373,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>(1889, 404)</value>
+ <value>(1162, 393)</value>
</param>
<param>
<key>_rotation</key>
@@ -1107,30 +1390,22 @@
</param>
</block>
<block>
- <key>fec_extended_encoder</key>
+ <key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>fec_extended_encoder_1</value>
+ <value>blocks_char_to_float_0_0_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_ccsds</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>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>
@@ -1150,7 +1425,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(440, 318)</value>
+ <value>(1465, 292)</value>
</param>
<param>
<key>_rotation</key>
@@ -1161,7 +1436,7 @@
<key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_1</value>
+ <value>blocks_char_to_float_0_0</value>
</param>
<param>
<key>_enabled</key>
@@ -1193,7 +1468,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(441, 228)</value>
+ <value>(1465, 584)</value>
</param>
<param>
<key>_rotation</key>
@@ -1201,30 +1476,38 @@
</param>
</block>
<block>
- <key>blocks_delay</key>
+ <key>fec_extended_decoder</key>
<param>
<key>id</key>
- <value>blocks_delay_0</value>
+ <value>fec_extended_decoder_0_1_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>float</value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
</param>
<param>
- <key>delay</key>
- <value>32</value>
+ <key>decoder_list</key>
+ <value>dec_dummy</value>
</param>
<param>
- <key>num_ports</key>
- <value>1</value>
+ <key>threadtype</key>
+ <value>none</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>ann</key>
+ <value>None</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
<key>alias</key>
@@ -1244,7 +1527,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(696, 228)</value>
+ <value>(1161, 250)</value>
</param>
<param>
<key>_rotation</key>
@@ -1252,329 +1535,334 @@
</param>
</block>
<block>
- <key>blocks_unpack_k_bits_bb</key>
+ <key>qtgui_time_sink_x</key>
<param>
<key>id</key>
- <value>blocks_unpack_k_bits_bb_0</value>
+ <value>qtgui_time_sink_x_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>k</key>
- <value>8</value>
+ <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>alias</key>
- <value></value>
+ <key>ymax</key>
+ <value>1.5</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>nconnections</key>
+ <value>5</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>update_time</key>
+ <value>0.10</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>entags</key>
+ <value>True</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(105, 430)</value>
+ <key>gui_hint</key>
+ <value></value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>tr_mode</key>
+ <value>qtgui.TRIG_MODE_FREE</value>
</param>
- </block>
- <block>
- <key>blocks_vector_source_x</key>
<param>
- <key>id</key>
- <value>blocks_vector_source_x_0_1_0</value>
+ <key>tr_slope</key>
+ <value>qtgui.TRIG_SLOPE_POS</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>tr_level</key>
+ <value>0.0</value>
</param>
<param>
- <key>type</key>
- <value>byte</value>
+ <key>tr_delay</key>
+ <value>0</value>
</param>
<param>
- <key>vector</key>
- <value>(frame_size/15)*[1, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0,
127]</value>
+ <key>tr_chan</key>
+ <value>0</value>
</param>
<param>
- <key>tags</key>
- <value>[]</value>
+ <key>tr_tag</key>
+ <value>""</value>
</param>
<param>
- <key>repeat</key>
- <value>True</value>
+ <key>label1</key>
+ <value>Input</value>
</param>
<param>
- <key>vlen</key>
+ <key>width1</key>
<value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>color1</key>
+ <value>"blue"</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>style1</key>
+ <value>1</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>marker1</key>
+ <value>-1</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>alpha1</key>
+ <value>1.0</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(59, 200)</value>
+ <key>label2</key>
+ <value>Dummy</value>
</param>
<param>
- <key>_rotation</key>
- <value>180</value>
+ <key>width2</key>
+ <value>1</value>
</param>
- </block>
- <block>
- <key>variable_cc_encoder_def</key>
<param>
- <key>id</key>
- <value>enc_cc</value>
+ <key>color2</key>
+ <value>"red"</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>style2</key>
+ <value>1</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>marker2</key>
+ <value>-1</value>
</param>
<param>
- <key>ndim</key>
- <value>1</value>
+ <key>alpha2</key>
+ <value>0.6</value>
</param>
<param>
- <key>dim1</key>
- <value>1</value>
+ <key>label3</key>
+ <value>Rep. (Rate=3)</value>
</param>
<param>
- <key>dim2</key>
+ <key>width3</key>
<value>1</value>
</param>
<param>
- <key>framebits</key>
- <value>frame_size*8</value>
+ <key>color3</key>
+ <value>"green"</value>
</param>
<param>
- <key>k</key>
- <value>k</value>
+ <key>style3</key>
+ <value>1</value>
</param>
<param>
- <key>rate</key>
- <value>rate</value>
+ <key>marker3</key>
+ <value>-1</value>
</param>
<param>
- <key>polys</key>
- <value>polys</value>
+ <key>alpha3</key>
+ <value>1.0</value>
</param>
<param>
- <key>state_start</key>
- <value>0</value>
+ <key>label4</key>
+ <value>CC (K=7, Rate=2)</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <key>width4</key>
+ <value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>color4</key>
+ <value>"black"</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(443, 720)</value>
+ <key>style4</key>
+ <value>1</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>marker4</key>
+ <value>-1</value>
</param>
- </block>
- <block>
- <key>variable_cc_decoder_def</key>
<param>
- <key>id</key>
- <value>dec_cc</value>
+ <key>alpha4</key>
+ <value>1.0</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>label5</key>
+ <value>CCSDS</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>width5</key>
+ <value>1</value>
</param>
<param>
- <key>ndim</key>
- <value>1</value>
+ <key>color5</key>
+ <value>"cyan"</value>
</param>
<param>
- <key>dim1</key>
+ <key>style5</key>
<value>1</value>
</param>
<param>
- <key>dim2</key>
- <value>4</value>
+ <key>marker5</key>
+ <value>-1</value>
</param>
<param>
- <key>framebits</key>
- <value>frame_size*8</value>
+ <key>alpha5</key>
+ <value>1.0</value>
</param>
<param>
- <key>k</key>
- <value>k</value>
+ <key>label6</key>
+ <value></value>
</param>
<param>
- <key>rate</key>
- <value>rate</value>
+ <key>width6</key>
+ <value>1</value>
</param>
<param>
- <key>polys</key>
- <value>polys</value>
+ <key>color6</key>
+ <value>"magenta"</value>
</param>
<param>
- <key>state_start</key>
- <value>0</value>
+ <key>style6</key>
+ <value>1</value>
</param>
<param>
- <key>state_end</key>
+ <key>marker6</key>
<value>-1</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <key>alpha6</key>
+ <value>1.0</value>
</param>
<param>
- <key>alias</key>
+ <key>label7</key>
<value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(739, 718)</value>
+ <key>width7</key>
+ <value>1</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>color7</key>
+ <value>"yellow"</value>
</param>
- </block>
- <block>
- <key>variable_ccsds_encoder_def</key>
<param>
- <key>id</key>
- <value>enc_ccsds</value>
+ <key>style7</key>
+ <value>1</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>marker7</key>
+ <value>-1</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>alpha7</key>
+ <value>1.0</value>
</param>
<param>
- <key>ndim</key>
- <value>1</value>
+ <key>label8</key>
+ <value></value>
</param>
<param>
- <key>dim1</key>
+ <key>width8</key>
<value>1</value>
</param>
<param>
- <key>dim2</key>
- <value>4</value>
+ <key>color8</key>
+ <value>"dark red"</value>
</param>
<param>
- <key>framebits</key>
- <value>frame_size*8</value>
+ <key>style8</key>
+ <value>1</value>
</param>
<param>
- <key>state_start</key>
- <value>0</value>
+ <key>marker8</key>
+ <value>-1</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <key>alpha8</key>
+ <value>1.0</value>
</param>
<param>
- <key>alias</key>
+ <key>label9</key>
<value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(1161, 742)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
+ <key>width9</key>
+ <value>1</value>
</param>
- </block>
- <block>
- <key>variable_ccsds_decoder_def</key>
<param>
- <key>id</key>
- <value>dec_ccsds</value>
+ <key>color9</key>
+ <value>"dark green"</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>style9</key>
+ <value>1</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>marker9</key>
+ <value>-1</value>
</param>
<param>
- <key>ndim</key>
- <value>1</value>
+ <key>alpha9</key>
+ <value>1.0</value>
</param>
<param>
- <key>dim1</key>
- <value>1</value>
+ <key>label10</key>
+ <value></value>
</param>
<param>
- <key>dim2</key>
- <value>4</value>
+ <key>width10</key>
+ <value>1</value>
</param>
<param>
- <key>framebits</key>
- <value>frame_size*8</value>
+ <key>color10</key>
+ <value>"blue"</value>
</param>
<param>
- <key>state_start</key>
- <value>0</value>
+ <key>style10</key>
+ <value>1</value>
</param>
<param>
- <key>end_state</key>
+ <key>marker10</key>
<value>-1</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <key>alpha10</key>
+ <value>1.0</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(1449, 735)</value>
+ <value>(1845, 201)</value>
</param>
<param>
<key>_rotation</key>
@@ -1582,22 +1870,30 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_0</value>
+ <value>fec_extended_encoder_1</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>encoder_list</key>
+ <value>enc_cc</value>
</param>
<param>
- <key>scale</key>
- <value>1</value>
+ <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>
@@ -1617,7 +1913,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1492, 350)</value>
+ <value>(441, 552)</value>
</param>
<param>
<key>_rotation</key>
@@ -1625,334 +1921,368 @@
</param>
</block>
<block>
- <key>qtgui_time_sink_x</key>
+ <key>fec_extended_decoder</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0_0</value>
+ <value>fec_extended_decoder_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>float</value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
</param>
<param>
- <key>name</key>
- <value>QT GUI Plot</value>
+ <key>decoder_list</key>
+ <value>dec_cc</value>
</param>
<param>
- <key>size</key>
- <value>2048</value>
+ <key>threadtype</key>
+ <value>none</value>
</param>
<param>
- <key>srate</key>
- <value>samp_rate</value>
+ <key>ann</key>
+ <value>None</value>
</param>
<param>
- <key>autoscale</key>
- <value>False</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>ymin</key>
- <value>-0.5</value>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
- <key>ymax</key>
- <value>1.5</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>nconnections</key>
- <value>2</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>update_time</key>
- <value>0.10</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>entags</key>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1161, 542)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>fec_extended_encoder</key>
+ <param>
+ <key>id</key>
+ <value>fec_extended_encoder_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>gui_hint</key>
- <value></value>
+ <key>encoder_list</key>
+ <value>enc_ccsds</value>
</param>
<param>
- <key>tr_mode</key>
- <value>qtgui.TRIG_MODE_FREE</value>
+ <key>threadtype</key>
+ <value>capillary</value>
</param>
<param>
- <key>tr_slope</key>
- <value>qtgui.TRIG_SLOPE_POS</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>tr_level</key>
- <value>0.0</value>
+ <key>lentagname</key>
+ <value>None</value>
</param>
<param>
- <key>tr_delay</key>
- <value>0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>tr_chan</key>
- <value>0</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>tr_tag</key>
- <value>""</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>label1</key>
- <value>Input</value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>width1</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(440, 700)</value>
</param>
<param>
- <key>color1</key>
- <value>"blue"</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>fec_extended_decoder</key>
<param>
- <key>style1</key>
- <value>1</value>
+ <key>id</key>
+ <value>fec_extended_decoder_0_0</value>
</param>
<param>
- <key>marker1</key>
- <value>-1</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>alpha1</key>
- <value>1.0</value>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
</param>
<param>
- <key>label2</key>
- <value>CCSDS</value>
+ <key>decoder_list</key>
+ <value>dec_ccsds</value>
</param>
<param>
- <key>width2</key>
- <value>1</value>
+ <key>threadtype</key>
+ <value>capillary</value>
</param>
<param>
- <key>color2</key>
- <value>"red"</value>
+ <key>ann</key>
+ <value>None</value>
</param>
<param>
- <key>style2</key>
- <value>1</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>marker2</key>
- <value>-1</value>
+ <key>lentagname</key>
+ <value>None</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>(1162, 689)</value>
</param>
<param>
- <key>marker3</key>
- <value>-1</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>blocks_char_to_float</key>
<param>
- <key>alpha3</key>
- <value>1.0</value>
+ <key>id</key>
+ <value>blocks_char_to_float_0_1</value>
</param>
<param>
- <key>label4</key>
- <value></value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>width4</key>
+ <key>vlen</key>
<value>1</value>
</param>
<param>
- <key>color4</key>
- <value>"black"</value>
+ <key>scale</key>
+ <value>1</value>
</param>
<param>
- <key>style4</key>
- <value>1</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>marker4</key>
- <value>-1</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>alpha4</key>
- <value>1.0</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>label5</key>
- <value></value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>width5</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(440, 184)</value>
</param>
<param>
- <key>color5</key>
- <value>"cyan"</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>blocks_delay</key>
<param>
- <key>style5</key>
- <value>1</value>
+ <key>id</key>
+ <value>blocks_delay_0</value>
</param>
<param>
- <key>marker5</key>
- <value>-1</value>
+ <key>_enabled</key>
+ <value>False</value>
</param>
<param>
- <key>alpha5</key>
- <value>1.0</value>
+ <key>type</key>
+ <value>float</value>
</param>
<param>
- <key>label6</key>
- <value></value>
+ <key>delay</key>
+ <value>32</value>
</param>
<param>
- <key>width6</key>
+ <key>num_ports</key>
<value>1</value>
</param>
<param>
- <key>color6</key>
- <value>"magenta"</value>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
- <key>style6</key>
- <value>1</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>marker6</key>
- <value>-1</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>alpha6</key>
- <value>1.0</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>label7</key>
- <value></value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>width7</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(695, 184)</value>
</param>
<param>
- <key>color7</key>
- <value>"yellow"</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable_ccsds_encoder_def</key>
<param>
- <key>style7</key>
- <value>1</value>
+ <key>id</key>
+ <value>enc_ccsds</value>
</param>
<param>
- <key>marker7</key>
- <value>-1</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>alpha7</key>
- <value>1.0</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>label8</key>
- <value></value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
- <key>width8</key>
+ <key>dim1</key>
<value>1</value>
</param>
<param>
- <key>color8</key>
- <value>"dark red"</value>
+ <key>dim2</key>
+ <value>4</value>
</param>
<param>
- <key>style8</key>
- <value>1</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>marker8</key>
- <value>-1</value>
+ <key>state_start</key>
+ <value>0</value>
</param>
<param>
- <key>alpha8</key>
- <value>1.0</value>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
</param>
<param>
- <key>label9</key>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>width9</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(669, 841)</value>
</param>
<param>
- <key>color9</key>
- <value>"dark green"</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable_ccsds_decoder_def</key>
<param>
- <key>style9</key>
- <value>1</value>
+ <key>id</key>
+ <value>dec_ccsds</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>1</value>
</param>
<param>
- <key>width10</key>
+ <key>dim1</key>
<value>1</value>
</param>
<param>
- <key>color10</key>
- <value>"blue"</value>
+ <key>dim2</key>
+ <value>4</value>
</param>
<param>
- <key>style10</key>
- <value>1</value>
+ <key>framebits</key>
+ <value>frame_size*8</value>
</param>
<param>
- <key>marker10</key>
- <value>-1</value>
+ <key>state_start</key>
+ <value>0</value>
</param>
<param>
- <key>alpha10</key>
- <value>1.0</value>
+ <key>end_state</key>
+ <value>-1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>mode</key>
+ <value>fec.CC_STREAMING</value>
</param>
<param>
- <key>affinity</key>
+ <key>alias</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1885, 216)</value>
+ <value>(668, 1007)</value>
</param>
<param>
<key>_rotation</key>
@@ -1960,69 +2290,58 @@
</param>
</block>
<block>
- <key>blocks_ctrlport_monitor_performance</key>
+ <key>blocks_vector_source_x</key>
<param>
<key>id</key>
- <value>blocks_ctrlport_monitor_performance_0</value>
+ <value>blocks_vector_source_x_0_1_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>(557, 17)</value>
+ <key>type</key>
+ <value>byte</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</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>
- </block>
- <block>
- <key>parameter</key>
<param>
- <key>id</key>
- <value>frame_size</value>
+ <key>tags</key>
+ <value>[]</value>
</param>
<param>
- <key>_enabled</key>
+ <key>repeat</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>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, 7)</value>
+ <value>(59, 200)</value>
</param>
<param>
<key>_rotation</key>
- <value>0</value>
+ <value>180</value>
</param>
</block>
<connection>
@@ -2050,20 +2369,20 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_delay_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_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</source_block_id>
- <sink_block_id>fec_extended_decoder_0</sink_block_id>
+ <source_block_id>blocks_unpack_k_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>fec_extended_encoder_1</source_block_id>
- <sink_block_id>digital_map_bb_0_0</sink_block_id>
+ <source_block_id>blocks_char_to_float_0_1</source_block_id>
+ <sink_block_id>blocks_delay_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
@@ -2074,14 +2393,14 @@
<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>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>blocks_unpack_k_bits_bb_0</source_block_id>
- <sink_block_id>blocks_char_to_float_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>
@@ -2104,32 +2423,92 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_delay_0_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_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>1</sink_key>
+ <sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>fec_extended_decoder_0</source_block_id>
- <sink_block_id>blocks_char_to_float_0_0</sink_block_id>
+ <source_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_char_to_float_0_0</source_block_id>
+ <source_block_id>blocks_char_to_float_0_2_0</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_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>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_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>
+ <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_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_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_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_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>qtgui_time_sink_x_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>1</sink_key>
</connection>
<connection>
- <source_block_id>fec_extended_decoder_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
+ <source_block_id>blocks_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_key>0</source_key>
+ <sink_key>3</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>blocks_char_to_float_1_0</source_block_id>
+ <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>4</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_extended_decoder_0_1_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_0_0_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
@@ -2140,8 +2519,14 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_char_to_float_0_1</source_block_id>
- <sink_block_id>blocks_delay_0</sink_block_id>
+ <source_block_id>fec_extended_decoder_0_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_extended_decoder_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
diff --git a/gr-fec/examples/fecapi_encoders.grc
b/gr-fec/examples/fecapi_encoders.grc
index f2d320b..1bf3c47 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>Wed May 7 19:04:31 2014</timestamp>
+ <timestamp>Mon May 12 16:15:19 2014</timestamp>
<block>
<key>options</key>
<param>
@@ -68,7 +68,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>samp_rate</value>
+ <value>rate</value>
</param>
<param>
<key>_enabled</key>
@@ -76,7 +76,7 @@
</param>
<param>
<key>value</key>
- <value>50000</value>
+ <value>2</value>
</param>
<param>
<key>alias</key>
@@ -84,7 +84,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(7, 95)</value>
+ <value>(454, 692)</value>
</param>
<param>
<key>_rotation</key>
@@ -95,7 +95,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>k</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
@@ -103,7 +103,7 @@
</param>
<param>
<key>value</key>
- <value>7</value>
+ <value>[109, 79]</value>
</param>
<param>
<key>alias</key>
@@ -111,7 +111,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(353, 695)</value>
+ <value>(270, 780)</value>
</param>
<param>
<key>_rotation</key>
@@ -149,7 +149,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>k</value>
</param>
<param>
<key>_enabled</key>
@@ -157,7 +157,7 @@
</param>
<param>
<key>value</key>
- <value>[109, 79]</value>
+ <value>7</value>
</param>
<param>
<key>alias</key>
@@ -165,7 +165,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(270, 780)</value>
+ <value>(353, 695)</value>
</param>
<param>
<key>_rotation</key>
@@ -176,7 +176,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>rate</value>
+ <value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
@@ -184,7 +184,7 @@
</param>
<param>
<key>value</key>
- <value>2</value>
+ <value>50000</value>
</param>
<param>
<key>alias</key>
@@ -192,7 +192,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(454, 692)</value>
+ <value>(7, 95)</value>
</param>
<param>
<key>_rotation</key>
@@ -345,45 +345,6 @@
</param>
</block>
<block>
- <key>blocks_unpack_k_bits_bb</key>
- <param>
- <key>id</key>
- <value>blocks_unpack_k_bits_bb_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>k</key>
- <value>8</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>(118, 440)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
<key>parameter</key>
<param>
<key>id</key>
@@ -541,50 +502,65 @@
</param>
</block>
<block>
- <key>variable_ccsds_encoder_def</key>
+ <key>blocks_ctrlport_monitor_performance</key>
<param>
<key>id</key>
- <value>enc_ccsds</value>
+ <value>blocks_ctrlport_monitor_performance_0</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>en</key>
+ <value>True</value>
</param>
<param>
- <key>ndim</key>
- <value>1</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>dim1</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(549, 10)</value>
</param>
<param>
- <key>dim2</key>
- <value>4</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>blocks_unpack_k_bits_bb</key>
<param>
- <key>framebits</key>
- <value>frame_size*8</value>
+ <key>id</key>
+ <value>blocks_unpack_k_bits_bb_0</value>
</param>
<param>
- <key>state_start</key>
- <value>0</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_TERMINATED</value>
+ <key>k</key>
+ <value>8</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>(869, 700)</value>
+ <value>(118, 440)</value>
</param>
<param>
<key>_rotation</key>
@@ -592,30 +568,22 @@
</param>
</block>
<block>
- <key>fec_extended_encoder</key>
+ <key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>fec_extended_encoder_1</value>
+ <value>blocks_char_to_float_1_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_ccsds</value>
- </param>
- <param>
- <key>threadtype</key>
- <value>none</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <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>
@@ -635,7 +603,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(482, 287)</value>
+ <value>(853, 255)</value>
</param>
<param>
<key>_rotation</key>
@@ -678,7 +646,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(818, 318)</value>
+ <value>(848, 392)</value>
</param>
<param>
<key>_rotation</key>
@@ -689,7 +657,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>
@@ -697,7 +665,7 @@
</param>
<param>
<key>encoder_list</key>
- <value>enc_cc</value>
+ <value>enc_ccsds</value>
</param>
<param>
<key>threadtype</key>
@@ -729,7 +697,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(481, 498)</value>
+ <value>(512, 361)</value>
</param>
<param>
<key>_rotation</key>
@@ -772,7 +740,58 @@
</param>
<param>
<key>_coordinate</key>
- <value>(807, 527)</value>
+ <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>
@@ -1107,7 +1126,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1163, 381)</value>
+ <value>(1193, 420)</value>
</param>
<param>
<key>_rotation</key>
@@ -1115,18 +1134,42 @@
</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>
- <value>True</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>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>
@@ -1134,52 +1177,528 @@
</param>
<param>
<key>_coordinate</key>
- <value>(549, 10)</value>
+ <value>(843, 698)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
- <connection>
- <source_block_id>blocks_vector_source_x_0_1_0</source_block_id>
- <sink_block_id>blocks_throttle_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</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_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>blocks_throttle_0</source_block_id>
- <sink_block_id>blocks_unpack_k_bits_bb_0</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_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_key>0</source_key>
- <sink_key>1</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_key>0</source_key>
- <sink_key>0</sink_key>
+ <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>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>qtgui_time_sink_x</key>
+ <param>
+ <key>id</key>
+ <value>qtgui_time_sink_x_0_0_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>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>1</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>packet_len</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>CC</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>0.6</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>
+ </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>
+ <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>
+ </param>
+ <param>
+ <key>marker7</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>alpha7</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label8</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width8</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color8</key>
+ <value>"dark red"</value>
+ </param>
+ <param>
+ <key>style8</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>marker8</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>alpha8</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label9</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width9</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color9</key>
+ <value>"dark green"</value>
+ </param>
+ <param>
+ <key>style9</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>marker9</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>alpha9</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label10</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width10</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color10</key>
+ <value>"blue"</value>
+ </param>
+ <param>
+ <key>style10</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>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </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>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <connection>
+ <source_block_id>blocks_vector_source_x_0_1_0</source_block_id>
+ <sink_block_id>blocks_throttle_0</sink_block_id>
+ <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>analog_random_source_x_0</source_block_id>
+ <sink_block_id>blocks_throttle_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>blocks_throttle_0</source_block_id>
+ <sink_block_id>blocks_unpack_k_bits_bb_0</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_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_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>
+ </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_key>0</source_key>
<sink_key>0</sink_key>
</connection>
@@ -1195,4 +1714,22 @@
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
+ <connection>
+ <source_block_id>fec_extended_encoder_0</source_block_id>
+ <sink_block_id>blocks_char_to_float_1</sink_block_id>
+ <source_key>0</source_key>
+ <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_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_key>0</source_key>
+ <sink_key>1</sink_key>
+ </connection>
</flow_graph>
diff --git a/gr-fec/examples/fecapi_tagged_decoders.grc
b/gr-fec/examples/fecapi_tagged_decoders.grc
index b9936b8..91053cb 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 7 19:28:30 2014</timestamp>
+ <timestamp>Mon May 12 22:12:23 2014</timestamp>
<block>
<key>options</key>
<param>
@@ -68,7 +68,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>length_tag</value>
+ <value>k</value>
</param>
<param>
<key>_enabled</key>
@@ -76,7 +76,7 @@
</param>
<param>
<key>value</key>
- <value>"packet_len"</value>
+ <value>7</value>
</param>
<param>
<key>alias</key>
@@ -84,7 +84,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(202, 112)</value>
+ <value>(384, 683)</value>
</param>
<param>
<key>_rotation</key>
@@ -95,7 +95,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>samp_rate</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
@@ -103,7 +103,7 @@
</param>
<param>
<key>value</key>
- <value>50000</value>
+ <value>[109, 79]</value>
</param>
<param>
<key>alias</key>
@@ -111,7 +111,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(9, 95)</value>
+ <value>(301, 768)</value>
</param>
<param>
<key>_rotation</key>
@@ -122,15 +122,15 @@
<key>variable</key>
<param>
<key>id</key>
- <value>k</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
<key>value</key>
- <value>7</value>
+ <value>[79, 109]</value>
</param>
<param>
<key>alias</key>
@@ -138,7 +138,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(562, 734)</value>
+ <value>(443, 765)</value>
</param>
<param>
<key>_rotation</key>
@@ -165,7 +165,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(663, 731)</value>
+ <value>(485, 680)</value>
</param>
<param>
<key>_rotation</key>
@@ -176,7 +176,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>length_tag</value>
</param>
<param>
<key>_enabled</key>
@@ -184,7 +184,7 @@
</param>
<param>
<key>value</key>
- <value>[109, 79]</value>
+ <value>"packet_len"</value>
</param>
<param>
<key>alias</key>
@@ -192,7 +192,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(479, 819)</value>
+ <value>(202, 112)</value>
</param>
<param>
<key>_rotation</key>
@@ -203,15 +203,15 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
<key>value</key>
- <value>[79, 109]</value>
+ <value>50000</value>
</param>
<param>
<key>alias</key>
@@ -219,7 +219,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(621, 816)</value>
+ <value>(9, 95)</value>
</param>
<param>
<key>_rotation</key>
@@ -227,38 +227,38 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>blocks_unpack_k_bits_bb</key>
<param>
<key>id</key>
- <value>puncpat</value>
+ <value>blocks_unpack_k_bits_bb_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
- <value></value>
+ <key>k</key>
+ <value>8</value>
</param>
<param>
- <key>value</key>
- <value>'11'</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>type</key>
- <value>string</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>(248, 9)</value>
+ <value>(359, 341)</value>
</param>
<param>
<key>_rotation</key>
@@ -266,77 +266,85 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>blocks_vector_source_x</key>
<param>
<key>id</key>
- <value>MTU</value>
+ <value>blocks_vector_source_x_0_1_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
- <value>MTU</value>
+ <key>type</key>
+ <value>byte</value>
</param>
<param>
- <key>value</key>
- <value>1500</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>type</key>
- <value>intx</value>
+ <key>tags</key>
+ <value>[]</value>
</param>
<param>
- <key>short_id</key>
- <value></value>
+ <key>repeat</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(365, 9)</value>
+ <value>(123, 218)</value>
</param>
<param>
<key>_rotation</key>
- <value>0</value>
+ <value>180</value>
</param>
</block>
<block>
- <key>fec_extended_decoder</key>
+ <key>blocks_throttle</key>
<param>
<key>id</key>
- <value>fec_extended_decoder_0_0</value>
+ <value>blocks_throttle_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>
+ <key>type</key>
+ <value>byte</value>
</param>
<param>
- <key>ann</key>
- <value>None</value>
+ <key>samples_per_second</key>
+ <value>samp_rate</value>
</param>
<param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
- <key>lentagname</key>
- <value>length_tag</value>
+ <key>ignoretag</key>
+ <value>True</value>
</param>
<param>
<key>alias</key>
@@ -356,7 +364,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(923, 464)</value>
+ <value>(100, 341)</value>
</param>
<param>
<key>_rotation</key>
@@ -364,22 +372,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_0</value>
+ <value>blocks_stream_to_tagged_stream_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
+ <key>type</key>
+ <value>byte</value>
+ </param>
+ <param>
<key>vlen</key>
<value>1</value>
</param>
<param>
- <key>scale</key>
- <value>1</value>
+ <key>packet_len</key>
+ <value>frame_size*8</value>
+ </param>
+ <param>
+ <key>len_tag_key</key>
+ <value>length_tag</value>
</param>
<param>
<key>alias</key>
@@ -399,7 +415,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1265, 506)</value>
+ <value>(595, 331)</value>
</param>
<param>
<key>_rotation</key>
@@ -407,22 +423,34 @@
</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</value>
+ <value>analog_random_source_x_0</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>type</key>
+ <value>byte</value>
</param>
<param>
- <key>scale</key>
- <value>1</value>
+ <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>
@@ -442,46 +470,34 @@
</param>
<param>
<key>_coordinate</key>
- <value>(678, 506)</value>
+ <value>(99, 633)</value>
</param>
<param>
<key>_rotation</key>
- <value>0</value>
+ <value>180</value>
</param>
</block>
<block>
- <key>digital_map_bb</key>
+ <key>blocks_ctrlport_monitor_performance</key>
<param>
<key>id</key>
- <value>digital_map_bb_0</value>
+ <value>blocks_ctrlport_monitor_performance_0</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
- <key>map</key>
- <value>[-1, 1]</value>
+ <key>en</key>
+ <value>True</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
- <key>affinity</key>
- <value></value>
- </param>
- <param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
- </param>
- <param>
<key>_coordinate</key>
- <value>(493, 506)</value>
+ <value>(651, 15)</value>
</param>
<param>
<key>_rotation</key>
@@ -489,42 +505,38 @@
</param>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0_1</value>
+ <value>puncpat</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>label</key>
+ <value></value>
</param>
<param>
- <key>scale</key>
- <value>1</value>
+ <key>value</key>
+ <value>'11'</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>type</key>
+ <value>string</value>
</param>
<param>
- <key>affinity</key>
+ <key>short_id</key>
<value></value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
- </param>
- <param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1014, 340)</value>
+ <value>(248, 9)</value>
</param>
<param>
<key>_rotation</key>
@@ -532,38 +544,38 @@
</param>
</block>
<block>
- <key>blocks_unpack_k_bits_bb</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>blocks_unpack_k_bits_bb_0_0</value>
+ <value>frame_size</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>k</key>
- <value>8</value>
+ <key>label</key>
+ <value>Frame Size</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>value</key>
+ <value>30</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>type</key>
+ <value>intx</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(359, 341)</value>
+ <value>(484, 10)</value>
</param>
<param>
<key>_rotation</key>
@@ -571,22 +583,296 @@
</param>
</block>
<block>
- <key>qtgui_time_sink_x</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0</value>
+ <value>fec_extended_encoder_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>float</value>
+ <key>encoder_list</key>
+ <value>enc_rep</value>
</param>
<param>
- <key>name</key>
- <value>QT GUI Plot</value>
+ <key>threadtype</key>
+ <value>none</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>length_tag</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(138, 474)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>MTU</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>MTU</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>1000</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>intx</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value></value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(365, 9)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>digital_map_bb</key>
+ <param>
+ <key>id</key>
+ <value>digital_map_bb_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>map</key>
+ <value>[-1, 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>(493, 506)</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>(678, 506)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>blocks_char_to_float</key>
+ <param>
+ <key>id</key>
+ <value>blocks_char_to_float_1_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>scale</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1242, 506)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>fec_extended_decoder</key>
+ <param>
+ <key>id</key>
+ <value>fec_extended_decoder_0_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>fec_extended_decoder</value>
+ </param>
+ <param>
+ <key>decoder_list</key>
+ <value>dec_rep</value>
+ </param>
+ <param>
+ <key>threadtype</key>
+ <value>none</value>
+ </param>
+ <param>
+ <key>ann</key>
+ <value>None</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>length_tag</value>
+ </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>(900, 464)</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>
@@ -610,7 +896,7 @@
</param>
<param>
<key>nconnections</key>
- <value>2</value>
+ <value>1</value>
</param>
<param>
<key>update_time</key>
@@ -769,136 +1055,317 @@
<value>1.0</value>
</param>
<param>
- <key>label6</key>
- <value></value>
+ <key>label6</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>
+ <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>
+ </param>
+ <param>
+ <key>marker7</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>alpha7</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label8</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width8</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color8</key>
+ <value>"dark red"</value>
+ </param>
+ <param>
+ <key>style8</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>marker8</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>alpha8</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label9</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width9</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color9</key>
+ <value>"dark green"</value>
+ </param>
+ <param>
+ <key>style9</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>marker9</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>alpha9</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label10</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width10</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color10</key>
+ <value>"blue"</value>
+ </param>
+ <param>
+ <key>style10</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>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1475, 452)</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>2</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>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_TERMINATED</value>
</param>
<param>
- <key>label7</key>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>width7</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(882, 676)</value>
</param>
<param>
- <key>color7</key>
- <value>"yellow"</value>
+ <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>style7</key>
- <value>1</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>marker7</key>
- <value>-1</value>
+ <key>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>alpha7</key>
- <value>1.0</value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
- <key>label8</key>
- <value></value>
+ <key>dim1</key>
+ <value>4</value>
</param>
<param>
- <key>width8</key>
+ <key>dim2</key>
<value>1</value>
</param>
<param>
- <key>color8</key>
- <value>"dark red"</value>
+ <key>framebits</key>
+ <value>MTU*8</value>
</param>
<param>
- <key>style8</key>
- <value>1</value>
+ <key>k</key>
+ <value>k</value>
</param>
<param>
- <key>marker8</key>
- <value>-1</value>
+ <key>rate</key>
+ <value>rate</value>
</param>
<param>
- <key>alpha8</key>
- <value>1.0</value>
+ <key>polys</key>
+ <value>polys</value>
</param>
<param>
- <key>label9</key>
- <value></value>
+ <key>state_start</key>
+ <value>0</value>
</param>
<param>
- <key>width9</key>
- <value>1</value>
+ <key>mode</key>
+ <value>fec.CC_TERMINATED</value>
</param>
<param>
- <key>color9</key>
- <value>"dark green"</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>style9</key>
- <value>1</value>
+ <key>_coordinate</key>
+ <value>(581, 684)</value>
</param>
<param>
- <key>marker9</key>
- <value>-1</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>variable_repetition_decoder_def</key>
<param>
- <key>alpha9</key>
- <value>1.0</value>
+ <key>id</key>
+ <value>dec_rep</value>
</param>
<param>
- <key>label10</key>
- <value></value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>width10</key>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
<value>1</value>
</param>
<param>
- <key>color10</key>
- <value>"blue"</value>
+ <key>dim1</key>
+ <value>1</value>
</param>
<param>
- <key>style10</key>
+ <key>dim2</key>
<value>1</value>
</param>
<param>
- <key>marker10</key>
- <value>-1</value>
+ <key>framebits</key>
+ <value>MTU*8</value>
</param>
<param>
- <key>alpha10</key>
- <value>1.0</value>
+ <key>rep</key>
+ <value>3</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>prob</key>
+ <value>0.5</value>
</param>
<param>
- <key>affinity</key>
+ <key>alias</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1530, 372)</value>
+ <value>(1215, 765)</value>
</param>
<param>
<key>_rotation</key>
@@ -906,85 +1373,69 @@
</param>
</block>
<block>
- <key>blocks_vector_source_x</key>
+ <key>variable_repetition_encoder_def</key>
<param>
<key>id</key>
- <value>blocks_vector_source_x_0_1_0</value>
+ <value>enc_rep</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>value</key>
+ <value>"ok"</value>
</param>
<param>
- <key>repeat</key>
- <value>True</value>
+ <key>ndim</key>
+ <value>1</value>
</param>
<param>
- <key>vlen</key>
+ <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>3</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(123, 218)</value>
+ <value>(1215, 623)</value>
</param>
<param>
<key>_rotation</key>
- <value>180</value>
+ <value>0</value>
</param>
</block>
<block>
- <key>blocks_throttle</key>
+ <key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_throttle_0</value>
+ <value>blocks_char_to_float_0_1</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>scale</key>
+ <value>1</value>
</param>
<param>
<key>alias</key>
@@ -1004,7 +1455,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(100, 341)</value>
+ <value>(1540, 340)</value>
</param>
<param>
<key>_rotation</key>
@@ -1012,10 +1463,10 @@
</param>
</block>
<block>
- <key>blocks_stream_to_tagged_stream</key>
+ <key>qtgui_time_sink_x</key>
<param>
<key>id</key>
- <value>blocks_stream_to_tagged_stream_0_0</value>
+ <value>qtgui_time_sink_x_0_0</value>
</param>
<param>
<key>_enabled</key>
@@ -1023,341 +1474,323 @@
</param>
<param>
<key>type</key>
- <value>byte</value>
+ <value>float</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>name</key>
+ <value>QT GUI Plot</value>
</param>
<param>
- <key>packet_len</key>
- <value>frame_size*8</value>
+ <key>size</key>
+ <value>2048</value>
</param>
<param>
- <key>len_tag_key</key>
- <value>length_tag</value>
+ <key>srate</key>
+ <value>samp_rate</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>autoscale</key>
+ <value>False</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>ymin</key>
+ <value>-0.5</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>ymax</key>
+ <value>1.5</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>nconnections</key>
+ <value>1</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(595, 331)</value>
+ <key>update_time</key>
+ <value>0.10</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>entags</key>
+ <value>True</value>
</param>
- </block>
- <block>
- <key>fec_extended_encoder</key>
<param>
- <key>id</key>
- <value>fec_extended_encoder_0</value>
+ <key>gui_hint</key>
+ <value></value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>tr_mode</key>
+ <value>qtgui.TRIG_MODE_FREE</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_cc</value>
+ <key>tr_slope</key>
+ <value>qtgui.TRIG_SLOPE_POS</value>
</param>
<param>
- <key>threadtype</key>
- <value>none</value>
+ <key>tr_level</key>
+ <value>0.0</value>
</param>
<param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>tr_delay</key>
+ <value>0</value>
</param>
<param>
- <key>lentagname</key>
- <value>length_tag</value>
+ <key>tr_chan</key>
+ <value>0</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>tr_tag</key>
+ <value>""</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>label1</key>
+ <value>Input</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>width1</key>
+ <value>1</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>color1</key>
+ <value>"blue"</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(138, 474)</value>
+ <key>style1</key>
+ <value>1</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>marker1</key>
+ <value>-1</value>
</param>
- </block>
- <block>
- <key>analog_random_source_x</key>
<param>
- <key>id</key>
- <value>analog_random_source_x_0</value>
+ <key>alpha1</key>
+ <value>1.0</value>
</param>
<param>
- <key>_enabled</key>
- <value>False</value>
+ <key>label2</key>
+ <value>CC</value>
</param>
<param>
- <key>type</key>
- <value>byte</value>
+ <key>width2</key>
+ <value>1</value>
</param>
<param>
- <key>min</key>
- <value>0</value>
+ <key>color2</key>
+ <value>"red"</value>
</param>
<param>
- <key>max</key>
- <value>256</value>
+ <key>style2</key>
+ <value>1</value>
</param>
<param>
- <key>num_samps</key>
- <value>1000</value>
+ <key>marker2</key>
+ <value>-1</value>
</param>
<param>
- <key>repeat</key>
- <value>True</value>
+ <key>alpha2</key>
+ <value>0.6</value>
</param>
<param>
- <key>alias</key>
+ <key>label3</key>
<value></value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>width3</key>
+ <value>1</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>color3</key>
+ <value>"green"</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>style3</key>
+ <value>1</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(99, 633)</value>
+ <key>marker3</key>
+ <value>-1</value>
</param>
<param>
- <key>_rotation</key>
- <value>180</value>
+ <key>alpha3</key>
+ <value>1.0</value>
</param>
- </block>
- <block>
- <key>variable_cc_encoder_def</key>
<param>
- <key>id</key>
- <value>enc_cc</value>
+ <key>label4</key>
+ <value></value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>width4</key>
+ <value>1</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>color4</key>
+ <value>"black"</value>
</param>
<param>
- <key>ndim</key>
+ <key>style4</key>
<value>1</value>
</param>
<param>
- <key>dim1</key>
- <value>1</value>
+ <key>marker4</key>
+ <value>-1</value>
</param>
<param>
- <key>dim2</key>
- <value>1</value>
+ <key>alpha4</key>
+ <value>1.0</value>
</param>
<param>
- <key>framebits</key>
- <value>MTU*8</value>
+ <key>label5</key>
+ <value></value>
</param>
<param>
- <key>k</key>
- <value>k</value>
+ <key>width5</key>
+ <value>1</value>
</param>
<param>
- <key>rate</key>
- <value>rate</value>
+ <key>color5</key>
+ <value>"cyan"</value>
</param>
<param>
- <key>polys</key>
- <value>polys</value>
+ <key>style5</key>
+ <value>1</value>
</param>
<param>
- <key>state_start</key>
- <value>0</value>
+ <key>marker5</key>
+ <value>-1</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <key>alpha5</key>
+ <value>1.0</value>
</param>
<param>
- <key>alias</key>
+ <key>label6</key>
<value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(759, 735)</value>
+ <key>width6</key>
+ <value>1</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>color6</key>
+ <value>"magenta"</value>
</param>
- </block>
- <block>
- <key>variable_cc_decoder_def</key>
<param>
- <key>id</key>
- <value>dec_cc</value>
+ <key>style6</key>
+ <value>1</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>marker6</key>
+ <value>-1</value>
</param>
<param>
- <key>value</key>
- <value>"ok"</value>
+ <key>alpha6</key>
+ <value>1.0</value>
</param>
<param>
- <key>ndim</key>
- <value>1</value>
+ <key>label7</key>
+ <value></value>
</param>
<param>
- <key>dim1</key>
+ <key>width7</key>
<value>1</value>
</param>
<param>
- <key>dim2</key>
- <value>4</value>
+ <key>color7</key>
+ <value>"yellow"</value>
</param>
<param>
- <key>framebits</key>
- <value>MTU*8</value>
+ <key>style7</key>
+ <value>1</value>
</param>
<param>
- <key>k</key>
- <value>k</value>
+ <key>marker7</key>
+ <value>-1</value>
</param>
<param>
- <key>rate</key>
- <value>rate</value>
+ <key>alpha7</key>
+ <value>1.0</value>
</param>
<param>
- <key>polys</key>
- <value>polys</value>
+ <key>label8</key>
+ <value></value>
</param>
<param>
- <key>state_start</key>
- <value>0</value>
+ <key>width8</key>
+ <value>1</value>
</param>
<param>
- <key>state_end</key>
- <value>-1</value>
+ <key>color8</key>
+ <value>"dark red"</value>
</param>
<param>
- <key>mode</key>
- <value>fec.CC_STREAMING</value>
+ <key>style8</key>
+ <value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>marker8</key>
+ <value>-1</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(1060, 727)</value>
+ <key>alpha8</key>
+ <value>1.0</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>label9</key>
+ <value></value>
</param>
- </block>
- <block>
- <key>blocks_ctrlport_monitor_performance</key>
<param>
- <key>id</key>
- <value>blocks_ctrlport_monitor_performance_0</value>
+ <key>width9</key>
+ <value>1</value>
</param>
<param>
- <key>_enabled</key>
- <value>False</value>
+ <key>color9</key>
+ <value>"dark green"</value>
</param>
<param>
- <key>en</key>
- <value>True</value>
+ <key>style9</key>
+ <value>1</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>marker9</key>
+ <value>-1</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(651, 15)</value>
+ <key>alpha9</key>
+ <value>1.0</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>label10</key>
+ <value></value>
</param>
- </block>
- <block>
- <key>parameter</key>
<param>
- <key>id</key>
- <value>frame_size</value>
+ <key>width10</key>
+ <value>1</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>color10</key>
+ <value>"blue"</value>
</param>
<param>
- <key>label</key>
- <value>Frame Size</value>
+ <key>style10</key>
+ <value>1</value>
</param>
<param>
- <key>value</key>
- <value>6000</value>
+ <key>marker10</key>
+ <value>-1</value>
</param>
<param>
- <key>type</key>
- <value>intx</value>
+ <key>alpha10</key>
+ <value>1.0</value>
</param>
<param>
- <key>short_id</key>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>alias</key>
+ <key>affinity</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(484, 10)</value>
+ <value>(1812, 287)</value>
</param>
<param>
<key>_rotation</key>
@@ -1395,12 +1828,6 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_char_to_float_1_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>1</sink_key>
- </connection>
- <connection>
<source_block_id>fec_extended_encoder_0</source_block_id>
<sink_block_id>digital_map_bb_0</sink_block_id>
<source_key>0</source_key>
@@ -1413,26 +1840,26 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
- <sink_block_id>blocks_char_to_float_0_1</sink_block_id>
+ <source_block_id>blocks_unpack_k_bits_bb_0_0</source_block_id>
+ <sink_block_id>blocks_stream_to_tagged_stream_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>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_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_unpack_k_bits_bb_0_0</source_block_id>
- <sink_block_id>blocks_stream_to_tagged_stream_0_0</sink_block_id>
+ <source_block_id>blocks_char_to_float_1_0</source_block_id>
+ <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_throttle_0</source_block_id>
- <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id>
+ <source_block_id>blocks_char_to_float_0_1</source_block_id>
+ <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
diff --git a/gr-fec/examples/fecapi_tagged_encoders.grc
b/gr-fec/examples/fecapi_tagged_encoders.grc
index d6a0504..649df7d 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 7 19:01:11 2014</timestamp>
+ <timestamp>Mon May 12 15:18:11 2014</timestamp>
<block>
<key>options</key>
<param>
@@ -68,7 +68,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>k</value>
+ <value>length_tag</value>
</param>
<param>
<key>_enabled</key>
@@ -76,7 +76,7 @@
</param>
<param>
<key>value</key>
- <value>7</value>
+ <value>"packet_len"</value>
</param>
<param>
<key>alias</key>
@@ -84,7 +84,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(421, 692)</value>
+ <value>(152, 116)</value>
</param>
<param>
<key>_rotation</key>
@@ -95,7 +95,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
@@ -103,7 +103,7 @@
</param>
<param>
<key>value</key>
- <value>[109, 79]</value>
+ <value>50000</value>
</param>
<param>
<key>alias</key>
@@ -111,7 +111,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(335, 777)</value>
+ <value>(13, 88)</value>
</param>
<param>
<key>_rotation</key>
@@ -122,15 +122,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>
@@ -138,7 +138,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(479, 781)</value>
+ <value>(522, 694)</value>
</param>
<param>
<key>_rotation</key>
@@ -149,15 +149,15 @@
<key>variable</key>
<param>
<key>id</key>
- <value>rate</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
<key>value</key>
- <value>2</value>
+ <value>[79, 109]</value>
</param>
<param>
<key>alias</key>
@@ -165,7 +165,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(522, 694)</value>
+ <value>(479, 781)</value>
</param>
<param>
<key>_rotation</key>
@@ -176,7 +176,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>samp_rate</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
@@ -184,7 +184,7 @@
</param>
<param>
<key>value</key>
- <value>50000</value>
+ <value>[109, 79]</value>
</param>
<param>
<key>alias</key>
@@ -192,7 +192,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(13, 88)</value>
+ <value>(335, 777)</value>
</param>
<param>
<key>_rotation</key>
@@ -203,7 +203,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>length_tag</value>
+ <value>k</value>
</param>
<param>
<key>_enabled</key>
@@ -211,7 +211,7 @@
</param>
<param>
<key>value</key>
- <value>"packet_len"</value>
+ <value>7</value>
</param>
<param>
<key>alias</key>
@@ -219,7 +219,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(152, 116)</value>
+ <value>(421, 692)</value>
</param>
<param>
<key>_rotation</key>
@@ -505,29 +505,29 @@
</param>
</block>
<block>
- <key>blocks_stream_to_tagged_stream</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>blocks_stream_to_tagged_stream_0_0</value>
+ <value>fec_extended_encoder_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>byte</value>
+ <key>encoder_list</key>
+ <value>enc_cc</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>threadtype</key>
+ <value>none</value>
</param>
<param>
- <key>packet_len</key>
- <value>frame_size*8</value>
+ <key>puncpat</key>
+ <value>puncpat</value>
</param>
<param>
- <key>len_tag_key</key>
+ <key>lentagname</key>
<value>length_tag</value>
</param>
<param>
@@ -548,7 +548,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(158, 515)</value>
+ <value>(540, 494)</value>
</param>
<param>
<key>_rotation</key>
@@ -556,30 +556,357 @@
</param>
</block>
<block>
- <key>fec_extended_encoder</key>
+ <key>qtgui_time_sink_x</key>
<param>
<key>id</key>
- <value>fec_extended_encoder_0</value>
+ <value>qtgui_time_sink_x_0_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>encoder_list</key>
- <value>enc_cc</value>
+ <key>type</key>
+ <value>float</value>
</param>
<param>
- <key>threadtype</key>
- <value>none</value>
+ <key>name</key>
+ <value>QT GUI Plot</value>
</param>
<param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>size</key>
+ <value>2048</value>
</param>
<param>
- <key>lentagname</key>
- <value>length_tag</value>
+ <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>1</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>packet_len</value>
+ </param>
+ <param>
+ <key>label1</key>
+ <value>CCSDS</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>CC</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>0.6</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>
+ </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>
+ <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>
+ </param>
+ <param>
+ <key>marker7</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>alpha7</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label8</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width8</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color8</key>
+ <value>"dark red"</value>
+ </param>
+ <param>
+ <key>style8</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>marker8</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>alpha8</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label9</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width9</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color9</key>
+ <value>"dark green"</value>
+ </param>
+ <param>
+ <key>style9</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>marker9</key>
+ <value>-1</value>
+ </param>
+ <param>
+ <key>alpha9</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>label10</key>
+ <value></value>
+ </param>
+ <param>
+ <key>width10</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>color10</key>
+ <value>"blue"</value>
+ </param>
+ <param>
+ <key>style10</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>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1106, 494)</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>
@@ -599,7 +926,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(540, 494)</value>
+ <value>(881, 525)</value>
</param>
<param>
<key>_rotation</key>
@@ -607,50 +934,65 @@
</param>
</block>
<block>
- <key>fec_extended_encoder</key>
+ <key>blocks_ctrlport_monitor_performance</key>
<param>
<key>id</key>
- <value>fec_extended_encoder_0_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>encoder_list</key>
- <value>enc_ccsds</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>threadtype</key>
- <value>none</value>
+ <key>_coordinate</key>
+ <value>(651, 10)</value>
</param>
<param>
- <key>puncpat</key>
- <value>puncpat</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>parameter</key>
<param>
- <key>lentagname</key>
- <value>length_tag</value>
+ <key>id</key>
+ <value>frame_size</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>label</key>
+ <value>Frame Size</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>value</key>
+ <value>30</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <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>(541, 339)</value>
+ <value>(483, 10)</value>
</param>
<param>
<key>_rotation</key>
@@ -677,7 +1019,7 @@
</param>
<param>
<key>dim1</key>
- <value>1</value>
+ <value>2</value>
</param>
<param>
<key>dim2</key>
@@ -713,7 +1055,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(621, 693)</value>
+ <value>(621, 691)</value>
</param>
<param>
<key>_rotation</key>
@@ -721,50 +1063,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_0</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>MTU*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>(915, 695)</value>
+ <value>(880, 370)</value>
</param>
<param>
<key>_rotation</key>
@@ -775,7 +1109,7 @@
<key>qtgui_time_sink_x</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0_0_0</value>
+ <value>qtgui_time_sink_x_0_0</value>
</param>
<param>
<key>_enabled</key>
@@ -1099,7 +1433,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1106, 494)</value>
+ <value>(1111, 339)</value>
</param>
<param>
<key>_rotation</key>
@@ -1107,38 +1441,195 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>fec_extended_encoder</key>
<param>
<key>id</key>
- <value>frame_size</value>
+ <value>fec_extended_encoder_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
- <value>Frame Size</value>
+ <key>encoder_list</key>
+ <value>enc_ccsds</value>
</param>
<param>
- <key>value</key>
- <value>60</value>
+ <key>threadtype</key>
+ <value>none</value>
+ </param>
+ <param>
+ <key>puncpat</key>
+ <value>puncpat</value>
+ </param>
+ <param>
+ <key>lentagname</key>
+ <value>length_tag</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(541, 339)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>blocks_stream_to_tagged_stream</key>
+ <param>
+ <key>id</key>
+ <value>blocks_stream_to_tagged_stream_0_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
<key>type</key>
- <value>intx</value>
+ <value>byte</value>
</param>
<param>
- <key>short_id</key>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>packet_len</key>
+ <value>frame_size*8</value>
+ </param>
+ <param>
+ <key>len_tag_key</key>
+ <value>length_tag</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(158, 515)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_ccsds_encoder_def</key>
+ <param>
+ <key>id</key>
+ <value>enc_ccsds</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>4</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>MTU*8</value>
+ </param>
+ <param>
+ <key>state_start</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>mode</key>
+ <value>fec.CC_TERMINATED</value>
+ </param>
+ <param>
+ <key>alias</key>
<value></value>
</param>
<param>
+ <key>_coordinate</key>
+ <value>(909, 693)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_dummy_encoder_def</key>
+ <param>
+ <key>id</key>
+ <value>enc_dummy</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>"ok"</value>
+ </param>
+ <param>
+ <key>ndim</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim1</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>dim2</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>framebits</key>
+ <value>MTU*8</value>
+ </param>
+ <param>
<key>alias</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(483, 10)</value>
+ <value>(1209, 693)</value>
</param>
<param>
<key>_rotation</key>
@@ -1149,7 +1640,7 @@
<key>qtgui_time_sink_x</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0_0</value>
+ <value>qtgui_time_sink_x_0_0_1</value>
</param>
<param>
<key>_enabled</key>
@@ -1473,7 +1964,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(1111, 339)</value>
+ <value>(1114, 206)</value>
</param>
<param>
<key>_rotation</key>
@@ -1484,7 +1975,7 @@
<key>blocks_char_to_float</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_1_0</value>
+ <value>blocks_char_to_float_1_0_0</value>
</param>
<param>
<key>_enabled</key>
@@ -1516,7 +2007,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(880, 370)</value>
+ <value>(883, 237)</value>
</param>
<param>
<key>_rotation</key>
@@ -1524,22 +2015,30 @@
</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_dummy</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>lentagname</key>
+ <value>length_tag</value>
</param>
<param>
<key>alias</key>
@@ -1559,34 +2058,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(881, 525)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_ctrlport_monitor_performance</key>
- <param>
- <key>id</key>
- <value>blocks_ctrlport_monitor_performance_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>False</value>
- </param>
- <param>
- <key>en</key>
- <value>True</value>
- </param>
- <param>
- <key>alias</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(651, 10)</value>
+ <value>(544, 206)</value>
</param>
<param>
<key>_rotation</key>
@@ -1653,4 +2125,22 @@
<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>
+ </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_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id>
+ <sink_block_id>fec_extended_encoder_0_0_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
</flow_graph>
diff --git a/gr-fec/grc/fec_block_tree.xml b/gr-fec/grc/fec_block_tree.xml
index 4d1a51a..7eabe03 100644
--- a/gr-fec/grc/fec_block_tree.xml
+++ b/gr-fec/grc/fec_block_tree.xml
@@ -12,11 +12,15 @@
<name>Decoders</name>
<block>variable_cc_decoder_def</block>
<block>variable_ccsds_decoder_def</block>
+ <block>variable_repetition_decoder_def</block>
+ <block>variable_dummy_decoder_def</block>
</cat>
<cat>
<name>Encoders</name>
<block>variable_cc_encoder_def</block>
<block>variable_ccsds_encoder_def</block>
+ <block>variable_repetition_encoder_def</block>
+ <block>variable_dummy_encoder_def</block>
</cat>
<block>fec_extended_encoder</block>
<block>fec_extended_decoder</block>
diff --git a/gr-fec/grc/variable_cc_decoder_def_list.xml
b/gr-fec/grc/variable_cc_decoder_def_list.xml
index 57d8ef5..1e17468 100644
--- a/gr-fec/grc/variable_cc_decoder_def_list.xml
+++ b/gr-fec/grc/variable_cc_decoder_def_list.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
###################################################
-# FEC MAKING FOR GREAT JUSTICE
+# FEC CC DECODER
###################################################
-->
<block>
@@ -30,20 +30,19 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a:
fec.cc_decoder.make($frame
<value></value>
<type>enum</type>
<option>
- <name>2</name>
- <key>2</key>
- </option>
- <option>
<name>1</name>
<key>1</key>
</option>
-
+ <option>
+ <name>2</name>
+ <key>2</key>
+ </option>
</param>
<param>
<name>Dimension 1</name>
<key>dim1</key>
- <value>4</value>
+ <value>1</value>
<type>int</type>
<hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide>
</param>
@@ -51,7 +50,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a:
fec.cc_decoder.make($frame
<param>
<name>Dimension 2</name>
<key>dim2</key>
- <value>4</value>
+ <value>1</value>
<type>int</type>
<hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide>
</param>
diff --git a/gr-fec/grc/variable_dummy_decoder_def_list.xml
b/gr-fec/grc/variable_dummy_decoder_def_list.xml
new file mode 100644
index 0000000..2756b58
--- /dev/null
+++ b/gr-fec/grc/variable_dummy_decoder_def_list.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+# FEC DUMMY DECODER
+###################################################
+ -->
+<block>
+ <name>Dummy Decoder Definition</name>
+ <key>variable_dummy_decoder_def</key>
+ <import>from gnuradio import fec</import>
+ <var_make>
+#if int($ndim())==1 #
+self.$(id) = $(id) = map( (lambda a: fec.dummy_decoder.make($framebits)),
range(0,$dim1) ); #slurp
+#else
+self.$(id) = $(id) = map( (lambda b: map( ( lambda a:
fec.dummy_decoder.make($framebits)), range(0,$dim2) ) ), range(0,$dim1)); #slurp
+#end if</var_make>
+ <make></make>
+
+ <param>
+ <name>Ignore Me</name>
+ <key>value</key>
+ <value>"ok"</value>
+ <type>raw</type>
+ <hide>all</hide>
+ </param>
+
+ <param>
+ <name>Threading Dimensions</name>
+ <key>ndim</key>
+ <value></value>
+ <type>enum</type>
+ <option>
+ <name>1</name>
+ <key>1</key>
+ </option>
+ <option>
+ <name>2</name>
+ <key>2</key>
+ </option>
+ </param>
+
+ <param>
+ <name>Dimension 1</name>
+ <key>dim1</key>
+ <value>1</value>
+ <type>int</type>
+ <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide>
+ </param>
+
+ <param>
+ <name>Dimension 2</name>
+ <key>dim2</key>
+ <value>1</value>
+ <type>int</type>
+ <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide>
+ </param>
+
+ <param>
+ <name>Frame Bits</name>
+ <key>framebits</key>
+ <value>2048</value>
+ <type>int</type>
+ </param>
+
+ <doc>
+ </doc>
+</block>
diff --git a/gr-fec/grc/variable_dummy_encoder_def_list.xml
b/gr-fec/grc/variable_dummy_encoder_def_list.xml
new file mode 100644
index 0000000..b599d33
--- /dev/null
+++ b/gr-fec/grc/variable_dummy_encoder_def_list.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+# FEC DUMMY ENCODER
+###################################################
+ -->
+<block>
+ <name>Dummy Encoder Definition</name>
+ <key>variable_dummy_encoder_def</key>
+ <import>from gnuradio import fec</import>
+ <var_make>
+#if int($ndim())==1 #
+self.$(id) = $(id) = map( (lambda a: fec.dummy_encoder_make($framebits)),
range(0,$dim1) ); #slurp
+#else
+self.$(id) = $(id) = map( (lambda b: map( ( lambda a:
fec.dummy_encoder_make($framebits)), range(0,$dim2) ) ), range(0,$dim1)); #slurp
+#end if</var_make>
+ <make></make>
+
+ <param>
+ <name>Ignore Me</name>
+ <key>value</key>
+ <value>"ok"</value>
+ <type>raw</type>
+ <hide>all</hide>
+ </param>
+
+ <param>
+ <name>Threading Dimensions</name>
+ <key>ndim</key>
+ <value></value>
+ <type>enum</type>
+ <option>
+ <name>1</name>
+ <key>1</key>
+ </option>
+ <option>
+ <name>2</name>
+ <key>2</key>
+ </option>
+ </param>
+
+ <param>
+ <name>Dimension 1</name>
+ <key>dim1</key>
+ <value>1</value>
+ <type>int</type>
+ <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide>
+ </param>
+
+ <param>
+ <name>Dimension 2</name>
+ <key>dim2</key>
+ <value>1</value>
+ <type>int</type>
+ <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide>
+ </param>
+
+ <param>
+ <name>Frame Bits</name>
+ <key>framebits</key>
+ <value>2048</value>
+ <type>int</type>
+ </param>
+
+ <doc>
+ </doc>
+</block>
diff --git a/gr-fec/grc/variable_repetition_decoder_def_list.xml
b/gr-fec/grc/variable_repetition_decoder_def_list.xml
new file mode 100644
index 0000000..162b01d
--- /dev/null
+++ b/gr-fec/grc/variable_repetition_decoder_def_list.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+# FEC REPETITION DECODER
+###################################################
+ -->
+<block>
+ <name>Repetition Decoder Definition</name>
+ <key>variable_repetition_decoder_def</key>
+ <import>from gnuradio import fec</import>
+ <var_make>
+#if int($ndim())==1 #
+self.$(id) = $(id) = map( (lambda a: fec.repetition_decoder.make($framebits,
$rep, $prob)), range(0,$dim1) ); #slurp
+#else
+self.$(id) = $(id) = map( (lambda b: map( ( lambda a:
fec.repetition_decoder.make($framebits, $rep, $prob)), range(0,$dim2) ) ),
range(0,$dim1)); #slurp
+#end if</var_make>
+ <make></make>
+
+ <param>
+ <name>Ignore Me</name>
+ <key>value</key>
+ <value>"ok"</value>
+ <type>raw</type>
+ <hide>all</hide>
+ </param>
+
+ <param>
+ <name>Threading Dimensions</name>
+ <key>ndim</key>
+ <value></value>
+ <type>enum</type>
+ <option>
+ <name>1</name>
+ <key>1</key>
+ </option>
+ <option>
+ <name>2</name>
+ <key>2</key>
+ </option>
+ </param>
+
+ <param>
+ <name>Dimension 1</name>
+ <key>dim1</key>
+ <value>1</value>
+ <type>int</type>
+ <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide>
+ </param>
+
+ <param>
+ <name>Dimension 2</name>
+ <key>dim2</key>
+ <value>1</value>
+ <type>int</type>
+ <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide>
+ </param>
+
+ <param>
+ <name>Frame Bits</name>
+ <key>framebits</key>
+ <value>2048</value>
+ <type>int</type>
+ </param>
+
+ <param>
+ <name>Repetitions</name>
+ <key>rep</key>
+ <value>3</value>
+ <type>int</type>
+ </param>
+
+ <param>
+ <name>a prior prob</name>
+ <key>prob</key>
+ <value>0.5</value>
+ <type>float</type>
+ </param>
+
+ <doc>
+ </doc>
+</block>
diff --git a/gr-fec/grc/variable_repetition_encoder_def_list.xml
b/gr-fec/grc/variable_repetition_encoder_def_list.xml
new file mode 100644
index 0000000..615d2b8
--- /dev/null
+++ b/gr-fec/grc/variable_repetition_encoder_def_list.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+# FEC REPETITION ENCODER
+###################################################
+ -->
+<block>
+ <name>Repetition Encoder Definition</name>
+ <key>variable_repetition_encoder_def</key>
+ <import>from gnuradio import fec</import>
+ <var_make>
+#if int($ndim())==1 #
+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
+#end if</var_make>
+ <make></make>
+
+ <param>
+ <name>Ignore Me</name>
+ <key>value</key>
+ <value>"ok"</value>
+ <type>raw</type>
+ <hide>all</hide>
+ </param>
+
+ <param>
+ <name>Threading Dimensions</name>
+ <key>ndim</key>
+ <value></value>
+ <type>enum</type>
+ <option>
+ <name>1</name>
+ <key>1</key>
+ </option>
+ <option>
+ <name>2</name>
+ <key>2</key>
+ </option>
+ </param>
+
+ <param>
+ <name>Dimension 1</name>
+ <key>dim1</key>
+ <value>1</value>
+ <type>int</type>
+ <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide>
+ </param>
+
+ <param>
+ <name>Dimension 2</name>
+ <key>dim2</key>
+ <value>1</value>
+ <type>int</type>
+ <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide>
+ </param>
+
+ <param>
+ <name>Frame Bits</name>
+ <key>framebits</key>
+ <value>2048</value>
+ <type>int</type>
+ </param>
+
+ <param>
+ <name>Repetitions</name>
+ <key>rep</key>
+ <value>3</value>
+ <type>int</type>
+ </param>
+
+ <doc>
+ </doc>
+</block>
diff --git a/gr-fec/include/gnuradio/fec/CMakeLists.txt
b/gr-fec/include/gnuradio/fec/CMakeLists.txt
index 01b1e71..0935b73 100644
--- a/gr-fec/include/gnuradio/fec/CMakeLists.txt
+++ b/gr-fec/include/gnuradio/fec/CMakeLists.txt
@@ -86,6 +86,10 @@ install(FILES
cc_encoder.h
ccsds_decoder.h
ccsds_encoder.h
+ dummy_encoder.h
+ dummy_decoder.h
+ repetition_encoder.h
+ repetition_decoder.h
decode_ccsds_27_fb.h
encode_ccsds_27_bb.h
rs.h
diff --git a/gr-fec/include/gnuradio/fec/dummy_decoder.h
b/gr-fec/include/gnuradio/fec/dummy_decoder.h
new file mode 100644
index 0000000..2786536
--- /dev/null
+++ b/gr-fec/include/gnuradio/fec/dummy_decoder.h
@@ -0,0 +1,76 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FEC_DUMMY_DECODER_H
+#define INCLUDED_FEC_DUMMY_DECODER_H
+
+#include <gnuradio/fec/api.h>
+#include <gnuradio/fec/generic_decoder.h>
+#include <map>
+#include <string>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ /*!
+ * \brief Dummy Decoding class.
+ * \ingroup error_coding_blk
+ *
+ * \details
+ * A dummy decoder class that simply passes the input to the
+ * output. It is meant to allow us to easily use the FECAPI
+ * encoder and decoder blocks in an application with no coding.
+ */
+ class FEC_API dummy_decoder : virtual public generic_decoder
+ {
+ public:
+
+ /*!
+ * Build a dummy decoding FECAPI object.
+ *
+ * \param frame_size Number of bits per frame. If using in the
+ * tagged stream style, this is the maximum allowable
+ * number of bits per frame.
+ */
+ static generic_decoder::sptr make(int frame_size);
+
+ /*!
+ * Sets the uncoded frame size to \p frame_size. If \p
+ * frame_size is greater than the value given to the
+ * constructor, the frame size will be capped by that initial
+ * value and this function will return false. Otherwise, it
+ * returns true.
+ */
+ virtual bool set_frame_size(unsigned int frame_size) = 0;
+
+ /*!
+ * Returns the coding rate of this encoder (it will always be 1).
+ */
+ virtual double rate() = 0;
+ };
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
+
+#endif /* INCLUDED_FEC_DUMMY_DECODER_H */
diff --git a/gr-fec/include/gnuradio/fec/dummy_encoder.h
b/gr-fec/include/gnuradio/fec/dummy_encoder.h
new file mode 100644
index 0000000..35bcf59
--- /dev/null
+++ b/gr-fec/include/gnuradio/fec/dummy_encoder.h
@@ -0,0 +1,76 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FEC_DUMMY_ENCODER_H
+#define INCLUDED_FEC_DUMMY_ENCODER_H
+
+#include <gnuradio/fec/api.h>
+#include <gnuradio/fec/encoder.h>
+#include <map>
+#include <string>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ /*!
+ * \brief Dummy Encoding class.
+ * \ingroup error_coding_blk
+ *
+ * \details
+ * A dummy encoder class that simply passes the input to the
+ * output. It is meant to allow us to easily use the FECAPI
+ * encoder and decoder blocks in an application with no coding.
+ */
+ class FEC_API dummy_encoder : virtual public generic_encoder
+ {
+ public:
+
+ /*!
+ * Build a dummy encoding FECAPI object.
+ *
+ * \param frame_size Number of bits per frame. If using in the
+ * tagged stream style, this is the maximum allowable
+ * number of bits per frame.
+ */
+ static generic_encoder::sptr make(int frame_size);
+
+ /*!
+ * Sets the uncoded frame size to \p frame_size. If \p
+ * frame_size is greater than the value given to the
+ * constructor, the frame size will be capped by that initial
+ * value and this function will return false. Otherwise, it
+ * returns true.
+ */
+ virtual bool set_frame_size(unsigned int frame_size) = 0;
+
+ /*!
+ * Returns the coding rate of this encoder (it will always be 1).
+ */
+ virtual double rate() = 0;
+ };
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
+
+#endif /* INCLUDED_FEC_DUMMY_ENCODER_H */
diff --git a/gr-fec/include/gnuradio/fec/repetition_decoder.h
b/gr-fec/include/gnuradio/fec/repetition_decoder.h
new file mode 100644
index 0000000..c46ee71
--- /dev/null
+++ b/gr-fec/include/gnuradio/fec/repetition_decoder.h
@@ -0,0 +1,82 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FEC_REPETITION_DECODER_H
+#define INCLUDED_FEC_REPETITION_DECODER_H
+
+#include <gnuradio/fec/api.h>
+#include <gnuradio/fec/generic_decoder.h>
+#include <map>
+#include <string>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ /*!
+ * \brief Repetition Decoding class.
+ * \ingroup error_coding_blk
+ *
+ * \details
+ * A repetition decoder class. This takes a majority vote,
+ * biased by the \p ap_prob rate, and decides if the number of 1
+ * bits > ap_prob, it is a 1; else, it is a 0.
+ */
+ class FEC_API repetition_decoder : virtual public generic_decoder
+ {
+ public:
+
+ /*!
+ * Build a repetition decoding FECAPI object.
+ *
+ * \param frame_size Number of bits per frame. If using in the
+ * tagged stream style, this is the maximum allowable
+ * number of bits per frame.
+ * \param rep Repetition rate; encoder rate is rep bits out
+ * for each input bit.
+ * \param ap_prob The a priori probability that a bit is a 1
+ * (generally, unless otherwise known, assume to be
+ * 0.5).
+ */
+ static generic_decoder::sptr make(int frame_size, int rep,
+ float ap_prob=0.5);
+
+ /*!
+ * Sets the uncoded frame size to \p frame_size. If \p
+ * frame_size is greater than the value given to the
+ * constructor, the frame size will be capped by that initial
+ * value and this function will return false. Otherwise, it
+ * returns true.
+ */
+ virtual bool set_frame_size(unsigned int frame_size) = 0;
+
+ /*!
+ * Returns the coding rate of this encoder (it will always be 1).
+ */
+ virtual double rate() = 0;
+ };
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
+
+#endif /* INCLUDED_FEC_REPETITION_DECODER_H */
diff --git a/gr-fec/include/gnuradio/fec/repetition_encoder.h
b/gr-fec/include/gnuradio/fec/repetition_encoder.h
new file mode 100644
index 0000000..700edb8
--- /dev/null
+++ b/gr-fec/include/gnuradio/fec/repetition_encoder.h
@@ -0,0 +1,79 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FEC_REPETITION_ENCODER_H
+#define INCLUDED_FEC_REPETITION_ENCODER_H
+
+#include <gnuradio/fec/api.h>
+#include <gnuradio/fec/encoder.h>
+#include <map>
+#include <string>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ /*!
+ * \brief Repetition Encoding class.
+ * \ingroup error_coding_blk
+ *
+ * \details
+ * A repetition encoder class that repeats each input bit \p rep
+ * times. To decode, take a majority vote over the number of
+ * repetitions.
+ */
+ class FEC_API repetition_encoder : virtual public generic_encoder
+ {
+ public:
+
+ /*!
+ * Build a repetition encoding FECAPI object.
+ *
+ * \param frame_size Number of bits per frame. If using in the
+ * tagged stream style, this is the maximum allowable
+ * number of bits per frame.
+ * \param rep Repetition rate; encoder rate is rep bits out
+ * for each input bit.
+ */
+ static generic_encoder::sptr make(int frame_size,
+ int rep);
+
+ /*!
+ * Sets the uncoded frame size to \p frame_size. If \p
+ * frame_size is greater than the value given to the
+ * constructor, the frame size will be capped by that initial
+ * value and this function will return false. Otherwise, it
+ * returns true.
+ */
+ virtual bool set_frame_size(unsigned int frame_size) = 0;
+
+ /*!
+ * Returns the coding rate of this encoder.
+ */
+ virtual double rate() = 0;
+ };
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
+
+#endif /* INCLUDED_FEC_REPETITION_ENCODER_H */
diff --git a/gr-fec/lib/CMakeLists.txt b/gr-fec/lib/CMakeLists.txt
index aa3f977..abd0769 100644
--- a/gr-fec/lib/CMakeLists.txt
+++ b/gr-fec/lib/CMakeLists.txt
@@ -59,6 +59,10 @@ list(APPEND gnuradio_fec_sources
cc_encoder_impl.cc
ccsds_decoder_impl.cc
ccsds_encoder_impl.cc
+ dummy_decoder_impl.cc
+ dummy_encoder_impl.cc
+ repetition_decoder_impl.cc
+ repetition_encoder_impl.cc
decode_ccsds_27_fb_impl.cc
encode_ccsds_27_bb_impl.cc
ber_tools.cc
diff --git a/gr-fec/lib/dummy_decoder_impl.cc b/gr-fec/lib/dummy_decoder_impl.cc
new file mode 100644
index 0000000..5ab91d0
--- /dev/null
+++ b/gr-fec/lib/dummy_decoder_impl.cc
@@ -0,0 +1,124 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "dummy_decoder_impl.h"
+#include <math.h>
+#include <boost/assign/list_of.hpp>
+#include <volk/volk.h>
+#include <sstream>
+#include <stdio.h>
+#include <vector>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ generic_decoder::sptr
+ dummy_decoder::make(int frame_size)
+ {
+ return generic_decoder::sptr
+ (new dummy_decoder_impl(frame_size));
+ }
+
+ dummy_decoder_impl::dummy_decoder_impl(int frame_size)
+ : generic_decoder("dummy_decoder")
+ {
+ // 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);
+ }
+
+ dummy_decoder_impl::~dummy_decoder_impl()
+ {
+ }
+
+ int
+ dummy_decoder_impl::get_output_size()
+ {
+ //unpacked bits
+ return d_frame_size;
+ }
+
+ int
+ dummy_decoder_impl::get_input_size()
+ {
+ return d_frame_size;
+ }
+
+ int
+ dummy_decoder_impl::get_input_item_size()
+ {
+ return sizeof(float);
+ }
+
+ const char*
+ dummy_decoder_impl::get_input_conversion()
+ {
+ return "none";
+ }
+
+ float
+ dummy_decoder_impl::get_shift()
+ {
+ return 1;
+ }
+
+ bool
+ dummy_decoder_impl::set_frame_size(unsigned int frame_size)
+ {
+ bool ret = true;
+ if(frame_size > d_max_frame_size) {
+ GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max
possible is %2%") \
+ % frame_size % d_max_frame_size);
+ frame_size = d_max_frame_size;
+ ret = false;
+ }
+
+ d_frame_size = frame_size;
+
+ return ret;
+ }
+
+ double
+ dummy_decoder_impl::rate()
+ {
+ return 1.0;
+ }
+
+ void
+ dummy_decoder_impl::generic_work(void *inbuffer, void *outbuffer)
+ {
+ const float *in = (const float*)inbuffer;
+ int8_t *out = (int8_t*)outbuffer;
+
+ //memcpy(out, in, d_frame_size*sizeof(char));
+ volk_32f_s32f_convert_8i(out, in, 1.0/2.0, d_frame_size);
+ }
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
diff --git a/gr-fec/lib/dummy_decoder_impl.h b/gr-fec/lib/dummy_decoder_impl.h
new file mode 100644
index 0000000..4685a86
--- /dev/null
+++ b/gr-fec/lib/dummy_decoder_impl.h
@@ -0,0 +1,61 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FEC_DUMMY_DECODER_IMPL_H
+#define INCLUDED_FEC_DUMMY_DECODER_IMPL_H
+
+#include <map>
+#include <string>
+#include <gnuradio/fec/dummy_decoder.h>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ class FEC_API dummy_decoder_impl : public dummy_decoder
+ {
+ private:
+ //plug into the generic fec api
+ void generic_work(void *inbuffer, void *outbuffer);
+ int get_output_size();
+ int get_input_size();
+ int get_input_item_size();
+ float get_shift();
+ const char* get_input_conversion();
+ //const char* get_output_conversion();
+
+ unsigned int d_max_frame_size;
+ unsigned int d_frame_size;
+
+ public:
+ dummy_decoder_impl(int frame_size);
+ ~dummy_decoder_impl();
+
+ bool set_frame_size(unsigned int frame_size);
+ double rate();
+ };
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
+
+#endif /* INCLUDED_FEC_DUMMY_DECODER_IMPL_H */
diff --git a/gr-fec/lib/dummy_encoder_impl.cc b/gr-fec/lib/dummy_encoder_impl.cc
new file mode 100644
index 0000000..188b07c
--- /dev/null
+++ b/gr-fec/lib/dummy_encoder_impl.cc
@@ -0,0 +1,99 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "dummy_encoder_impl.h"
+#include <gnuradio/fec/generic_encoder.h>
+#include <volk/volk.h>
+#include <sstream>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ generic_encoder::sptr
+ dummy_encoder::make(int frame_size)
+ {
+ return generic_encoder::sptr
+ (new dummy_encoder_impl(frame_size));
+ }
+
+ dummy_encoder_impl::dummy_encoder_impl(int frame_size)
+ : generic_encoder("dummy_encoder")
+ {
+ d_max_frame_size = frame_size;
+ set_frame_size(frame_size);
+ }
+
+ dummy_encoder_impl::~dummy_encoder_impl()
+ {
+ }
+
+ int
+ dummy_encoder_impl::get_output_size()
+ {
+ return d_frame_size;
+ }
+
+ int
+ dummy_encoder_impl::get_input_size()
+ {
+ return d_frame_size;
+ }
+
+ bool
+ dummy_encoder_impl::set_frame_size(unsigned int frame_size)
+ {
+ bool ret = true;
+ if(frame_size > d_max_frame_size) {
+ GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max
possible is %2%") \
+ % frame_size % d_max_frame_size);
+ frame_size = d_max_frame_size;
+ ret = false;
+ }
+
+ d_frame_size = frame_size;
+
+ return ret;
+ }
+
+ double
+ dummy_encoder_impl::rate()
+ {
+ return 1.0;
+ }
+
+ void
+ dummy_encoder_impl::generic_work(void *inbuffer, void *outbuffer)
+ {
+ const unsigned char *in = (const unsigned char*)inbuffer;
+ unsigned char *out = (unsigned char*)outbuffer;
+
+ memcpy(out, in, d_frame_size*sizeof(char));
+ }
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
diff --git a/gr-fec/lib/dummy_encoder_impl.h b/gr-fec/lib/dummy_encoder_impl.h
new file mode 100644
index 0000000..7bfb1cd
--- /dev/null
+++ b/gr-fec/lib/dummy_encoder_impl.h
@@ -0,0 +1,57 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+p * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FEC_DUMMY_ENCODER_IMPL_H
+#define INCLUDED_FEC_DUMMY_ENCODER_IMPL_H
+
+#include <map>
+#include <string>
+#include <gnuradio/fec/dummy_encoder.h>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ class FEC_API dummy_encoder_impl : public dummy_encoder
+ {
+ private:
+ //plug into the generic fec api
+ void generic_work(void *inbuffer, void *outbuffer);
+ int get_output_size();
+ int get_input_size();
+
+ unsigned int d_max_frame_size;
+ unsigned int d_frame_size;
+
+ public:
+ dummy_encoder_impl(int frame_size);
+ ~dummy_encoder_impl();
+
+ bool set_frame_size(unsigned int frame_size);
+ double rate();
+ };
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
+
+#endif /* INCLUDED_FEC_DUMMY_ENCODER_IMPL_H */
diff --git a/gr-fec/lib/repetition_decoder_impl.cc
b/gr-fec/lib/repetition_decoder_impl.cc
new file mode 100644
index 0000000..b7b3f00
--- /dev/null
+++ b/gr-fec/lib/repetition_decoder_impl.cc
@@ -0,0 +1,144 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "repetition_decoder_impl.h"
+#include <math.h>
+#include <boost/assign/list_of.hpp>
+#include <volk/volk.h>
+#include <sstream>
+#include <stdio.h>
+#include <vector>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ generic_decoder::sptr
+ repetition_decoder::make(int frame_size, int rep,
+ float ap_prob)
+ {
+ return generic_decoder::sptr
+ (new repetition_decoder_impl(frame_size, rep,
+ ap_prob));
+ }
+
+ repetition_decoder_impl::repetition_decoder_impl(int frame_size, int rep,
+ float ap_prob)
+ : generic_decoder("repetition_decoder")
+ {
+ // 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);
+
+ if(rep < 0)
+ throw std::runtime_error("repetition_encoder: repetition rate must
be >= 0");
+ if((ap_prob < 0) || (ap_prob > 1.0))
+ throw std::runtime_error("repetition_encoder: a priori probability
rate must be in [0, 1]");
+
+ d_rep = rep;
+ d_ap_prob = ap_prob;
+ d_trials.resize(d_rep);
+ }
+
+ repetition_decoder_impl::~repetition_decoder_impl()
+ {
+ }
+
+ int
+ repetition_decoder_impl::get_output_size()
+ {
+ //unpacked bits
+ return d_frame_size;
+ }
+
+ int
+ repetition_decoder_impl::get_input_size()
+ {
+ return d_frame_size*d_rep;
+ }
+
+ int
+ repetition_decoder_impl::get_input_item_size()
+ {
+ return sizeof(float);
+ }
+
+ const char*
+ repetition_decoder_impl::get_input_conversion()
+ {
+ return "none";
+ }
+
+ float
+ repetition_decoder_impl::get_shift()
+ {
+ return 0;
+ }
+
+ bool
+ repetition_decoder_impl::set_frame_size(unsigned int frame_size)
+ {
+ bool ret = true;
+ if(frame_size > d_max_frame_size) {
+ GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max
possible is %2%") \
+ % frame_size % d_max_frame_size);
+ frame_size = d_max_frame_size;
+ ret = false;
+ }
+
+ d_frame_size = frame_size;
+
+ return ret;
+ }
+
+ double
+ repetition_decoder_impl::rate()
+ {
+ return 1.0/static_cast<double>(d_rep);
+ }
+
+ void
+ repetition_decoder_impl::generic_work(void *inbuffer, void *outbuffer)
+ {
+ const float *in = (const float*)inbuffer;
+ int8_t *out = (int8_t*)outbuffer;
+
+ for(unsigned int i = 0; i < d_frame_size; i++) {
+ for(unsigned int r = 0; r < d_rep; r++) {
+ d_trials[r] = (in[d_rep*i + r] > 0) ? 1.0f : 0.0f;
+ }
+ float res = std::count(d_trials.begin(), d_trials.end(), 1.0f);
+ if((res / static_cast<float>(d_rep)) > d_ap_prob)
+ out[i] = 1;
+ else
+ out[i] = 0;
+ }
+ }
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
diff --git a/gr-fec/lib/repetition_decoder_impl.h
b/gr-fec/lib/repetition_decoder_impl.h
new file mode 100644
index 0000000..33fb174
--- /dev/null
+++ b/gr-fec/lib/repetition_decoder_impl.h
@@ -0,0 +1,67 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FEC_REPETITION_DECODER_IMPL_H
+#define INCLUDED_FEC_REPETITION_DECODER_IMPL_H
+
+#include <vector>
+#include <algorithm>
+#include <string>
+#include <gnuradio/fec/repetition_decoder.h>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ class FEC_API repetition_decoder_impl : public repetition_decoder
+ {
+ private:
+ //plug into the generic fec api
+ void generic_work(void *inbuffer, void *outbuffer);
+ int get_output_size();
+ int get_input_size();
+ int get_input_item_size();
+ float get_shift();
+ const char* get_input_conversion();
+ //const char* get_output_conversion();
+
+ unsigned int d_max_frame_size;
+ unsigned int d_frame_size;
+ unsigned int d_rep;
+ float d_ap_prob;
+
+ std::vector<float> d_trials;
+
+ public:
+ repetition_decoder_impl(int frame_size, int rep,
+ float ap_prob=0.5);
+ ~repetition_decoder_impl();
+
+ bool set_frame_size(unsigned int frame_size);
+ double rate();
+ };
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
+
+#endif /* INCLUDED_FEC_REPETITION_DECODER_IMPL_H */
diff --git a/gr-fec/lib/repetition_encoder_impl.cc
b/gr-fec/lib/repetition_encoder_impl.cc
new file mode 100644
index 0000000..a608ed6
--- /dev/null
+++ b/gr-fec/lib/repetition_encoder_impl.cc
@@ -0,0 +1,108 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "repetition_encoder_impl.h"
+#include <gnuradio/fec/generic_encoder.h>
+#include <volk/volk.h>
+#include <sstream>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ generic_encoder::sptr
+ repetition_encoder::make(int frame_size, int rep)
+ {
+ return generic_encoder::sptr
+ (new repetition_encoder_impl(frame_size, rep));
+ }
+
+ repetition_encoder_impl::repetition_encoder_impl(int frame_size, int rep)
+ : generic_encoder("repetition_encoder")
+ {
+ d_max_frame_size = frame_size;
+ set_frame_size(frame_size);
+
+ if(rep < 0)
+ throw std::runtime_error("repetition_encoder: repetition rate must
be >= 0");
+
+ d_rep = rep;
+ }
+
+ repetition_encoder_impl::~repetition_encoder_impl()
+ {
+ }
+
+ int
+ repetition_encoder_impl::get_output_size()
+ {
+ return d_frame_size*d_rep;
+ }
+
+ int
+ repetition_encoder_impl::get_input_size()
+ {
+ return d_frame_size;
+ }
+
+ bool
+ repetition_encoder_impl::set_frame_size(unsigned int frame_size)
+ {
+ bool ret = true;
+ if(frame_size > d_max_frame_size) {
+ GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max
possible is %2%") \
+ % frame_size % d_max_frame_size);
+ frame_size = d_max_frame_size;
+ ret = false;
+ }
+
+ d_frame_size = frame_size;
+
+ return ret;
+ }
+
+ double
+ repetition_encoder_impl::rate()
+ {
+ return 1.0/static_cast<double>(d_rep);
+ }
+
+ void
+ repetition_encoder_impl::generic_work(void *inbuffer, void *outbuffer)
+ {
+ const unsigned char *in = (const unsigned char*)inbuffer;
+ unsigned char *out = (unsigned char*)outbuffer;
+
+ for(unsigned int i = 0; i < d_frame_size; i++) {
+ for(unsigned int r = 0; r < d_rep; r++) {
+ out[d_rep*i + r] = in[i];
+ }
+ }
+ }
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
diff --git a/gr-fec/lib/repetition_encoder_impl.h
b/gr-fec/lib/repetition_encoder_impl.h
new file mode 100644
index 0000000..4730110
--- /dev/null
+++ b/gr-fec/lib/repetition_encoder_impl.h
@@ -0,0 +1,58 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2014 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+p * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FEC_REPETITION_ENCODER_IMPL_H
+#define INCLUDED_FEC_REPETITION_ENCODER_IMPL_H
+
+#include <map>
+#include <string>
+#include <gnuradio/fec/repetition_encoder.h>
+
+namespace gr {
+ namespace fec {
+ namespace code {
+
+ class FEC_API repetition_encoder_impl : public repetition_encoder
+ {
+ private:
+ //plug into the generic fec api
+ void generic_work(void *inbuffer, void *outbuffer);
+ int get_output_size();
+ int get_input_size();
+
+ unsigned int d_max_frame_size;
+ unsigned int d_frame_size;
+ unsigned int d_rep;
+
+ public:
+ repetition_encoder_impl(int frame_size, int rep);
+ ~repetition_encoder_impl();
+
+ bool set_frame_size(unsigned int frame_size);
+ double rate();
+ };
+
+ } /* namespace code */
+ } /* namespace fec */
+} /* namespace gr */
+
+#endif /* INCLUDED_FEC_REPETITION_ENCODER_IMPL_H */
diff --git a/gr-fec/python/fec/CMakeLists.txt b/gr-fec/python/fec/CMakeLists.txt
index c8694f4..2e435ba 100644
--- a/gr-fec/python/fec/CMakeLists.txt
+++ b/gr-fec/python/fec/CMakeLists.txt
@@ -31,7 +31,6 @@ GR_PYTHON_INSTALL(
threaded_decoder.py
threaded_encoder.py
fec_test.py
- fec_raw_test.py
bercurve_generator.py
DESTINATION ${GR_PYTHON_DIR}/gnuradio/fec
COMPONENT "fec_python"
diff --git a/gr-fec/python/fec/__init__.py b/gr-fec/python/fec/__init__.py
index 7600856..96be81c 100644
--- a/gr-fec/python/fec/__init__.py
+++ b/gr-fec/python/fec/__init__.py
@@ -41,5 +41,4 @@ from capillary_threaded_encoder import
capillary_threaded_encoder
from fec_test import fec_test
-from fec_raw_test import fec_raw_test
from bercurve_generator import bercurve_generator
diff --git a/gr-fec/python/fec/bercurve_generator.py
b/gr-fec/python/fec/bercurve_generator.py
index 9b9aef2..ee51493 100644
--- a/gr-fec/python/fec/bercurve_generator.py
+++ b/gr-fec/python/fec/bercurve_generator.py
@@ -24,7 +24,6 @@ from gnuradio import gr, blocks
import numpy
from fec_test import fec_test
-from fec_raw_test import fec_raw_test
class bercurve_generator(gr.hier_block2):
@@ -46,18 +45,13 @@ class bercurve_generator(gr.hier_block2):
self.connect(self.random_gen_b_0, self.deinterleave)
self.ber_generators = []
for i in range(0, len(esno)):
- if(encoder_list is None):
- ber_generator_temp = fec_raw_test(
- esno=esno[i],
- samp_rate=samp_rate)
- else:
- ber_generator_temp = fec_test(
- generic_encoder=encoder_list[i],
- generic_decoder=decoder_list[i],
- esno=esno[i],
- samp_rate=samp_rate,
- threading=threading,
- puncpat=puncpat)
+ ber_generator_temp = fec_test(
+ generic_encoder=encoder_list[i],
+ generic_decoder=decoder_list[i],
+ esno=esno[i],
+ samp_rate=samp_rate,
+ threading=threading,
+ puncpat=puncpat)
self.ber_generators.append(ber_generator_temp);
for i in range(0, len(esno)):
diff --git a/gr-fec/python/fec/fec_raw_test.py
b/gr-fec/python/fec/fec_raw_test.py
deleted file mode 100644
index e06ff0b..0000000
--- a/gr-fec/python/fec/fec_raw_test.py
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2014 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-from gnuradio import gr, blocks, analog
-import math
-
-class fec_raw_test(gr.hier_block2):
-
- def __init__(self, esno=0, samp_rate=3200000):
- gr.hier_block2.__init__(
- self, "fec_raw_test",
- gr.io_signature(1, 1, gr.sizeof_char*1),
- gr.io_signature(2, 2, gr.sizeof_char*1))
-
- self.esno = esno
- self.samp_rate = samp_rate
-
- self.gr_unpacked_to_packed_xx_0_0 = blocks.unpacked_to_packed_bb(1,
gr.GR_LSB_FIRST)
- self.gr_unpacked_to_packed_xx_0 = blocks.unpacked_to_packed_bb(1,
gr.GR_LSB_FIRST)
- self.char_to_float = blocks.char_to_float()
- self.float_to_char = blocks.float_to_char()
- self.gr_throttle_0 = blocks.throttle(gr.sizeof_char*1, samp_rate)
-
- noise = math.sqrt((10.0**(-esno/10.0))/2.0)
- self.fastnoise = analog.fastnoise_source_f(analog.GR_GAUSSIAN, noise,
0, 8192)
- self.gaussnoise_ff_0 = blocks.add_ff(1)
- self.connect(self.fastnoise, (self.gaussnoise_ff_0,1))
-
- self.connect((self.gr_unpacked_to_packed_xx_0_0, 0), (self, 0))
- self.connect((self.gr_unpacked_to_packed_xx_0, 0), (self, 1))
- self.connect((self.gr_throttle_0, 0),
(self.gr_unpacked_to_packed_xx_0, 0))
- self.connect((self.gaussnoise_ff_0, 0), (self.float_to_char, 0))
- self.connect((self.float_to_char, 0),
(self.gr_unpacked_to_packed_xx_0_0, 0))
- self.connect(self, (self.gr_throttle_0, 0))
- self.connect((self.gr_throttle_0, 0), (self.char_to_float, 0))
- self.connect((self.char_to_float, 0), (self.gaussnoise_ff_0, 0))
-
- def get_generic_encoder(self):
- return None
-
- def set_generic_encoder(self, generic_encoder):
- pass
-
- def get_generic_decoder(self):
- return None
-
- def set_generic_decoder(self, generic_decoder):
- pass
-
- def get_esno(self):
- return self.esno
-
- def set_esno(self, esno):
- self.esno = esno
-
- def get_samp_rate(self):
- return self.samp_rate
-
- def set_samp_rate(self, samp_rate):
- self.samp_rate = samp_rate
-
- def get_threading(self):
- return None
-
- def set_threading(self, threading):
- pass
-
- def get_puncpat(self):
- return None
-
- def set_puncpat(self, puncpat):
- pass
diff --git a/gr-fec/python/fec/fec_test.py b/gr-fec/python/fec/fec_test.py
index b1bad94..cacbb35 100644
--- a/gr-fec/python/fec/fec_test.py
+++ b/gr-fec/python/fec/fec_test.py
@@ -21,7 +21,7 @@
#
from gnuradio.fec.bitflip import read_bitlist
-from gnuradio import gr, blocks, analog
+from gnuradio import gr, blocks, analog, digital
import math
from extended_encoder import extended_encoder
@@ -43,32 +43,41 @@ class fec_test(gr.hier_block2):
self.threading = threading
self.puncpat = puncpat
- self.gr_unpacked_to_packed_xx_0_0 = blocks.unpacked_to_packed_bb(1,
gr.GR_LSB_FIRST)
- self.gr_unpacked_to_packed_xx_0 = blocks.unpacked_to_packed_bb(1,
gr.GR_LSB_FIRST)
- self.gr_throttle_0 = blocks.throttle(gr.sizeof_char*1, samp_rate)
- self.encoder_interface_0 =
extended_encoder(encoder_obj_list=generic_encoder,
- threading='capillary',
- puncpat=puncpat)
+ self.map_bb = digital.map_bb(([-1, 1]))
+ self.b2f = blocks.char_to_float(1, 1)
+
+ self.unpack8 = blocks.unpack_k_bits_bb(8)
+ self.pack8 = blocks.pack_k_bits_bb(8)
+
+ self.encoder = extended_encoder(encoder_obj_list=generic_encoder,
+ threading='capillary',
+ puncpat=puncpat)
+
+ self.decoder = extended_decoder(decoder_obj_list=generic_decoder,
+ threading='capillary',
+ ann=None, puncpat=puncpat,
+ integration_period=10000, rotator=None)
noise = math.sqrt((10.0**(-esno/10.0))/2.0)
self.fastnoise = analog.fastnoise_source_f(analog.GR_GAUSSIAN, noise,
0, 8192)
- self.gaussnoise_ff_0 = blocks.add_ff(1)
- self.connect(self.fastnoise, (self.gaussnoise_ff_0,1))
-
- self.decoder_interface_0 =
extended_decoder(decoder_obj_list=generic_decoder,
- threading='capillary',
- ann=None, puncpat=puncpat,
- integration_period=10000,
rotator=None)
-
- self.connect((self.gr_unpacked_to_packed_xx_0_0, 0), (self, 0))
- self.connect((self.gr_unpacked_to_packed_xx_0, 0), (self, 1))
- self.connect((self.gr_throttle_0, 0),
(self.gr_unpacked_to_packed_xx_0, 0))
-
- self.connect((self.decoder_interface_0, 0),
(self.gr_unpacked_to_packed_xx_0_0, 0))
- self.connect((self.gaussnoise_ff_0, 0), (self.decoder_interface_0, 0))
- self.connect(self, (self.gr_throttle_0, 0))
- self.connect((self.gr_throttle_0, 0), (self.encoder_interface_0, 0))
- self.connect((self.encoder_interface_0, 0), (self.gaussnoise_ff_0, 0))
+ self.addnoise = blocks.add_ff(1)
+
+ # Send packed input directly to the second output
+ self.copy_packed = blocks.copy(gr.sizeof_char)
+ self.connect(self, self.copy_packed)
+ self.connect(self.copy_packed, (self, 1))
+
+ # Unpack inputl encode, convert to +/-1, add noise, decode, repack
+ self.connect(self, self.unpack8)
+ self.connect(self.unpack8, self.encoder)
+ self.connect(self.encoder, self.map_bb)
+ self.connect(self.map_bb, self.b2f)
+ self.connect(self.b2f, (self.addnoise, 0))
+ self.connect(self.fastnoise, (self.addnoise,1))
+ self.connect(self.addnoise, self.decoder)
+ self.connect(self.decoder, self.pack8)
+ self.connect(self.pack8, (self, 0))
+
def get_generic_encoder(self):
return self.generic_encoder
diff --git a/gr-fec/python/fec/threaded_encoder.py
b/gr-fec/python/fec/threaded_encoder.py
index 568aaa4..391baa5 100644
--- a/gr-fec/python/fec/threaded_encoder.py
+++ b/gr-fec/python/fec/threaded_encoder.py
@@ -20,7 +20,7 @@
# Boston, MA 02110-1301, USA.
#
-from gnuradio import gr
+from gnuradio import gr, blocks
import fec_swig as fec
class threaded_encoder(gr.hier_block2):
diff --git a/gr-fec/swig/fec_swig.i b/gr-fec/swig/fec_swig.i
index ae9b663..54924a1 100644
--- a/gr-fec/swig/fec_swig.i
+++ b/gr-fec/swig/fec_swig.i
@@ -46,6 +46,10 @@
#include "gnuradio/fec/cc_encoder.h"
#include "gnuradio/fec/ccsds_decoder.h"
#include "gnuradio/fec/ccsds_encoder.h"
+#include "gnuradio/fec/dummy_decoder.h"
+#include "gnuradio/fec/dummy_encoder.h"
+#include "gnuradio/fec/repetition_decoder.h"
+#include "gnuradio/fec/repetition_encoder.h"
#include "gnuradio/fec/decode_ccsds_27_fb.h"
#include "gnuradio/fec/encode_ccsds_27_bb.h"
#include "gnuradio/fec/ber_bf.h"
@@ -65,6 +69,10 @@
%include "gnuradio/fec/cc_encoder.h"
%include "gnuradio/fec/ccsds_decoder.h"
%include "gnuradio/fec/ccsds_encoder.h"
+%include "gnuradio/fec/dummy_decoder.h"
+%include "gnuradio/fec/dummy_encoder.h"
+%include "gnuradio/fec/repetition_decoder.h"
+%include "gnuradio/fec/repetition_encoder.h"
%include "gnuradio/fec/decode_ccsds_27_fb.h"
%include "gnuradio/fec/encode_ccsds_27_bb.h"
%include "gnuradio/fec/ber_bf.h"
- [Commit-gnuradio] [gnuradio] 50/57: fec: wip: adding concept of padding for CC encoder/decoder., (continued)
- [Commit-gnuradio] [gnuradio] 50/57: fec: wip: adding concept of padding for CC encoder/decoder., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 54/57: fec: mostly documentation updates, spell check, etc., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 55/57: fec: wip: fixing up allocated memory; allowing async encoder deployment to be used with CCSDS (packed input requirement)., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 41/57: digital: adding an async message passsing CRC32 calc/check block for PDUs., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 38/57: fec: wip: cleaning up tagged decoder, rep code., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 57/57: digital: fixing up some work done in the fec api development., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 40/57: fec: wip: adding async (PDU) encoder and decoder blocks., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 36/57: fec: wip: mods for ber plotting. Now adding theoretical BPSK in AWGN curve., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 52/57: fec: wip: async encoder/decoder working deployments., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 16/57: fec: Merging fecapi with support for CC code., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 33/57: fec: wip: adding a dummy encoder/decoder and repetition code to exercise the API.,
git <=
- [Commit-gnuradio] [gnuradio] 49/57: blocks: adding reverse packing/unpacking functions., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 28/57: fec: updating puncturing, adding documentation, adding CCSDS encoder., git, 2014/05/20
- [Commit-gnuradio] [gnuradio] 05/57: codec2 library update, git, 2014/05/20