SE050 Driver
API reference
Loading...
Searching...
No Matches
Functions
se050::crc Namespace Reference

Functions

std::uint16_t Crc16Edc7816 (const std::uint8_t *buffer, std::size_t offset, std::size_t length) noexcept
 Compute T=1 EDC over bytes [offset, offset+length) of buffer.
 
void AppendEdc (std::uint8_t *frame, std::size_t len_without_edc) noexcept
 Append EDC immediately after frame[0 .. len_without_edc-1].
 
bool VerifyFrameCrc (const std::uint8_t *frame, std::size_t total_len) noexcept
 Verify EDC on a full received frame (includes trailing 2-byte CRC).
 

Function Documentation

◆ AppendEdc()

void se050::crc::AppendEdc ( std::uint8_t *  frame,
std::size_t  len_without_edc 
)
inlinenoexcept

Append EDC immediately after frame[0 .. len_without_edc-1].

◆ Crc16Edc7816()

std::uint16_t se050::crc::Crc16Edc7816 ( const std::uint8_t *  buffer,
std::size_t  offset,
std::size_t  length 
)
inlinenoexcept

Compute T=1 EDC over bytes [offset, offset+length) of buffer.

Parameters
bufferFull frame buffer (NAD..INF).
offsetFirst byte included in CRC (normally 0 for whole frame sans EDC).
lengthNumber of bytes to feed into CRC excluding the 2-byte EDC field.
Returns
16-bit CRC value; AppendEdc maps it to the wire as LSB then MSB.

◆ VerifyFrameCrc()

bool se050::crc::VerifyFrameCrc ( const std::uint8_t *  frame,
std::size_t  total_len 
)
inlinenoexcept

Verify EDC on a full received frame (includes trailing 2-byte CRC).