{ "info": { "author": "Matthias Geier", "author_email": "Matthias.Geier@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering" ], "description": "Schunk Motion Protocol for Python\n=================================\n\nDocumentation:\n http://schunk.rtfd.org/\n\nCode:\n http://github.com/spatialaudio/schunk/\n\nPython Package Index:\n http://pypi.python.org/pypi/SchunkMotionProtocol/\n\nSchunk Motion Protocol manual:\n http://www.schunk.com/schunk_files/attachments/MotionControl_en_2010-03.pdf\n\n A newer version of the manual is available `in a huge zip file from the\n Schunk website`__ (have a look in the directory ``Manuals/Motion Control/``)\n\n__ http://www.schunk.com/schunk_files/attachments/MTS_v_1_56_20130904.zip\n\nDisclaimer\n----------\n\nThis is *not* a commercial product and the author has *no relation whatsoever*\nto `SCHUNK GmbH & Co. KG`__.\n\n__ http://schunk.com/\n\n**Use at your own risk!**\n\nDevices\n-------\n\nOnly 1 device was tested: `Schunk PR-70 Servo Electric Swivel Unit`__.\n\n__ http://tinyurl.com/schunk-pr/\n\nDefaults for this device: serial (RS232), baudrate=9600, module ID 11 (0x0B).\n\nOther devices may or may not work.\n\nOnly firmware version 1.56 was tested, other versions may or may not work.\n\nRequirements\n------------\n\nObviously, Python_ is required. Any version >= 2.7 should do.\n\nTypically, PySerial_ handles the serial connection,\nbut any library with a similar API can be used.\n\npy.test_ is used for the tests.\n\n.. _Python: http://www.python.org/\n.. _PySerial: http://pyserial.sf.net/\n.. _py.test: http://pytest.org/\n\nLimitations\n-----------\n\nOnly a subset of the Schunk Motion Protocol is supported.\n\nOnly the direct response to a command can be obtained, *impulse messages* are\nnot supported.\nOne exception is the \"CMD POS REACHED\" impulse message which is used to realize\nmovement commands which are waiting until the movement is finished, e.g.\n``move_pos_blocking()``.\n\nOnly floating point unit systems are supported.\n\nThe connection is opened and closed for each message.\nKeeping the connection open is not supported.\n\nOnly serial communication is implemented. No CAN, no Profibus.\n\nInstallation\n------------\n\nUsing `pip `_, you can\ndownload and install the latest release with a single command::\n\n pip install --user SchunkMotionProtocol\n\nIf you want to install it system-wide for all users (assuming you have the\nnecessary rights), you can just drop the ``--user`` option.\n\nTo un-install, use::\n\n pip uninstall SchunkMotionProtocol\n\nIf you prefer, you can also download the package from\n`PyPI `_, extract it, change\nto the main directory and install it using::\n\n python setup.py install --user\n\nIf you want to get the newest development version from\n`Github `_::\n\n git clone https://github.com/spatialaudio/schunk.git\n cd schunk\n python setup.py install --user\n\nAlternatively, you can just copy ``schunk.py`` to your working directory.\n\nIf you want to make changes to the code, you should type::\n\n python setup.py develop --user\n\nor, alternatively::\n\n pip install --user -e .\n\n... where ``-e`` stands for ``--editable``.\n\nTests\n-----\n\nTests are implemented using py.test_, run this in the main directory::\n\n python setup.py test\n\nExamples\n--------\n\nThis should get you started::\n\n import schunk\n import serial\n\n mod = schunk.Module(schunk.SerialConnection(\n 0x0B, serial.Serial, port=0, baudrate=9600, timeout=1))\n\n mod.move_pos(42)\n\nUse the ID of your Schunk module instead of ``0x0B``.\n\nSee the documentation of PySerial_ for all possible\nserial port options.\nYou probably only have to change ``port``, e.g. ``port='/dev/ttyS1'`` or\n``port='COM3'``.\n\nIt is useful to specify a *timeout*, otherwise you may have to wait forever for\nthe functions to return if there is an error.\nOn the other hand, if you want to use the blocking commands (``*_blocking()``),\nyou should disable the timeout (or make it longer than the expected movement\ntimes).\n\nIf the parameters for your setup don't change, you can write them into a\nseparate file, e.g. with the name ``myschunk.py``::\n\n import schunk\n import serial\n \n module1 = schunk.Module(schunk.SerialConnection(\n 0x0B, serial.Serial, port=0, baudrate=9600, timeout=1))\n\nand then use it like this in all our scripts::\n\n from myschunk import module1\n module1.move_pos(42)\n\nThe file ``myschunk.py`` must be in the current directory for this to work.\n\nIf you are an object-oriented kind of person, you can of course also write your\nown class::\n\n import schunk\n import serial\n \n class MySchunkModule(schunk.Module):\n def __init__(self):\n schunk.Module.__init__(self, schunk.SerialConnection(\n 0x0B, serial.Serial, port=0, baudrate=9600, timeout=1))\n \n module1 = MySchunkModule()\n module1.move_pos(42)\n\n.. vim:textwidth=80", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/spatialaudio/schunk/releases/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://schunk.rtfd.org/", "keywords": "Schunk,serial,servo,motor", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "SchunkMotionProtocol", "package_url": "https://pypi.org/project/SchunkMotionProtocol/", "platform": "any", "project_url": "https://pypi.org/project/SchunkMotionProtocol/", "project_urls": { "Download": "https://github.com/spatialaudio/schunk/releases/", "Homepage": "http://schunk.rtfd.org/" }, "release_url": "https://pypi.org/project/SchunkMotionProtocol/0.2.2/", "requires_dist": null, "requires_python": null, "summary": "Schunk Motion Protocol for Python", "version": "0.2.2" }, "last_serial": 1446048, "releases": { "0.1": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "561a94585d08a3abe9c363624ea51766", "sha256": "e87ea320a3334d0746946c57ed8aa17b377a0bd355552e74b21d09a0c8a3d20a" }, "downloads": -1, "filename": "SchunkMotionProtocol-0.1.1.tar.gz", "has_sig": false, "md5_digest": "561a94585d08a3abe9c363624ea51766", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23513, "upload_time": "2014-06-02T14:30:17", "url": "https://files.pythonhosted.org/packages/ef/5c/5612c5adfd4159a8d62e9a327c3fa92c922c603ecbece987063937adde3a/SchunkMotionProtocol-0.1.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d381ff5f52021f27065b6970838b5e69", "sha256": "dea0336089af3da3adc5b1bae78b919cd403e2f5e4f8803fa643b351ce75c9d1" }, "downloads": -1, "filename": "SchunkMotionProtocol-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d381ff5f52021f27065b6970838b5e69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24245, "upload_time": "2014-06-16T15:39:26", "url": "https://files.pythonhosted.org/packages/ea/13/2e8d6783de8a90db848e61cd005112425f80b9186b199021ba4db96d5f96/SchunkMotionProtocol-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "db8f862cfead79d936ed9d728f0b2a8a", "sha256": "5a20aa526f0d78970091f1490b9f2a4ffdc4019973ad1dd4be1f527da446b135" }, "downloads": -1, "filename": "SchunkMotionProtocol-0.2.0.tar.gz", "has_sig": false, "md5_digest": "db8f862cfead79d936ed9d728f0b2a8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24500, "upload_time": "2014-06-17T17:24:12", "url": "https://files.pythonhosted.org/packages/eb/b1/17e05ef7ccac1b024bc6837b6ac0dd7862308b427aaccf344999afce7adc/SchunkMotionProtocol-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "a0d6df6c4dc4f64c1890c00c0dccf497", "sha256": "6fa03af4fc65f140a12177fc49d29656a963bb2107e9121c2e95973c19f51e2d" }, "downloads": -1, "filename": "SchunkMotionProtocol-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a0d6df6c4dc4f64c1890c00c0dccf497", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26068, "upload_time": "2015-02-24T18:06:43", "url": "https://files.pythonhosted.org/packages/d6/51/45e70250fef1d160cc72905f8b011d7b98d8d2076c5500569092d738a75b/SchunkMotionProtocol-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d4794b42b65792f138a6faf0bcf76710", "sha256": "5fa80d9e19bc7b3a5e0ed1b32f2c46954490c810bdbcd024f3fc7d448ee390a5" }, "downloads": -1, "filename": "SchunkMotionProtocol-0.2.2.tar.gz", "has_sig": false, "md5_digest": "d4794b42b65792f138a6faf0bcf76710", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26234, "upload_time": "2015-03-03T13:24:53", "url": "https://files.pythonhosted.org/packages/56/6a/316951cc519b71829d6b7f684111927e13376b83db09bf4bcee95f4a658c/SchunkMotionProtocol-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d4794b42b65792f138a6faf0bcf76710", "sha256": "5fa80d9e19bc7b3a5e0ed1b32f2c46954490c810bdbcd024f3fc7d448ee390a5" }, "downloads": -1, "filename": "SchunkMotionProtocol-0.2.2.tar.gz", "has_sig": false, "md5_digest": "d4794b42b65792f138a6faf0bcf76710", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26234, "upload_time": "2015-03-03T13:24:53", "url": "https://files.pythonhosted.org/packages/56/6a/316951cc519b71829d6b7f684111927e13376b83db09bf4bcee95f4a658c/SchunkMotionProtocol-0.2.2.tar.gz" } ] }