The PyNGHam library is a Python version of the original NGHam protocol library written in C by Jon Petter Skagmo (LA3JPA).
The original implementation and a further description of the protocol can be found here.
- crc - v3.0.0
This library is available in the PyPI repository, and can be installed with the following command:
pip install pyngham
Or, directly from the source files:
python setup.py install
The documentation page is available here. Instructions to build the documentation page are described below.
Contributing instructions are also available here.
- Sphinx - v6.1.3
- sphinx-rtd-theme - v1.1.1
- crc - v3.0.0
The documentation pages can be built with Sphinx by running the following command inside the docs
folder:
make html
The usage of the library is pretty straightforward, after the initialization, there are two methods: one to encode a list of bytes, and other to decode a packet. Below there is a basic usage example:
from pyngham import PyNGHam
pngh = PyNGHam()
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
pkt = pngh.encode(data)
print("Encoded packet:", pkt)
pl, errors, errors_pos = pngh.decode(pkt)
print("Decoded data:", pl)
print("Number of errors:", errors)
print("Errors positions:", errors_pos)
More usage examples can be found in the documentation page.
This project is licensed under LGPLv3 license.