CANOpen Monitor
An NCurses-based TUI application for tracking activity over the CAN bus and decoding messages with provided EDS/OD files.
Quick Start
Install
$ pip install canopen-monitor
Run
Run the monitor, binding to can0
$ canopen-monitor -i can0
Use this for an extensive help menu
$ canopen-monitor --help
Configuration
The default configurations provided by CANOpen Monitor can be found in
canopen_monitor/assets. These are the default
assets provided. At runtime these configs are copied to
~/.config/canopen-monitor where they can be modified and the changes
will persist.
EDS files are loaded from ~/.cache/canopen-monitor
Development and Contribution
Documentation
Check out our Read The Docs pages for more info on the application sub-components and methods.
Pre-Requisites
-
Linux 4.11 or greater (any distribution)
-
Python 3.8.5 or higher (pyenv is recommended for managing different python versions, see pyenv homepage for information)
Install Locally
Setup a virtual CAN signal generator
$ sudo apt-get install can-utils
Start a virtual CAN
$ sudo ip link add dev vcan0 type vcan
$ sudo ip link set up vcan0
Clone the repo
$ git clone https://github.com/Boneill3/CANopen-monitor.git
$ cd CANopen-monitor
$ pip install -e .[dev]
(Note: the -e flag creates a symbolic-link to your local development version. Set it once, and forget it)
Generate random messages with socketcan-dev
$ chmod 700 socketcan-dev
$ ./socketcan-dev.py --random-id --random-message -r
Start the monitor
$ canopen-monitor
Create documentation locally
$ make -C docs clean html
(Note: documentation is configured to auto-build with ReadTheDocs on every push to master)
Message Types + COB ID Ranges:
Wikipedia Table
Abridged Table:
| Name | COB ID Range |
|---|---|
| SYNC | 080 |
| EMCY | 080 + NodeID |
| TPDO1 | 180 + NodeID |
| RPDO1 | 200 + NodeID |
| TPDO2 | 280 + NodeID |
| RPDO2 | 300 + NodeID |
| TPDO3 | 380 + NodeID |
| RPDO3 | 400 + NodeID |
| TPDO4 | 480 + NodeID |
| RPDO4 | 500 + NodeID |
| TSDO | 580 + NodeID |
| RSDO | 600 + NodeID |
| NMT (Heartbeat) | 700 + NodeID |
Metadata
Release files for canopen-monitor 4.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| canopen-monitor-4.1.0.tar.gz | 72.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| canopen_monitor-4.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 156.5 kB
Release files / canopen-monitor-4.1.0.tar.gz
| Download URL | canopen-monitor-4.1.0.tar.gz |
|---|---|
| Size | 72.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ded6c1baa2bea011a17755157aa685beab40c1f8aa7f361e5f847a190246ccac
|
|
BLAKE2b-256 checksum How to use checksums |
e2c5fc484ece18126ff7a864ef8c0bd812910d3fd558d602bef01d51dcc399ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8
|
Release files / canopen_monitor-4.1.0-py3-none-any.whl
| Download URL | canopen_monitor-4.1.0-py3-none-any.whl |
|---|---|
| Size | 84.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5409c1232b257ea4f7a268a033ee15fb0dad01c87973bb6203259042ad68dd9d
|
|
BLAKE2b-256 checksum How to use checksums |
9a3a76f7358b5f19fe6ad6b71a6bbdefc6e1fa626eb25dfb11b1532c305b8677
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8
|
Security for canopen-monitor 4.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.