52 { m_bstuff.m_actrl = actrl; }
101 enum class State {HDLC_RDY, HDLC_ESC, HDLC_EOF, HDLC_ERR};
102 satcat5::io::HdlcDecoder::State m_state;
Check and remove FCS from each incoming frame ("KERMIT" variant).
Append FCS to each outgoing frame ("KERMIT" variant).
Check and remove FCS from each incoming frame.
Append FCS to each outgoing frame.
Inline HDLC decoder (framing layer only).
void write_next(u8 data) override
Write the next byte to the underlying buffer or device.
void set_mode_crc32(bool mode32)
Select CRC16 or CRC32 checksum?
void set_mode_actrl(bool actrl)
Enable ACTRL mode?
unsigned get_write_space() const override
How many bytes can be written without blocking?
void write_overflow() override
Optional error handling for write overflow.
HdlcDecoder(satcat5::io::Writeable *dst)
Permanently link this encoder to an output object.
unsigned get_write_space() const override
How many bytes can be written without blocking?
void write_abort() override
If possible, abort the current partially-written packet.
bool write_finalize() override
Mark end of frame and release temporary working data.
void write_next(u8 data) override
Write the next byte to the underlying buffer or device.
Inline HDLC encoder (framing layer only).
HdlcEncoder(satcat5::io::Writeable *dst)
Permanently link this encoder to an output object.
void set_mode_crc32(bool mode32)
Select CRC16 or CRC32 checksum?
void set_mode_actrl(bool actrl)
Enable ACTRL mode?
Abstract API for writing byte-streams and packets.
Wrapper class for forwarding writes to another object.
Inline CRC16 Checksum insertion and verification.
Inline Ethernet Checksum insertion and verification.
Inline checksum insertion (ChecksumTx) and verification (ChecksumRx).