TinyPPP
PPP networking over any Arduino Stream
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
HDLC.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <Arduino.h>

Go to the source code of this file.

Classes

class  HDLCDecoder< MAX_FRAME >
 HDLC frame decoder (RFC 1662). More...
 
class  HDLCEncoder
 HDLC frame encoder (RFC 1662). More...
 

Namespaces

namespace  tinyppp
 TinyPPP internals: PPP engine, HDLC framing and the IP stack.
 

Functions

uint16_t fcs16 (const uint8_t *data, size_t len, uint16_t fcs=FCS16_INIT)
 FCS-16 over a buffer (continues from fcs)
 
uint16_t fcs16Update (uint16_t fcs, uint8_t b)
 Incremental FCS-16 (RFC 1662, reflected CRC-CCITT) using a nibble table.
 

Variables

static constexpr uint16_t FCS16_GOOD = 0xF0B8
 
static constexpr uint16_t FCS16_INIT = 0xFFFF
 
static constexpr uint8_t HDLC_ALL_STATIONS = 0xFF
 
static constexpr uint8_t HDLC_ESCAPE = 0x7D
 
static constexpr uint8_t HDLC_FLAG = 0x7E
 
static constexpr uint8_t HDLC_UI = 0x03
 
static constexpr uint8_t HDLC_XOR = 0x20