Skip to content

Converting Can (Controller Area Network) Database Formats .arxml .dbc .dbf .kcd ...

License

Notifications You must be signed in to change notification settings

ebroecker/canmatrix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dfe0018 · Feb 18, 2025
Feb 15, 2025
Oct 11, 2018
Jul 19, 2023
Nov 26, 2024
Feb 17, 2025
Apr 28, 2019
Jan 28, 2025
Sep 7, 2018
Jan 29, 2018
Sep 29, 2020
Nov 8, 2015
Feb 15, 2025
Feb 17, 2025
Jan 24, 2025
Dec 18, 2023
Feb 17, 2025
Jul 27, 2023
Feb 15, 2025

Repository files navigation

Canmatrix is a python package to read and write several CAN (Controller Area Network) database formats.

Latest Version on PyPi Support Version on PyPi Test coverage reports on Codecov Current Github Issues

About

Canmatrix implements a "Python Can Matrix Object" which describes the can-communication and the needed objects (Boardunits, Frames, Signals, Values, ...) Canmatrix also includes two Tools (canconvert and cancompare) for converting and comparing CAN databases.

  • Multiple formats automotive related communication matrix file parsing.
  • CAN message encoding and decoding.

Supported file formats for import:

.dbc candb / Vector

.dbf Busmaster (open source!)

.kcd kayak (open source!)

.arxml autosar system description

.yaml dump of the python object

.xls(x) excel xls-import, works with .xls-file generated by this lib

.sym peak pcan can description

.xml (fibex or CANopen eds)

.ldf (lin bus)

.odx (diagnostic file)

.eds

Supported file formats for export:

.dbc

.dbf

.kcd

.xls(x)

.json Canard (open source!)

.arxml (very basic implementation)

.yaml (dump of the python object)

.sym

.xml (fibex)

.lua (wireshark script)

.scapy

Project Homepage: https://github.com/ebroecker/canmatrix

Documentation: https://canmatrix.readthedocs.io

Installation

https://canmatrix.readthedocs.io/en/latest/installation.html

Chinese Translation / 中文安装方法解释及注意事项

Contributing

Source Code, Documentation, Examples, Report issues and Any other contributions are extremely appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Have Fun,

feel free to contact me for any suggestions

Eduard