{ "info": { "author": "Nick Black", "author_email": "nickblack@linux.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python" ], "description": "# canScan\n\nCANopen active scanner atop Christian Sandberg's\n[CANopen for Python](https://github.com/christiansandberg/canopen). canScan\nwatches for CAN arbitration IDs, CANopen node IDs (as determined through\nNMT/SDO analysis), and CANopen PDOs. canScan can scan the Object Dictionary\nof a specified (or discovered) CANopen node using SDO Receive.\n\ncanScan has been developed/tested against Python 2.7 and 3.7.\n\n[![Build Status](https://travis-ci.org/dankamongmen/canscan.svg?branch=master)](https://travis-ci.org/dankamongmen/canscan)\n\n# Usage\n\nTwo arguments are required: a bus type and a device identifier. The bus types\nare due [python-can](https://github.com/hardbyte/python-can), and can be found\nin that project's documentation. Device identifier semantics are per-driver.\nFor virtual devices, use `virtual` and the network device name. Other SocketCAN\ndevices use `socketcan` and the network device name. The CanalystII uses\n`canalystii` and the USB device index.\n\nDefault behavior is to perform an SDO scan across the 128 CANopen IDs, then\nperform dumps of the entirety of discovered nodes' Object Dictionaries. Both\nsteps will be periodically repeated. Discovered Object Dictionary entries will\nbe queried more regularly than failed IDs. The program exits on error or\nkeyboard interrupt. With the `--oneshot` flag, only an initial set of scans\nwill be performed, followed by the program's exit.\n\nThe `--passive` flag can be provided, in which case no frames will be\ntransmitted (the driver or hardware might send frames, especially\nacknowledgements, on their own).\n\nIf the `--scan` argument is provided, it expects a comma-delimited list of\nnumbers (either decimal, or hex with a prefix of `0x`). These IDs will see\ntheir entire Dictionaries scanned whether they respond to the initial probe or\nnot.\n\n`--passive` cannot be used with `--scan` or `--oneshot`.\n\nThe default local node ID is 64 (0x40), but it may be specified with `--id`.\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": "https://github.com/dankamongmen/canscan", "keywords": "CAN CANopen scanner", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "canScan", "package_url": "https://pypi.org/project/canScan/", "platform": "any", "project_url": "https://pypi.org/project/canScan/", "project_urls": { "Homepage": "https://github.com/dankamongmen/canscan" }, "release_url": "https://pypi.org/project/canScan/0.0.2/", "requires_dist": [ "canopen (>=0.9.0)" ], "requires_python": "", "summary": "CANopen discovery tool/scanner", "version": "0.0.2" }, "last_serial": 5379808, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "3e5c3d537424e6eef86598a3671cc1f6", "sha256": "e8bc392afc1a9d674c31904f3f623a9c62894b71df6515ef60c61e0155b62590" }, "downloads": -1, "filename": "canScan-0.0.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "3e5c3d537424e6eef86598a3671cc1f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4298, "upload_time": "2019-06-08T07:45:42", "url": "https://files.pythonhosted.org/packages/d0/b3/ca81484221702e5796247068cfbf945ff3150d55490644e1004bb0de6bbf/canScan-0.0.1.linux-x86_64.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f50aa55443bd973488c85cfea688d6ca", "sha256": "184bdff964cbf81a84b57381d1f59b2401611bbd55408cf36fc67df997926f34" }, "downloads": -1, "filename": "canScan-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f50aa55443bd973488c85cfea688d6ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4661, "upload_time": "2019-06-10T05:14:04", "url": "https://files.pythonhosted.org/packages/c1/68/2a8398aa665faf78fe70f4ed7aa09ca5c2fd1680d91cfbace912085bad48/canScan-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f646cdbf3f7869565669a65f4c353f4d", "sha256": "ff5592e39ed19f0e729556524ebb4daa0d8b5f315c28eb1ad5a24396301d867b" }, "downloads": -1, "filename": "canScan-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f646cdbf3f7869565669a65f4c353f4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4420, "upload_time": "2019-06-10T05:14:05", "url": "https://files.pythonhosted.org/packages/aa/8b/0d2d41d53d483c39d1782e7a681eb8970707c8790ba58570b49809b0e088/canScan-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f50aa55443bd973488c85cfea688d6ca", "sha256": "184bdff964cbf81a84b57381d1f59b2401611bbd55408cf36fc67df997926f34" }, "downloads": -1, "filename": "canScan-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f50aa55443bd973488c85cfea688d6ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4661, "upload_time": "2019-06-10T05:14:04", "url": "https://files.pythonhosted.org/packages/c1/68/2a8398aa665faf78fe70f4ed7aa09ca5c2fd1680d91cfbace912085bad48/canScan-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f646cdbf3f7869565669a65f4c353f4d", "sha256": "ff5592e39ed19f0e729556524ebb4daa0d8b5f315c28eb1ad5a24396301d867b" }, "downloads": -1, "filename": "canScan-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f646cdbf3f7869565669a65f4c353f4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4420, "upload_time": "2019-06-10T05:14:05", "url": "https://files.pythonhosted.org/packages/aa/8b/0d2d41d53d483c39d1782e7a681eb8970707c8790ba58570b49809b0e088/canScan-0.0.2.tar.gz" } ] }