Metadata-Version: 2.4
Name: canopen-utils
Version: 1.0.2
Summary: A professional PySide6 CANopen bus monitor and simulator.
Author-email: Diego <diego@example.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PySide6>=6.5.0
Requires-Dist: python-can>=4.2.0
Requires-Dist: canopen>=2.2.0
Dynamic: license-file

# canopen-utils

A professional, live CANopen bus monitor and device simulator built with PySide6, python-can, and canopen.

## Features

### `canopen-inspect`
A live CANopen bus monitor that connects to hardware, loads EDS files, and translates raw CAN traffic into human-readable data in real-time.
- **Connection Manager**: Select CAN interface and bitrate.
- **Node Radar**: Automatically detect active nodes on the bus via Heartbeats, and allow assigning an EDS file to them. Send NMT commands (Start, Stop, Pre-Op) to individual nodes or broadcast.
- **Live TPDO Dashboard**: A table showing real-time updating values translated by the EDS.
- **SDO Explorer**: A tree view to browse the Object Dictionary and perform acyclic read/writes.
- **Traffic Trace**: A rolling log view translating raw hex CAN frames into human-readable object names on the fly.

### `canopen-sim`
A companion simulator that behaves like a real CANopen hardware node.
- Automatically enters `PRE-OPERATIONAL` and sends a 1Hz Heartbeat.
- Generates TPDOs according to a configurable simulated physics engine.
- Responds to NMT commands and SDO requests over the bus.

## Installation

You can install this package locally using pip:

```bash
pip install .
```

## Usage

After installing, the two executable scripts will be added to your PATH.

To run the inspector:
```bash
canopen-inspect
```

To run the simulator:
```bash
canopen-sim path/to/your/device.eds --bustype socketcan --channel vcan0
```
