GNU Radio's SATELLITES Package
gr::satellites::crc_append Class Reference

Calculates and appends a CRC to a PDU. More...

#include <crc_append.h>

Inheritance diagram for gr::satellites::crc_append:
gr::satellites::crc_append_impl

Public Types

typedef std::shared_ptr< crc_appendsptr
 

Static Public Member Functions

static sptr make (unsigned num_bits, uint64_t poly, uint64_t initial_value, uint64_t final_xor, bool input_reflected, bool result_reflected, bool swap_endianness, unsigned skip_header_bytes=0)
 Build the CRC append block.
 

Detailed Description

Calculates and appends a CRC to a PDU.

The CRC append block receives a PDU, calculates the CRC of the PDU data, appends it to the PDU, and sends that as its output. It can support any CRC whose size is a multiple of 8 bits between 8 and 64 bits.

Member Typedef Documentation

◆ sptr

typedef std::shared_ptr<crc_append> gr::satellites::crc_append::sptr

Member Function Documentation

◆ make()

static sptr gr::satellites::crc_append::make ( unsigned  num_bits,
uint64_t  poly,
uint64_t  initial_value,
uint64_t  final_xor,
bool  input_reflected,
bool  result_reflected,
bool  swap_endianness,
unsigned  skip_header_bytes = 0 
)
static

Build the CRC append block.

Parameters
num_bitsCRC size in bits (must be a multiple of 8)
polyCRC polynomial, in MSB-first notation
initial_valueInitial register value
final_xorFinal XOR value
input_reflectedtrue if the input is LSB-first, false if not
result_reflectedtrue if the output is LSB-first, false if not
swap_endiannesstrue if the CRC is stored as little-endian in the PDU, false if not
skip_header_bytesgives the number of header byte to skip in the CRC calculation

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