A cross-platform crate with FFI bindings to allow for complex vehicle ECU diagnostics.
Currently this crate is not 100% ready for use. Check the feature matrix below for each diagnostic server's checklist
ISO9141 - OBD2 is a legal requirement on all vehicles produced from 2002, allowing for reading of sensor data, reading and clearing standard DTCs, and reading basic vehicle information. OBD2 is designed to be safe and simple, and does not write data to the ECU.
ISO14230 - KWP2000 is a advanced diagnostic protocol utilized by many vehicle manufacturers from 2000-2006 (Superseded by UDS).
Unlike OBD2, KWP2000 allows for much more complex operations, which could potentially cause damage to a vehicle if used incorrectly.
A few examples of features allowed by KWP2000 are
* ECU flashing
* Clearing and reading of permanent DTCs
* Manipulation of ECU communication parameters
* Low level manipulation of ECU's EEPROM or RAM
* Gateway access in vehicles which have them
The specification implemented in this crate is v2.2, dated 05-08-2002
### Unified diagnostic services (UDS) ISO14429 - UDS is an advanced diagnostic protocol utilized by almost all vehicle manufacturers from 2006 onwards. Like KWP2000, this protocol allows for reading/writing directly to the ECU, and should therefore be used with caution.
The specification implemented in this crate is the second edition, dated 01-12-2006.
TBA
Custom service support: YES
Working specification services: * StartDiagnosticSession * ECUReset * ReadDTCByStatus * ReadECUIdentification * ReadStatusOfDTC * ClearDiagnosticInformation
Custom service support: YES
Working specification services: