Converts a vector of bytes with 1 bit in the LSB to a byte with k relevant bits. More...
#include <gnuradio/blocks/pack_k_bits.h>
| Public Member Functions | |
| pack_k_bits (unsigned k) | |
| Make a pack_k_bits object. | |
| ~pack_k_bits () | |
| void | pack (unsigned char *bytes, const unsigned char *bits, int nbytes) const | 
| Perform the packing. | |
| void | pack_rev (unsigned char *bytes, const unsigned char *bits, int nbytes) const | 
| int | k () const | 
Converts a vector of bytes with 1 bit in the LSB to a byte with k relevant bits.
Example: k = 4 in = [0,1,0,1, 0x81,0x00,0x00,0x00] out = [0x05, 0x08]
k = 8 in = [1,1,1,1, 0,1,0,1, 0,0,0,0, 1,0,0,0] out = [0xf5, 0x08]
| gr::blocks::kernel::pack_k_bits::pack_k_bits | ( | unsigned | k | ) | 
| gr::blocks::kernel::pack_k_bits::~pack_k_bits | ( | ) | 
| int gr::blocks::kernel::pack_k_bits::k | ( | ) | const | 
Referenced by pack_k_bits().
| void gr::blocks::kernel::pack_k_bits::pack | ( | unsigned char * | bytes, | 
| const unsigned char * | bits, | ||
| int | nbytes ) const | 
Perform the packing.
This block performs no bounds checking. It assumes that the input, in, has of length k*nbytes and that the output vector, out, has nbytes available for writing.
| bytes | output vector (k-bits per byte) of the unpacked data | 
| bits | The input vector of bits to pack | 
| nbytes | The number of output bytes | 
| void gr::blocks::kernel::pack_k_bits::pack_rev | ( | unsigned char * | bytes, | 
| const unsigned char * | bits, | ||
| int | nbytes ) const | 
Same as pack() but reverses the bits.