DLE/STX/ETX is a packet framing algorithm,
used by some devices (such as Metlink LED passenger information displays)
to transmit data as packets over a serial medium.
This algorithm delimits data using DLE
, STX
, and ETX
control codes.
Packets begin with a DLE STX
sequence,
follow with a byte-stuffed data stream
(all DLE
bytes in the data are conveyed as DLE DLE
),
and end with a DLE ETX
sequence.
The dlestxetx
module provides functions
to encode data into packets:
>>> from dlestxetx import encode >>> encode(b'\x01\x10\x05') b'\x10\x02\x01\x10\x10\x05\x10\x03'
decode packets into data:
>>> from dlestxetx import decode >>> decode(b'\x10\x02\x01\x10\x10\x05\x10\x03') b'\x01\x10\x05'
and read packets directly from file objects:
>>> from dlestxetx import read >>> packets = BytesIO(encode(b'\x04\x05\x06') + encode(b'\x07\x08\x09')) >>> read(packets) b'\x04\x05\x06' >>> read(packets) b'\x07\x08\x09'
Install this module from PyPI using pip:
pip install dlestxetx
- 1.0.1
- Add support for Python 3.5.
- 1.0.0
- Initial release.
This project is licensed under the MIT License.