GNU Radio 3.6.5 C++ API

gr::blocks::repack_bits_bb Class Reference

Pack k bits from the input stream onto l bits of the output stream. More...

#include <repack_bits_bb.h>

Inheritance diagram for gr::blocks::repack_bits_bb:
gr_tagged_stream_block gr_block gr_basic_block gr_msg_accepter gruel::msg_accepter gr::blocks::repack_bits_bb_impl

List of all members.

Public Types

typedef boost::shared_ptr
< repack_bits_bb
sptr

Static Public Member Functions

static sptr make (int k, int l=8, const std::string &len_tag_key="", bool align_output=false)

Detailed Description

Pack k bits from the input stream onto l bits of the output stream.

No bits are lost here; any value for k and l (within [1, 8]) is allowed. On every fresh input byte, it starts reading on the LSB, and starts copying to the LSB as well.

If a packet length tag is given, this block assumes a tagged stream. In this case, the tag with the packet length is updated accordingly. Also, the number of input bits is padded with zeros if the number of input bits is not an integer multiple of l, or bits are truncated from the input if align_output is set to true.


Member Typedef Documentation


Member Function Documentation

static sptr gr::blocks::repack_bits_bb::make ( int  k,
int  l = 8,
const std::string &  len_tag_key = "",
bool  align_output = false 
) [static]
Parameters:
kNumber of relevant bits on the input stream
lNumber of relevant bits on the output stream
len_tag_keyIf not empty, this is the key for the length tag.
align_outputIf len_tag_key is given, this controls if the input or the output is aligned.

The documentation for this class was generated from the following file: