static constexpr uint8_t BITS_PER_BYTE
Number of bits in one protocol byte.
static constexpr uint8_t NODE_ID_SIZE
Device/node addresses are 3 bytes (e.g., "123ABC").
static constexpr uint8_t AES_BLOCK_SIZE
AES block size.
static constexpr uint8_t FRAME_MIN_SIZE
Minimum frame: CTRL0+CTRL1+DST(3)+SRC(3)+CMD(1).
static constexpr uint8_t FRAME_MAX_DATA_SIZE
Maximum data bytes after command ID.
static constexpr uint8_t HMAC_SIZE
Authentication HMAC is 6 bytes (truncated AES output).
static constexpr uint8_t FRAME_MAX_SIZE
Maximum frame size (9 header + 23 data).
static constexpr uint8_t NODE_ID_STRING_SIZE
Uppercase hex node ID plus null terminator.
static constexpr uint8_t FRAME_CRC_SIZE
CRC-CCITT trailer appended after the frame body.
static constexpr uint8_t AES_KEY_SIZE
AES-128 key size.
static constexpr uint8_t IV_PADDING
Padding byte used in IV construction.
static constexpr uint8_t IV_SIZE
Initialization vector size for AES.
static constexpr uint8_t FRAME_CMD_OFFSET
Byte offset of the command ID in a raw wire buffer.