Module ecu_diagnostics::kwp2000[][src]

Expand description

Module for KWP2000 (Keyword protocol 2000 - ISO142330)

This module is written to be 100% compliant with the following vehicle manufactures which utilize KWP2000:

  • Dodge
  • Chrysler
  • Jeep
  • Mitsubishi (Abbreviated as MMC)
  • Daimler (Mercedes-Benz, Maybach and SMART)

Other manufacturer’s ECUs might also work, however they are untested.

based on KWP2000 v2.2 (05/08/02)

Structs

Identification of a software block on the ECU

ECU DBCom data. Used by read_ecu_dbcom_data

Identification structure read with read_daimler_identification

Identification structure read with read_daimler_mmc_identification

Development data of the ECU. Used by read_ecu_development_data

Global diagnostic parameter data. Used by read_system_diag_global_param_data

Diagnostic protocol information. Used by read_diag_protocol_info

Wrapper for ECU diagnostic information

Global process data

Handler for Input output control by local identifier requests (IOCTL) This allows for short term or long term actuation’s of components an ECU controls, or reporting a components current state.

Kwp2000 message payload

Kwp2000 Diagnostic server

KWP2000 server options

Base handler for KWP2000

KWP2000 Routine execution wrapper

Information on an individual code block on an ECU

ECU Code block fingerprint

Identification of a software version on the ECU

Vehicle identification. Used by read_ecu_vehicle_info

Enums

Denotes a single or range of DTCs that can be cleared from the ECU

Represents a range of DTCs to query from the ECU

KWP Command Service IDs.

KWP Error definitions

ECU Reset types

Routine exit status

Routine Identifier

KWP2000 diagnostic session type

Functions

Executes a DTC clear command on the ECU, given a range of DTCs to clear

Tells the ECU to switch off its normal communication paths with other ECUs. Normally message transmission will be resumed if the ECU looses power, or if enable_normal_message_transmission is called.

Tells the ECU to re-enable its normal communication paths with other ECUs.

Performs an ECU Reset operation

Returns the KWP2000 error from a given error code

Asks the ECU to report its most recent DTCs that has been stored. Only one DTC is returned if stored, otherwise no DTC is returned.

Reads the OBD Calibration ID from the ECU.

Reads the current VIN stored on the ECU

Reads data from a custom local identifier

Reads the calibration verification number from the ECU

Reads Daimler ECU identification from ECU

Reads Daimler and MMC ECU identification from ECU

Reads ECU data using a given identifier

Reads ECU protocol information. NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Reads the unique diagnostic variant code of the ECU

Reads code identification information from the ECU’s boot block

Reads code identification information from the ECU’s boot block

Reads module information from the ECU’s code block

Reads code identification information from the ECU’s code block

Reads the ECU’s current configuration status. NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Reads module information from the ECU’s data block

Reads code identification information from the ECU’s data block

Reads DBCom data from the ECU. NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Reads development data from the ECU. NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Reads flash data from block 1. NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Reads flash data from block 2. NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Reads the Operating system version on the ECU. NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Reads reprogramming fault report. The format is binary. This is to be interpreted by GSP/SDE.

Reads the ECU Serial number.

Reads vehicle information from the ECU. NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Upon execution of read_supported_dtcs or read_supported_dtcs_iso15031, if the transport layer restricts the number of DTCs that can be read, or the number of DTCs exceeds 255, then this function will return the number of remaining supported of DTCs to read. read_supported_dtcs or read_supported_dtcs_iso15031 should be executed to read the rest of the DTCs again within the ECUs P3-MAX time window

Reads the contents of RAM memory on the ECU given a 3 byte address, and 1 byte size. The maximum value for address is 0xFFFFFF, any larger values will be clamped.

Reads the original VIN programmed onto the ECU from the manufacturer

Reads the status of a given DTC.

Returns a list of stored DTCs on the ECU in KWP2000 format

Returns a list of stored DTCs on the ECU in ISO15031-6 format

Returns a list of all supported DTCs on the ECU regardless of their status, in KWP2000 format.

Returns a list of all supported DTCs on the ECU regardless of their status in ISO15031-6 format

Reads general diagnostic parameter data from the ECU (SDCOM). NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Reads global diagnostic parameter data from the ECU. NOT IMPLEMENTED YET (Will return DiagError::NotImplemented)

Requests a seed from the ECU

Sets the ECU into a diagnostic mode

Attempts to unlock the access mode to the ECU, using a computed key using the seed provided with request_seed