J2534 drivers for various Macchina hardware
J2534 drivers for various Macchina hardware
This is a experimental driver which is built in Rust, and is unofficially ported to Linux and OSX as well as Windows.
The Linux and OSX port can be utilized by OpenVehicleDiag
❌ - Feature is not supported by the adapter
TODO - Feature is supported by the adapter, but work is needed on the driver side in order to utilize it
➖ - Feature works, however some parts of the full implementation are missing, so some bugs might exist
✔️ - Feature works fully according to the J2534 specification
J2534 feature | M2 UTD | A0 |
---|---|---|
Read battery voltage | ✔️ | ✔️ |
Read programming voltage | ❌ | ❌ |
ISO-TP | ✔️ | ✔️ |
CAN | ➖ | ➖ |
ISO9141 | WIP | ❌ |
ISO14230-4 | WIP | ❌ |
J1850PWM | TODO | ❌ |
J1850VPW | TODO | ❌ |
SCI | ❌ | ❌ |
The process is generally the same for all supported hardware.
You will need to install the i686-pc-windows-msvc toolchain!
$ rustup run stable-i686-pc-windows-msvc
You need to install libudev-dev
prior to building!
C:\Program Files (x86)\macchina\passthru\
passthru
directory write permissions for your user accountbuild.bat
. This will compile and install the driveWIN_DRIVER.reg
and modify the COM-PORT attributes in the reg file to match that of your adapter as listed in device managerWIN_DRIVER.reg
file with the Windows registry~/.passthru/
build.sh
~/.passthru/
folder, you will find 2 JSON files. One for the M2 (macchina_m2.json
) and one for the A0 (macchina_a0.json
). Change the COM-PORT
attribute in the JSON to match that of your TTY port your adapter uses.MACCHINA_CONFIG.h
, such that the file looks like the following depending on your target device:For A0
//#define CFG_MACCHINA_M2
#define CFG_MACCHINA_A0
//#define CFG_MACCHINA_ESP32_TEST
For M2
#define CFG_MACCHINA_M2
//#define CFG_MACCHINA_A0
//#define CFG_MACCHINA_ESP32_TEST