Skip to main content

CANopen discovery tool/scanner

Project description


CANopen active scanner atop Christian Sandberg's CANopen for Python. canScan watches for CAN arbitration IDs, CANopen node IDs (as determined through NMT/SDO analysis), and CANopen PDOs. canScan can scan the Object Dictionary of a specified (or discovered) CANopen node using SDO Receive.

canScan has been developed/tested against Python 2.7 and 3.7.

Build Status


Two arguments are required: a bus type and a device identifier. The bus types are due python-can, and can be found in that project's documentation. Device identifier semantics are per-driver. For virtual devices, use virtual and the network device name. Other SocketCAN devices use socketcan and the network device name. The CanalystII uses canalystii and the USB device index.

Default behavior is to perform an SDO scan across the 128 CANopen IDs, then perform dumps of the entirety of discovered nodes' Object Dictionaries. Both steps will be periodically repeated. Discovered Object Dictionary entries will be queried more regularly than failed IDs. The program exits on error or keyboard interrupt. With the --oneshot flag, only an initial set of scans will be performed, followed by the program's exit.

The --passive flag can be provided, in which case no frames will be transmitted (the driver or hardware might send frames, especially acknowledgements, on their own).

If the --scan argument is provided, it expects a comma-delimited list of numbers (either decimal, or hex with a prefix of 0x). These IDs will see their entire Dictionaries scanned whether they respond to the initial probe or not.

--passive cannot be used with --scan or --oneshot.

The default local node ID is 64 (0x40), but it may be specified with --id.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for canScan, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size canScan-0.0.2-py3-none-any.whl (4.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size canScan-0.0.2.tar.gz (4.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page