uholeschak / ediabaslib

.NET BMW and VAG Ediabas interpreter library
GNU General Public License v3.0
678 stars 158 forks source link
ads android best best1 best2 bmw can ediabas enet inpa iso9141 kwp2000 obd tool32

Project Description

.NET BMW and VAG Ediabas interpreter library

Features

This .NET assembly is small and fast replacement for the BWM and VAG Ediabas toolset.
It's running on all platforms that support .NET framework (Windows, Windows CE, Mono).
The code is speed optimized, but improved for multiple calls of the same job.
This means the first job call is slow and the next are faster.

The library can directly read and interpret .GRP and .PRG files, the internal interface is similar to the EDIABAS API or the Tool32.exe GUI interface.
At the moment the D-CAN, BMW-FAST, KWP-2000*, KWP-2000 BMW, DS2, DS1, Concept 3, ISO9141 (Concept 2) and Concept 1 concepts are supported. If you send me EDIABAS log files from other concepts I could add them if possible.
Now a variant that can be used with cars from the VAG group has been released, but it requires an adapter with the Replacement firmware for ELM327. In this mode, the protocols KWP2000, KWP1281 and TP2.0 are supported (cars until 4.2012).

For testing, there is a console application EdiabasTest with command line parameters.

More informations could be found in the Documentation section.
These are expert tools, I have no time for detailed support. Please search the internet for EDIABAS, Tool32, INPA, ISTA-D, ISTA-P e.g. or use forums to get help.

If you want to support the development you could donate a small amount.
paypal

Binary Compatibility

A binary compatible api32.dll wrapper is existing, it's possible to replace the existing EDIABAS api32.dll with the EdiabasLib api32.dll and the applications are still working (The dll requires .NET framework 4.7.2 or higher and VS2015 C++ runtime to be installed)!
This has been tested with Tool32, INPA and Rheingold. Since EdiabasNet is ignoring the EDIABAS.INI file you have to put your own EdiabasLib.config in the api32.dll directory.

A compatible apiNET32.dll is also available, so it should be easy to port existing .NET applications that use the original EDIABAS library.

Android

Now there is also a library existing that is working with Mono for Android. For communication, either FTDI USB or Bluetooth Serial Port Protocol (SSP) protocol could be used.

Deep OBD

Additionally an Android application _Deep OBD_ is existing, that is configurable via XML. Generation of XML code could be simplified with the integrated configuration generator.
Download app from Google Play: https://play.google.com/store/apps/details?id=de.holeschak.bmw_deep_obd
Deep OBD for BMW and VAG supports several OBD II adapters:

More details could be found here: Supported adapter types

Bluetooth adapter top

ENET adapter
BMW deep OBD and VAG BMW deep OBD and VAG

Android Auto

There is an Android Auto test version of the app available. Please contact the developer, if you want to test it.

Hints

At the moment most BEST/1 commands are implemented, but a few are still missing, which seem to be not required in the current ECU files.
The implemented commands are automatically tested and compared with EDIABAS output.