A graphical tool for interacting with and visualizing CAN (Controller Area Network) signals. Uses dbc files to display messages and signals in the system.
- Real-time Monitoring: Plot and visualize CAN signals in real time.
- Interacting on the CAN bus: Application can act as the VCU (vehicle control unit) and specify signals and messages to send.
- User-friendly Interface: Simple GUI using
PySide6
andpyqtgraph
.
The tool requires the following Python packages:
cantools
python-can
pyqtgraph
PySide6
Plotly
-
Clone the repository:
git clone https://github.com/envgoinc/can_testbench.git cd can-testbench
-
Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the required packages:
pip install -r requirements.txt
The CAN bus interface setup depends on the specific hardware you are using. Configure your CAN device according to its manufacturer instructions. This program will support whatever CAN interfaces python-can supports.
-
Make sure your CAN interface is correctly configured and connected.
-
Launch the tool using:
python can_testbench.py
-
Use the GUI to interact with the CAN signals.
can_testbench.py
: Main application file containing the GUI logic and CAN communication.
To visualize and interact with specific CAN signals, you need to provide a CAN database file in .dbc
format. Once the application is running, load your .dbc
file via the GUI.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new feature branch.
- Commit your changes.
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE
file for details.