Crunch
A Message Definition Language for Getting Things Right
Loading...
Searching...
No Matches
Crunch::integrity::CRC16 Struct Reference

CRC-16-CCITT integrity policy. More...

#include <crunch_integrity.hpp>

Static Public Member Functions

static constexpr std::size_t size () noexcept
 
static constexpr auto calculate (std::span< const std::byte > data) noexcept -> std::array< std::byte, 2 >
 Calculates CRC-16-CCITT checksum.
 

Detailed Description

CRC-16-CCITT integrity policy.

Adds 2 bytes of overhead. Uses polynomial 0x1021 with initial value 0xFFFF.

See also
https://srecord.sourceforge.net/crc16-ccitt.html

Member Function Documentation

◆ calculate()

static constexpr auto Crunch::integrity::CRC16::calculate ( std::span< const std::byte >  data) -> std::array<std::byte, 2>
inlinestaticconstexprnoexcept

Calculates CRC-16-CCITT checksum.

Parameters
dataThe byte span to calculate checksum over.
Returns
2-byte array containing the checksum (big-endian).

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