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.
- Source code: https://github.com/Lx/python-dlestxetx
- Issue tracker: https://github.com/Lx/python-dlestxetx/issues
This project is licensed under the MIT License.