|
SE050 Driver
API reference
|
ISO/IEC 7816-3 T=1 EDC (16-bit CRC) for NXP SE050 T1oI2C blocks. More...
#include <cstddef>#include <cstdint>Go to the source code of this file.
Namespaces | |
| namespace | se050 |
| namespace | se050::crc |
Functions | |
| std::uint16_t | se050::crc::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 | se050::crc::AppendEdc (std::uint8_t *frame, std::size_t len_without_edc) noexcept |
Append EDC immediately after frame[0 .. len_without_edc-1]. | |
| bool | se050::crc::VerifyFrameCrc (const std::uint8_t *frame, std::size_t total_len) noexcept |
| Verify EDC on a full received frame (includes trailing 2-byte CRC). | |
ISO/IEC 7816-3 T=1 EDC (16-bit CRC) for NXP SE050 T1oI2C blocks.
The polynomial and bit ordering match the NXP EdgeLock T=1oI2C stack (CRC-16 “ANSI” / IBM-SDLC style, reflected input, reflected output with final XOR 0xFFFF). UM11225 and SE050C2 silicon put EDC LSB first: frame[len] = crc & 0xFF, frame[len+1] = crc >> 8. MSB-first is answered with R-block PCB 0x81 (EDC error).