Async CRC32: Difference between revisions
Jump to navigation
Jump to search
(add example flowgraph) |
|||
Line 13: | Line 13: | ||
== Source Files == | == Source Files == | ||
; C++ files | |||
: [https://github.com/gnuradio/gnuradio/blob/main/gr-digital/lib/crc32_async_bb_impl.cc crc32_async_bb_impl.cc] | |||
; Header files | |||
: [https://github.com/gnuradio/gnuradio/blob/main/gr-digital/lib/crc32_async_bb_impl.h crc32_async_bb_impl.h] | |||
; Public header files | |||
: [https://github.com/gnuradio/gnuradio/blob/main/gr-digital/include/gnuradio/digital/crc32_async_bb.h crc32_async_bb.h] | |||
; Block definition | |||
: [https://github.com/gnuradio/gnuradio/blob/main/gr-digital/grc/digital_crc32_async_bb.block.yml digital_crc32_async_bb.block.yml] |
Revision as of 08:58, 24 January 2022
Byte-stream CRC block for async messages. Processes packets (as async PDU messages) for CRC32. The parameter determines if the block acts to check and strip the CRC or to calculate and append the CRC32. The input PDU is expected to be a message of packet bytes. When using check mode, if the CRC passes, the output is a payload of the message with the CRC stripped, so the output will be 4 bytes smaller than the input. When using calculate mode (check == false), then the CRC is calculated on the PDU and appended to it. The output is then 4 bytes longer than the input. This block implements the CRC32 using the Boost crc_optimal class for 32-bit CRCs with the standard generator 0x04C11DB7.
Parameters
- Mode
- Set to true if you want to check CRC, false to create CRC.
Example Flowgraph
This flowgraph can be found at [1]
Source Files
- C++ files
- crc32_async_bb_impl.cc
- Header files
- crc32_async_bb_impl.h
- Public header files
- crc32_async_bb.h
- Block definition
- digital_crc32_async_bb.block.yml