GNU Radio's SATELLITES Package
|
Check the CRC at the end of a PDU. More...
#include <crc_check.h>
Public Types | |
typedef std::shared_ptr< crc_check > | sptr |
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. | |
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.
typedef std::shared_ptr<crc_check> gr::satellites::crc_check::sptr |
|
static |
Build the CRC append block.
num_bits | CRC size in bits (must be a multiple of 8) |
poly | CRC polynomial, in MSB-first notation |
initial_value | Initial register value |
final_xor | Final XOR value |
input_reflected | true if the input is LSB-first, false if not |
result_reflected | true if the output is LSB-first, false if not |
swap_endianness | true if the CRC is stored as little-endian in the PDU, false if not |
discard_crc | If 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_bytes | gives the number of header byte to skip in the CRC calculation |