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
:x: - 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
:heavy_minus_sign: - 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 | :heavy_check_mark: | :heavy_check_mark: |
Read programming voltage | :x: | :x: |
ISO-TP | :heavy_check_mark: | :heavy_check_mark: |
CAN | :heavy_minus_sign: | :heavy_minus_sign: |
ISO9141 | WIP | :x: |
ISO14230-4 | WIP | :x: |
J1850PWM | TODO | :x: |
J1850VPW | TODO | :x: |
SCI | :x: | :x: |
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