Skip to main content

CANopen discovery tool/scanner

Project description

canScan

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

Usage

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 hashes
Filename, size canScan-0.0.2.tar.gz (4.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page