summaryrefslogtreecommitdiff
path: root/gr-fec/python/fec/extended_encoder.py
diff options
context:
space:
mode:
Diffstat (limited to 'gr-fec/python/fec/extended_encoder.py')
-rw-r--r--gr-fec/python/fec/extended_encoder.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/gr-fec/python/fec/extended_encoder.py b/gr-fec/python/fec/extended_encoder.py
index b7f414cccb..0e4bc0901f 100644
--- a/gr-fec/python/fec/extended_encoder.py
+++ b/gr-fec/python/fec/extended_encoder.py
@@ -29,27 +29,36 @@ from bitflip import read_bitlist
class extended_encoder(gr.hier_block2):
def __init__(self, encoder_obj_list, threading, puncpat=None):
- gr.hier_block2.__init__(
- self, "extended_encoder",
- gr.io_signature(1, 1, gr.sizeof_char),
- gr.io_signature(1, 1, gr.sizeof_float))
+ gr.hier_block2.__init__(self, "extended_encoder",
+ gr.io_signature(1, 1, gr.sizeof_char),
+ gr.io_signature(1, 1, gr.sizeof_char))
self.blocks=[]
self.puncpat=puncpat
if threading == 'capillary':
- self.blocks.append(capillary_threaded_encoder(encoder_obj_list))
+ self.blocks.append(capillary_threaded_encoder(encoder_obj_list,
+ gr.sizeof_char,
+ gr.sizeof_char))
elif threading == 'ordinary':
- self.blocks.append(threaded_encoder(encoder_obj_list))
+ self.blocks.append(threaded_encoder(encoder_obj_list,
+ gr.sizeof_char,
+ gr.sizeof_char))
else:
- self.blocks.append(fec.encoder(encoder_obj_list[0]))
+ self.blocks.append(fec.encoder(encoder_obj_list[0],
+ gr.sizeof_char,
+ gr.sizeof_char))
if self.puncpat != '11':
- self.blocks.append(fec.puncture_ff(0, read_bitlist(puncpat),
+ self.blocks.append(fec.puncture_bb(0, read_bitlist(puncpat),
puncpat.count('0'), len(puncpat)))
+ # Connect the input to the encoder and the output to the
+ # puncture if used or the encoder if not.
self.connect((self, 0), (self.blocks[0], 0));
self.connect((self.blocks[-1], 0), (self, 0));
+ # If using the puncture block, add it into the flowgraph after
+ # the encoder.
for i in range(len(self.blocks) - 1):
self.connect((self.blocks[i], 0), (self.blocks[i+1], 0));