{ "info": { "author": "Eugene Matsak", "author_email": "developers@cedrus.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python", "Topic :: System :: Hardware" ], "description": "Python library for communicating with all Cedrus XID devices: StimTracker, RB-x40 response pads, c-pod, Lumina, and SV-1.\n\nXID (eXperiment Interface Device) devices are used with software such as SuperLab, Presentation, and E-Prime for receiving input as part of stimulus/response testing experiments.\n\nThis handles all of the low level device handling for XID devices in python projects. The developer using this library must poll the attached device(s) for responses. \nHere's an example of how to do so, followed by an example of how to send a series of TTL signals:\n\n import pyxid\n import time\n\n # get a list of all attached XID devices\n devices = pyxid.get_xid_devices()\n\n dev = devices[0] # get the first device to use\n print(dev)\n dev.reset_base_timer()\n dev.reset_rt_timer()\n\n if dev.is_response_device():\n while not dev.has_response():\n dev.poll_for_response()\n\n response = dev.get_next_response()\n print(response)\n dev.clear_response_queue()\n\n dev.set_pulse_duration(300)\n\n sleep_flash = .3\n for bm in range(0, 16):\n mask = 2 ** bm\n print(\"activate_line bitmask: \", mask)\n #dev.activate_line(lines=[1,3,5,7,9,11,13,15])\n dev.activate_line(bitmask=mask)\n\n time.sleep(sleep_flash)\n\nThe response is a python dict with the following keys:\n\n pressed: True if the key was pressed, False if it was released\n key: Response pad key pressed by the subject\n port: Device port the response was from (typically 0)\n time: value of the Response Time timer when the key was hit/released\n\n\nSending a TTL pulse signal via the library can be done via the following methods:\n\n set_pulse_duration()\n activate_line()\n clear_line()\n\nSee the docstring for activate_line() for documentation on how to use it.\n\n\nTimers\n\nEach XID device has an internal timer. This timer can be reset via a USB command or automatically on the onset of a light sensor or onset of audio.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.github.com/cedrus-opensource/pyxid/", "keywords": "cedrus xid XID stimulus response data collection", "license": "BSD", "maintainer": "Cedrus Corporation", "maintainer_email": "developers@cedrus.com", "name": "pyxid2", "package_url": "https://pypi.org/project/pyxid2/", "platform": "", "project_url": "https://pypi.org/project/pyxid2/", "project_urls": { "Homepage": "http://www.github.com/cedrus-opensource/pyxid/" }, "release_url": "https://pypi.org/project/pyxid2/1.0/", "requires_dist": [ "ftd2xx (>=1.1.0)" ], "requires_python": "", "summary": "Python library for interfacing with Cedrus XID devices, e.g. StimTracker, RB-x40, c-pod, and Lumina.", "version": "1.0" }, "last_serial": 5503187, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "7387d42ac292992a85256f7c2e16d001", "sha256": "ae26f1c0177ed56ba1bf84f7ae2cf3d2c42cd00a883366fc890f6b6aecc84e8a" }, "downloads": -1, "filename": "pyxid2-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7387d42ac292992a85256f7c2e16d001", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17012, "upload_time": "2019-07-08T21:20:50", "url": "https://files.pythonhosted.org/packages/de/dc/e736ee8c9671a2376adfe1a67e16bab9cd34a07395bd1c8f48d6d6313346/pyxid2-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2782f6c197122ba87b0d903f3c6f0362", "sha256": "b8d9b6a75fb7bb5ef4617be71e5d234e573aa07cd5257b41611ce437ba848969" }, "downloads": -1, "filename": "pyxid2-1.0.tar.gz", "has_sig": false, "md5_digest": "2782f6c197122ba87b0d903f3c6f0362", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7997, "upload_time": "2019-07-08T21:20:52", "url": "https://files.pythonhosted.org/packages/6d/c6/2ff02242558ea828193a7362563e4ff0ca6df45ba83376e10592ee8d09ec/pyxid2-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7387d42ac292992a85256f7c2e16d001", "sha256": "ae26f1c0177ed56ba1bf84f7ae2cf3d2c42cd00a883366fc890f6b6aecc84e8a" }, "downloads": -1, "filename": "pyxid2-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7387d42ac292992a85256f7c2e16d001", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17012, "upload_time": "2019-07-08T21:20:50", "url": "https://files.pythonhosted.org/packages/de/dc/e736ee8c9671a2376adfe1a67e16bab9cd34a07395bd1c8f48d6d6313346/pyxid2-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2782f6c197122ba87b0d903f3c6f0362", "sha256": "b8d9b6a75fb7bb5ef4617be71e5d234e573aa07cd5257b41611ce437ba848969" }, "downloads": -1, "filename": "pyxid2-1.0.tar.gz", "has_sig": false, "md5_digest": "2782f6c197122ba87b0d903f3c6f0362", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7997, "upload_time": "2019-07-08T21:20:52", "url": "https://files.pythonhosted.org/packages/6d/c6/2ff02242558ea828193a7362563e4ff0ca6df45ba83376e10592ee8d09ec/pyxid2-1.0.tar.gz" } ] }