{ "info": { "author": "Ola Gr\u00f8ttvik", "author_email": "olagrottvik@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "[![Build Status](https://travis-ci.com/olagrottvik/encdec8b10b.svg?token=jVu3gMDvjaqfNCVgNVai&branch=master)](https://travis-ci.com/olagrottvik/encdec8b10b)\n\n# encdec8b10b\n\nEncode and decode 8B10B encoding\n\n## Get\n\n```\npython3 -m pip install encdec8b10b\n```\n\n## Usage\n\n### Encode Data Byte\n```\nfrom encdec8b10b import EncDec8B10B\n\nrunning_disp = 0\nbyte_to_enc = 0xf\nrunning_disp, encoded = EncDec8B10B.enc_8b10b(byte_to_enc, running_disp)\nprint(hex(encoded))\nOutput >> 0xba\n```\n### Encode Control Byte\n```\nfrom encdec8b10b import EncDec8B10B\n\nrunning_disp = 0\nbyte_to_enc = 0xbc # comma\nctrl = 1\nrunning_disp, encoded = EncDec8B10B.enc_8b10b(byte_to_enc, running_disp, ctrl)\nprint(hex(encoded))\nOutput >> 0x17c\n```\n### Decode Data Byte\n```\nfrom encdec8b10b import EncDec8B10B\n\nbyte_to_dec = 0xba\nctrl, decoded = EncDec8B10B.dec_8b10b(byte_to_dec)\nprint(hex(decoded))\nOutput >> 0xf\n# ctrl variable confirm that it was a data byte\nprint(ctrl)\nOutput >> 0\n```\n### Decode Control Byte\n```\nfrom encdec8b10b import EncDec8B10B\n\nbyte_to_dec = 0x17c # comma encoded\nctrl, decoded = EncDec8B10B.dec_8b10b(byte_to_dec)\nprint(hex(decoded))\nOutput >> 0xbc\n# ctrl variable confirm that it was a control byte\nprint(ctrl)\nOutput >> 1\n```\n\n ### Verbosity\n Both functions have a verbose-mode to make it easier to confirm everything that's happening:\n```\nfrom encdec8b10b import EncDec8B10B\n\nrunning_disp = 0\nbyte_to_enc = 0xA0\nrunning_disp, encoded = EncDec8B10B.enc_8b10b(byte_to_enc, running_disp, verbose=True)\n\nOutput >> Encoder - In: A0 - Encoded: 146 - Running Disparity: 0\n\nctrl, decoded = EncDec8B10B.dec_8b10b(encoded, verbose=True)\n\nOutput >> Decoded: A0 - Control: 0\n```\n\n\n ## 8B10B\n 8B10B Encoding were implemented by Al Widmer and Peter Franaszek in 1983. It is still widely used in high-speed electronics.\n\n- [Original article](https://ieeexplore.ieee.org/document/5390392)\n- [Wikipedia](https://en.wikipedia.org/wiki/8b/10b_encoding)\n\n\n### Thanks\n- [Ryu Shinhyung](https://opencores.org/projects/async_8b10b_encoder_decoder) for creating the tables used in this module\n- [Chuck Benz](http://asics.chuckbenz.com/) for creating awesome combinational 8B10B modules\n- [Alex Forencich](http://www.alexforencich.com/wiki/en/scripts/matlab/enc8b10b) for his 8B10B Matlab script\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/olagrottvik/encdec8b10b", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "encdec8b10b", "package_url": "https://pypi.org/project/encdec8b10b/", "platform": "", "project_url": "https://pypi.org/project/encdec8b10b/", "project_urls": { "Homepage": "https://github.com/olagrottvik/encdec8b10b" }, "release_url": "https://pypi.org/project/encdec8b10b/1.0/", "requires_dist": null, "requires_python": "", "summary": "8B10B Encoding and Decoding", "version": "1.0" }, "last_serial": 5209078, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "d6ed5d4dac8045c5f3c57ec20c96fab8", "sha256": "1cc5a16c3695d0bc8dd4ccf63ff92e5b59b52a67eedcd5b9d180710fa25427ae" }, "downloads": -1, "filename": "encdec8b10b-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d6ed5d4dac8045c5f3c57ec20c96fab8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43208, "upload_time": "2019-04-30T16:12:41", "url": "https://files.pythonhosted.org/packages/9e/94/0bee06e78719cee450726739aa98af8b34deca6864089839b8760cb1ad08/encdec8b10b-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88a9970d16c5e8a2db3036a4a24895bf", "sha256": "253c9db4465694513a49ca4a01f3ed74b806dc901dbbd4c06e7ea654f468a882" }, "downloads": -1, "filename": "encdec8b10b-1.0.tar.gz", "has_sig": false, "md5_digest": "88a9970d16c5e8a2db3036a4a24895bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21471, "upload_time": "2019-04-30T16:12:57", "url": "https://files.pythonhosted.org/packages/84/4e/062bb8887b6646e2b8826ad0e5d4b68e1fe2fe9da8be3252e5801a97305e/encdec8b10b-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d6ed5d4dac8045c5f3c57ec20c96fab8", "sha256": "1cc5a16c3695d0bc8dd4ccf63ff92e5b59b52a67eedcd5b9d180710fa25427ae" }, "downloads": -1, "filename": "encdec8b10b-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d6ed5d4dac8045c5f3c57ec20c96fab8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43208, "upload_time": "2019-04-30T16:12:41", "url": "https://files.pythonhosted.org/packages/9e/94/0bee06e78719cee450726739aa98af8b34deca6864089839b8760cb1ad08/encdec8b10b-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88a9970d16c5e8a2db3036a4a24895bf", "sha256": "253c9db4465694513a49ca4a01f3ed74b806dc901dbbd4c06e7ea654f468a882" }, "downloads": -1, "filename": "encdec8b10b-1.0.tar.gz", "has_sig": false, "md5_digest": "88a9970d16c5e8a2db3036a4a24895bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21471, "upload_time": "2019-04-30T16:12:57", "url": "https://files.pythonhosted.org/packages/84/4e/062bb8887b6646e2b8826ad0e5d4b68e1fe2fe9da8be3252e5801a97305e/encdec8b10b-1.0.tar.gz" } ] }