Skip to content
This repository was archived by the owner on Apr 23, 2025. It is now read-only.

Latest commit

 

History

History
124 lines (88 loc) · 3.94 KB

File metadata and controls

124 lines (88 loc) · 3.94 KB

python4yahdlc

PyPI Package Latest Release PyPI Package Downloads Per Month PyPI Package Python Versions Build Status Master Branch Build Status Develop Branch Code Coverage LGTM Grade LGTM Alerts

python4yahdlc is a Python binding of the yahdlc library, allowing to encode and decode HDLC frames.

Dependencies

This software requires Python 3.

Installation

With pip (recommanded)

pip3 install --upgrade python4yahdlc

From sources

git clone https://github.com/SkypLabs/python4yahdlc.git
cd python4yahdlc
git submodule update --init --recursive
python3 setup.py install

You need the setuptools package to execute setup.py.

Usage

To generate a new HDLC data frame:

from yahdlc import *

frame = frame_data('hello world!')

To generate a new HDLC ACK frame with a specific sequence number:

frame = frame_data('', FRAME_ACK, 3)

The highest sequence number is 7 and the following frame types are available:

  • FRAME_DATA
  • FRAME_ACK
  • FRAME_NACK

Note that when you generate an ACK or NACK frame, the payload is useless.

To decode a received HDLC frame:

data, ftype, seq_no = get_data(frame)

For a more advanced use, take a look at the examples available in the examples folder.

Development

Releasing a new version

Before publishing the new release:

  • Run all tests and be sure they all pass
  • Update the VERSION variable in setup.py
  • Update MANIFEST.in if needed
  • Update the package's metadata (description, classifiers, etc) in setup.py if needed
  • Update README.rst and examples/README.rst if needed

After having pushed the changes:

  • Edit the release note on GitHub

License

This project is released under the GPL version 3 license. The yahdlc library is released under the MIT license.