Skip to content

Lx/python-dlestxetx

Repository files navigation

dlestxetx: DLE/STX/ETX packet encoder/decoder

latest release on PyPI build & test status test coverage status

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'

Installation

Install this module from PyPI using pip:

pip install dlestxetx

Changes

1.0.1
Add support for Python 3.5.
1.0.0
Initial release.

Contribute

Support

License

This project is licensed under the MIT License.

About

DLE/STX/ETX packet encoder/decoder

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages