{ "info": { "author": "Chris Siedell", "author_email": "chris@siedell.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3" ], "description": "# Crow Serial Protocol Implementation\n\nStatus: **experimental**\n\nThe Crow protocol is designed to allow a PC to control several microcontrollers using a single\nserial line. The protocol itself has a simple half-duplex, command/response format with basic\nerror checking provided by Fletcher-16 checksums.\n\nIn Crow, the top-level software that generates commands is called a *client*. The client runs on the *host*, and\nit passes the command to a *host implementation*. The host implementation creates a command packet\nand sends it over the serial line. A *device implementation* receives the packet and then passes the command\nto a *service* running on that *device*. The service performs the command and may send a response,\ndepending on the circumstances.\n\nA *command* has the following properties:\n- address: 1-31 for a specific device, or 0 to broadcast to all devices.\n- port: 0-255, where open ports are registered to specific services.\n- response expected: if true, the host will wait for a response; if false, the device must not respond.\n- payload: 0-2047 bytes of binary data.\n\nA *response* has just one property, the payload, which is also 0-2047 bytes of binary data.\n\n----\n\nThis project contains a host implementation as well as a Crow admin client.\n\nThe Crow admin client can be used to send the commands `ping`, `echo`, `host_presence`,\n`get_device_info`, `get_open_ports`, and `get_port_info`.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://siedell.com/projects/Crow", "keywords": "serial protocol", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "crow-serial", "package_url": "https://pypi.org/project/crow-serial/", "platform": "", "project_url": "https://pypi.org/project/crow-serial/", "project_urls": { "Homepage": "http://siedell.com/projects/Crow", "Source": "https://github.com/chris-siedell/PyCrow" }, "release_url": "https://pypi.org/project/crow-serial/0.4.0/", "requires_dist": null, "requires_python": ">=3", "summary": "Host implementation of the Crow serial protocol.", "version": "0.4.0" }, "last_serial": 3835292, "releases": { "0.4.0": [ { "comment_text": "", "digests": { "md5": "fd6340ca75969b8e4f41c1a5d1d8b7a4", "sha256": "2f8d639a32ccc18be085e8a1ab41809f67c097ae514095db556f60c43635fcb5" }, "downloads": -1, "filename": "crow-serial-0.4.0.tar.gz", "has_sig": false, "md5_digest": "fd6340ca75969b8e4f41c1a5d1d8b7a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 13989, "upload_time": "2018-05-04T16:27:18", "url": "https://files.pythonhosted.org/packages/db/fe/14a46541a455dca135d6939887dc285709df561326bcfc23517a2ed121f0/crow-serial-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fd6340ca75969b8e4f41c1a5d1d8b7a4", "sha256": "2f8d639a32ccc18be085e8a1ab41809f67c097ae514095db556f60c43635fcb5" }, "downloads": -1, "filename": "crow-serial-0.4.0.tar.gz", "has_sig": false, "md5_digest": "fd6340ca75969b8e4f41c1a5d1d8b7a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 13989, "upload_time": "2018-05-04T16:27:18", "url": "https://files.pythonhosted.org/packages/db/fe/14a46541a455dca135d6939887dc285709df561326bcfc23517a2ed121f0/crow-serial-0.4.0.tar.gz" } ] }