gr::cdma::packet_header2
gr::digital::packet_header_default
packet_header2.h
boost::shared_ptr< packet_header2 > typedef boost::shared_ptr<packet_header2> gr::cdma::packet_header2::sptr sptr gr::cdma::packet_header2::sptr
pmt::pmt_t pmt::pmt_t gr::cdma::packet_header2::d_tcm_tag_key d_tcm_tag_key gr::cdma::packet_header2::d_tcm_tag_key
int int gr::cdma::packet_header2::d_tcm_type d_tcm_type gr::cdma::packet_header2::d_tcm_type
gr::cdma::packet_header2::packet_header2
(long header_len, const std::string &len_tag_key="packet_len", const std::string &num_tag_key="packet_num", int bits_per_byte=1, int tcm_type=1, const std::string &tcm_type_key="tcm_type")
packet_header2
gr::cdma::packet_header2::packet_header2
long header_len
const std::string & len_tag_key "packet_len"
const std::string & num_tag_key "packet_num"
int bits_per_byte 1
int tcm_type 1
const std::string & tcm_type_key "tcm_type"
gr::cdma::packet_header2::~packet_header2
()
~packet_header2
gr::cdma::packet_header2::~packet_header2
void void gr::cdma::packet_header2::set_tcm_type (int tcm_type) set_tcm_type gr::cdma::packet_header2::set_tcm_type int tcm_type
pmt::pmt_t pmt::pmt_t gr::cdma::packet_header2::num_tag_key () num_tag_key gr::cdma::packet_header2::num_tag_key
bool bool gr::cdma::packet_header2::header_formatter (long packet_len, unsigned char *out, const std::vector< tag_t > &tags=std::vector< tag_t >()) header_formatter gr::cdma::packet_header2::header_formatter long packet_len unsigned char * out const std::vector< tag_t > & tags std::vector< tag_t >()

Encodes the header information in the given tags into bits and places them into `out`.

Uses the following header format: Bits 0-11: The packet length (what was stored in the tag with key `len_tag_key`) Bits 12-15: The trellis coded modulation type Bits 16-27: The header number (counts up everytime this function is called) Bit 28-35: 8-Bit CRC All other bits: Are set to zero

If the header length is smaller than 36, bits are simply left out. For this reason, they always start with the LSB.

However, it is recommended to stay above 36 Bits, in order to have a working CRC.

sptr static sptr gr::cdma::packet_header2::make (long header_len, const std::string &len_tag_key="packet_len", const std::string &num_tag_key="packet_num", int bits_per_byte=1, int tcm_type=1, const std::string &tcm_tag_key="tcm_type") make gr::cdma::packet_header2::make long header_len const std::string & len_tag_key "packet_len" const std::string & num_tag_key "packet_num" int bits_per_byte 1 int tcm_type 1 const std::string & tcm_tag_key "tcm_type"

Default header formatter for digital packet transmission.

For bursty/packetized digital transmission, packets are usually prepended with a packet header, containing the number of bytes etc. This class is not a block, but a tool to create these packet header.

This is a default packet header (see header_formatter()) for a description on the header format). To create other header, derive packet header creator classes from this function.

gr::digital::packet_headergenerator_bb uses header generators derived from this class to create packet headers from data streams.

gr::cdma::packet_header2
gr::digital::packet_header_default
gr::cdma::packet_header2
gr::digital::packet_header_default
- gr::cdma::packet_header2
  d_tcm_tag_key
- gr::cdma::packet_header2
  d_tcm_type
- gr::cdma::packet_header2
  header_formatter
- gr::cdma::packet_header2
  make
- gr::cdma::packet_header2
  num_tag_key
- gr::cdma::packet_header2
  packet_header2
- gr::cdma::packet_header2
  set_tcm_type
- gr::cdma::packet_header2
  sptr
- gr::cdma::packet_header2
  ~packet_header2