Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

gr_unpacked_to_packed_bb Class Reference
[Signal Processing Blocks]

#include <gr_unpacked_to_packed_bb.h>

Inheritance diagram for gr_unpacked_to_packed_bb:

Inheritance graph
[legend]
Collaboration diagram for gr_unpacked_to_packed_bb:

Collaboration graph
[legend]
List of all members.

Detailed Description

Convert a stream of unpacked bytes or shorts into a stream of packed bytes or shorts.

input: stream of unsigned char; output: stream of unsigned char

This is the inverse of gr_packed_to_unpacked_XX.

The low bits_per_chunk bits are extracted from each input byte or short. These bits are then packed densely into the output bytes or shorts, such that all 8 or 16 bits of the output bytes or shorts are filled with valid input bits. The right thing is done if bits_per_chunk is not a power of two.

The combination of gr_packed_to_unpacked_XX followed by gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the general case of mapping from a stream of bytes or shorts into arbitrary float or complex symbols.

See also:
gr_packed_to_unpacked_bb, gr_unpacked_to_packed_bb,

gr_packed_to_unpacked_ss, gr_unpacked_to_packed_ss,

gr_chunks_to_symbols_bf, gr_chunks_to_symbols_bc.

gr_chunks_to_symbols_sf, gr_chunks_to_symbols_sc.


Public Member Functions

void forecast (int noutput_items, gr_vector_int &ninput_items_required)
 Estimate input requirements given output request.
int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 compute output items from input items
bool check_topology (int ninputs, int noutputs)
 Confirm that ninputs and noutputs is an acceptable combination.

Friends

gr_unpacked_to_packed_bb_sptr gr_make_unpacked_to_packed_bb (unsigned int bits_per_chunk, gr_endianness_t endianness)


Member Function Documentation

bool gr_unpacked_to_packed_bb::check_topology int  ninputs,
int  noutputs
[inline, virtual]
 

Confirm that ninputs and noutputs is an acceptable combination.

Parameters:
ninputs number of input streams connected
noutputs number of output streams connected
Returns:
true if this is a valid configuration for this block.
This function is called by the runtime system whenever the topology changes. Most classes do not need to override this. This check is in addition to the constraints specified by the input and output gr_io_signatures.

Reimplemented from gr_block.

void gr_unpacked_to_packed_bb::forecast int  noutput_items,
gr_vector_int ninput_items_required
[virtual]
 

Estimate input requirements given output request.

Parameters:
noutput_items number of output items to produce
ninput_items_required number of input items required on each input stream
Given a request to product noutput_items, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.

Reimplemented from gr_block.

int gr_unpacked_to_packed_bb::general_work int  noutput_items,
gr_vector_int ninput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items
[virtual]
 

compute output items from input items

Parameters:
noutput_items number of output items to write on each output stream
ninput_items number of input items available on each input stream
input_items vector of pointers to the input items, one entry per input stream
output_items vector of pointers to the output items, one entry per output stream
Returns:
number of items actually written to each output stream, or -1 on EOF. It is OK to return a value less than noutput_items. -1 <= return value <= noutput_items
general_work must call consume or consume_each to indicate how many items were consumed on each input stream.

Implements gr_block.


Friends And Related Function Documentation

gr_unpacked_to_packed_bb_sptr gr_make_unpacked_to_packed_bb unsigned int  bits_per_chunk,
gr_endianness_t  endianness
[friend]
 


The documentation for this class was generated from the following files:
Generated on Sat Jul 8 17:14:36 2006 for GNU Radio 2.x by  doxygen 1.4.1