diff options
author | Martin Braun <martin.braun@kit.edu> | 2013-11-02 16:01:46 +0100 |
---|---|---|
committer | Martin Braun <martin.braun@kit.edu> | 2013-11-03 19:20:56 +0100 |
commit | 909251e6082c83a3211369a494152199bbaef00a (patch) | |
tree | c2794ae7fe2f9280a7ce81576612daf5f03f9621 /gr-digital/python/digital/ofdm_txrx.py | |
parent | a4225692e6f3db974dcbda9d93ede13a561029a6 (diff) |
digital: OFDM Tx hier block preserves head tag position
Diffstat (limited to 'gr-digital/python/digital/ofdm_txrx.py')
-rw-r--r-- | gr-digital/python/digital/ofdm_txrx.py | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/gr-digital/python/digital/ofdm_txrx.py b/gr-digital/python/digital/ofdm_txrx.py index 06e375e3d6..b04c42cbfa 100644 --- a/gr-digital/python/digital/ofdm_txrx.py +++ b/gr-digital/python/digital/ofdm_txrx.py @@ -194,7 +194,11 @@ class ofdm_tx(gr.hier_block2): scramble_header=scramble_bits ) header_gen = digital.packet_headergenerator_bb(formatter_object.base(), self.packet_length_tag_key) - header_payload_mux = blocks.tagged_stream_mux(gr.sizeof_gr_complex*1, self.packet_length_tag_key) + header_payload_mux = blocks.tagged_stream_mux( + itemsize=gr.sizeof_gr_complex*1, + lengthtagname=self.packet_length_tag_key, + tag_preserve_head_pos=1 # Head tags on the payload stream stay on the head + ) self.connect( self, crc, @@ -212,17 +216,18 @@ class ofdm_tx(gr.hier_block2): self.scramble_seed, 7, 0, # Don't reset after fixed length (let the reset tag do that) - bits_per_byte=bps_payload, + bits_per_byte=8, # This is before unpacking reset_tag_key=self.packet_length_tag_key ) + payload_unpack = blocks.repack_bits_bb( + 8, # Unpack 8 bits per byte + bps_payload, + self.packet_length_tag_key + ) self.connect( crc, payload_scrambler, - blocks.repack_bits_bb( - 8, # Unpack 8 bits per byte - bps_payload, - self.packet_length_tag_key - ), + payload_unpack, payload_mod, (header_payload_mux, 1) ) @@ -418,10 +423,10 @@ class ofdm_rx(gr.hier_block2): self.scramble_seed, 7, 0, # Don't reset after fixed length - bits_per_byte=bps_payload, + bits_per_byte=8, # This is after packing reset_tag_key=self.packet_length_tag_key ) - repack = blocks.repack_bits_bb(bps_payload, 8, self.packet_length_tag_key, True) + payload_pack = blocks.repack_bits_bb(bps_payload, 8, self.packet_length_tag_key, True) self.crc = digital.crc32_bb(True, self.packet_length_tag_key) self.connect( (hpd, 1), @@ -429,7 +434,7 @@ class ofdm_rx(gr.hier_block2): payload_eq, payload_serializer, payload_demod, - repack, + payload_pack, self.payload_descrambler, self.crc, self @@ -440,7 +445,7 @@ class ofdm_rx(gr.hier_block2): self.connect(payload_eq, blocks.file_sink(gr.sizeof_gr_complex*fft_len, 'post-payload-eq.dat')) self.connect(payload_serializer, blocks.file_sink(gr.sizeof_gr_complex, 'post-payload-serializer.dat')) self.connect(payload_demod, blocks.file_sink(1, 'post-payload-demod.dat')) - self.connect(repack, blocks.file_sink(1, 'post-payload-repack.dat')) + self.connect(payload_pack, blocks.file_sink(1, 'post-payload-pack.dat')) self.connect(crc, blocks.file_sink(1, 'post-payload-crc.dat')) |