GNU Radio 3.5.3.2 C++ API
|
Convert a stream of packed bytes or shorts to stream of unpacked bytes or shorts.input: stream of int; output: stream of int. More...
#include <gr_packed_to_unpacked_ii.h>
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_CORE_API gr_packed_to_unpacked_ii_sptr | gr_make_packed_to_unpacked_ii (unsigned int bits_per_chunk, gr_endianness_t endianness) |
Convert a stream of packed bytes or shorts to stream of unpacked bytes or shorts.
input: stream of int; output: stream of int.
This is the inverse of gr_unpacked_to_packed_XX.
The bits in the bytes or shorts input stream are grouped into chunks of bits_per_chunk
bits and each resulting chunk is written right- justified to the output stream of bytes or shorts. All b or 16 bits of the each input bytes or short are processed. 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.
bool gr_packed_to_unpacked_ii::check_topology | ( | int | ninputs, |
int | noutputs | ||
) | [inline, virtual] |
Confirm that ninputs and noutputs is an acceptable combination.
ninputs | number of input streams connected |
noutputs | number of output streams connected |
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_basic_block.
void gr_packed_to_unpacked_ii::forecast | ( | int | noutput_items, |
gr_vector_int & | ninput_items_required | ||
) | [virtual] |
Estimate input requirements given output request.
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_packed_to_unpacked_ii::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
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 |
general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
Implements gr_block.
GR_CORE_API gr_packed_to_unpacked_ii_sptr gr_make_packed_to_unpacked_ii | ( | unsigned int | bits_per_chunk, |
gr_endianness_t | endianness | ||
) | [friend] |