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

Check the CRC at the end of a PDU. More...

#include <crc_check.h>

Inheritance diagram for gr::satellites::crc_check:
gr::satellites::crc_check_impl

Public Types

typedef std::shared_ptr< crc_checksptr
 

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, bool discard_crc=false, unsigned skip_header_bytes=0)
 Build the CRC append block. More...
 

Detailed Description

Check the CRC at the end of a PDU.

The CRC append block receives a PDU containing a CRC at its end, and checks whether the CRC is correct. The PDU is sent over the ok or fail output ports according to the result of this check. 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_check> gr::satellites::crc_check::sptr

Member Function Documentation

◆ make()

static sptr gr::satellites::crc_check::make ( unsigned  num_bits,
uint64_t  poly,
uint64_t  initial_value,
uint64_t  final_xor,
bool  input_reflected,
bool  result_reflected,
bool  swap_endianness,
bool  discard_crc = false,
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
discard_crcIf true, the CRC is removed from the PDU before sending it to the output port. If false, the CRC is preserved in the outupt PDU.
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: