A utility for displaying and tracking activity over the CAN bus.
Project description
CANOpen Monitor
A utility for displaying and tracking activity over the CAN bus.
Run App
$
canopen-monitor
Install via PyPi
$
pip3 install canopen-monitor
Install Locally
Build the CANOpen Monitor module:
$
python3 setup.py sdist bdist_wheel
Install for current user only:
$
python -m pip install dist/*.whl
Install for all users:
$
sudo python -m pip install dist/*.whl
Clean up build artifacts:
$
rm -rf build dist *.egg-info
Development and Contribution:
Install dependencies:
$
pip install -r requirements.txt
Install development dependencies:
$
pip install -r dev-requirements.txt
Lint Code:
$
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
Run unit tests:
$
python -m unittest -f --locals tests/*.py
Auto generate Sphinx documentation:
$
sphinx-apidoc -o docs/source canopen_monitor
$
make -C docs clean html
Deploy manually to PyPi:
$
python -m twine upload dist/*
(This assumes that you have the correct PyPi credentials and tokens set up according to the instructions outlined here)
Configs:
These are the auto-generated configs that are stored in ~/.config/canopen-monitor
devices.json:
{
"dead_timeout": 120,
"devices": [
"can0"
],
"stale_timeout": 60
}
A set of devices configs including a list of CAN Buses that CAN Monitor will try to bind to on launch as well as respective timeout lengths.
(note: additional buses can be added via cmd-line arguments, see canopen-monitor --help
)
layout.json
{
"data": [
{
"data": [
{
"capacity": null,
"fields": [],
"frame_types": [
"HEARTBEAT"
],
"name": "Hearbeats",
"type": "heartbeat_table"
},
{
"capacity": null,
"fields": [],
"frame_types": [],
"name": "Info",
"type": "info_table"
}
],
"split": "vertical",
"type": "grid"
},
{
"capacity": null,
"fields": [],
"frame_types": [
"NMT",
"SYNC",
"TIME",
"EMER",
"PDO1_TX",
"PDO1_RX",
"PDO2_TX",
"PDO2_RX",
"PDO3_TX",
"PDO3_RX",
"PDO4_TX",
"PDO4_RX",
"SDO_TX",
"SDO_RX",
"UKNOWN"
],
"name": "Misc",
"type": "misc_table"
}
],
"split": "horizontal",
"type": "grid"
}
A recursive set of dictionaries that define how CAN Monitor constructs the UI layout and what CAN Message types go to what tables.
nodes.json
{
"64": "MDC"
}
A list of COB ID's in decimal notation that have a paired name which will override the default display name of that node in CAN Monitor.
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 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for canopen_monitor-3.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77c2885649fab2299ce341904e26e3226deb0978457ef69ecfcaadc38d0e0808 |
|
MD5 | 2d2922d941468dc20aeb191cb56cc5ff |
|
BLAKE2b-256 | 61dccf5b5dfde80897720e1515bf2dfeb357e9548bbd6d347f8744d0e2d3b991 |