diff options
author | tracierenea <tracie.perez@mavs.uta.edu> | 2016-03-23 15:40:03 -0500 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2016-03-27 06:21:47 -0700 |
commit | 65d52f79c13db74d5244f0f3dc76489d1942199b (patch) | |
tree | 645f51c7510d908757b21f2ec94ac0773c6e2ed3 /gr-fec | |
parent | bfeb3604f999dfb34d70979981a5fa07ea10b92a (diff) |
gr-fec: Adding doc in BER Curve Gen. block re: parallelism.
Adding documentation regarding parallelism configuration requirements for using the BER Curve Gen. block. Also adding a FIXME note so that we can better address this in the future. These notes are my understanding after getting clarification from Tom on how the parallelism feature behaves in this case.
Diffstat (limited to 'gr-fec')
-rw-r--r-- | gr-fec/grc/fec_bercurve_generator.xml | 9 | ||||
-rw-r--r-- | gr-fec/python/fec/bercurve_generator.py | 6 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gr-fec/grc/fec_bercurve_generator.xml b/gr-fec/grc/fec_bercurve_generator.xml index 4d0d47e15b..5dfc7c6714 100644 --- a/gr-fec/grc/fec_bercurve_generator.xml +++ b/gr-fec/grc/fec_bercurve_generator.xml @@ -91,5 +91,14 @@ </source> <doc> + Note that this block tries to launch many parallel codes to run simultaneously. Thus, it requires that the definitions for each encoder and decoder (specified in the "Encoder list" and "Decoder list") be configured with a parallelism > 0. If the parallelism for one of the encoder or decoder definition blocks is configured to 0, you will likely see an error like: + + generic_decoder=decoder_list[i], + TypeError: 'generic_decoder_sptr' object does not support indexing + + or + + generic_encoder=encoder_list[i], + TypeError: 'generic_encoder_sptr' object does not support indexing </doc> </block> diff --git a/gr-fec/python/fec/bercurve_generator.py b/gr-fec/python/fec/bercurve_generator.py index e67d1e17c2..3221a683ce 100644 --- a/gr-fec/python/fec/bercurve_generator.py +++ b/gr-fec/python/fec/bercurve_generator.py @@ -44,6 +44,12 @@ class bercurve_generator(gr.hier_block2): self.deinterleave = blocks.deinterleave(gr.sizeof_char*1) self.connect(self.random_gen_b_0, self.deinterleave) self.ber_generators = [] + + # FIXME It would be good to check that the encoder_list and + # decoder_list have parallelism set to > 0. If parallelism + # is set to 0, a map isn't passed and an indexing error is + # thrown on line 53 or 54 below. + for i in range(0, len(esno)): ber_generator_temp = fec_test( generic_encoder=encoder_list[i], |