This is not a device, but rather a
stream module
(see
stream(3))
that can be pushed onto a stream.
This module provides the framing necessary to treat
a serial line as a Datakit trunk.
It is usually pushed onto a stream before the
dkmux
module.
The frame includes a CRC.
Any received frames with an incorrect CRC are
discarded.
The format of a message upstream of the module is:
channel # low byte
channel # high byte
control byte (0 means none)
data bytes
The format of a frame is:
0x7d 0x7d
channel # low byte
channel # high byte
crc low byte
crc high byte
0x7d 0x7d
All control bytes in the frame are preceded by a
0x9d
byte.
All
0x9d
and
0x7d
bytes in the data are followed by a
0x00
byte to distinguish them from framing or control
specifiers.