OBD-II collects vehicle data from the engine control unit (ECU) and offers valuable information when troubleshooting with OBD2 tools from a vehicle. The SAE J1979 standard specifies a method for requesting various diagnostic data and a list of standard OBD codes that might be available from the ECU.
These codes that are available are addressed by "parameter identification numbers" or PIDs defined in J1979. For a list of basic PIDs, their definitions, and the formula to convert raw OBD-II output to meaningful diagnostic units, see OBD-II PIDs. Auto manufacturers are not required to implement all PIDs listed and are allowed to adopt proprietary PIDs that are not listed. The PID request and data retrieval system provides access to real time performance data as well as flagged DTCs. For a list of generic OBD-II DTCs suggested by the SAE, see Table of OBD-II Codes. Individual auto manufacturers often improve the OBD-II code set with additional proprietary DTCs.