瀏覽代碼

Checking OBD Codes

git-svn-id: svn://svn.siningsoft.de/myCar@21 4258477e-9397-4ceb-bd8a-6305f6291781
devnull 4 年之前
父節點
當前提交
36947fc16a

+ 16 - 0
doc/OBD_Codes/Audi_DTC_Codes.txt

@@ -0,0 +1,16 @@
+P1101 - O2 Sensor Circ.,Bank1-Sensor1Voltage too Low/Air Leak P1102 - O2 Sensor Heating Circ.,Bank1-Sensor1 Short to B+ P1103 - O2 Sensor Heating Circ.,Bank1-Sensor1 Output too Low P1104 - Bank1-Sensor2 Voltage too Low/Air Leak P1105 - O2 Sensor Heating Circ.,Bank1-Sensor2 Short to B+ P1106 - O2 Sensor Circ.,Bank2-Sensor1 Voltage too Low/Air Leak P1107 - O2 Sensor Heating Circ.,Bank2-Sensor1 Short to B+ P1108 - O2 Sensor Heating Circ.,Bank2-Sensor1 Output too Low P1109 - O2 Sensor Circ.,Bank2-Sensor2 Voltage too Low/Air Leak P1110 - O2 Sensor Heating Circ.,Bank2-Sensor2 Short to B+ P1111 - O2 Control (Bank 1) System too lean P1112 - O2 Control (Bank 1) System too rich P1113 - Bank1-Sensor1 Internal Resistance too High P1114 - Bank1-Sensor2 Internal Resistant too High P1115 - O2 Sensor Heater Circ.,Bank1-Sensor1 Short to Ground P1116 - O2 Sensor Heater Circ.,Bank1-Sensor1 Open P1117 - O2 Sensor Heater Circ.,Bank1-Sensor2 Short to Ground P1118 - O2 Sensor Heater Circ.,Bank1-Sensor2 Open P1119 - O2 Sensor Heater Circ.,Bank2-Sensor1 Short to Ground P1120 - O2 Sensor Heater Circ.,Bank2-Sensor1 Open P1121 - O2 Sensor Heater Circ.,Bank2-Sensor2 Short to Ground P1122 - O2 Sensor Heater Circ.,Bank2-Sensor2 Open P1123 - Long Term Fuel Trim Add.Air.,Bank1 System too Rich P1124 - Long Term Fuel Trim Add.Air.,Bank1 System too Lean P1125 - Long Term Fuel Trim Add.Air.,Bank2 System too Rich P1126 - Long Term Fuel Trim Add.Air.,Bank2 System too Lean P1127 - Long Term Fuel Trim mult.,Bank1 System too Rich P1128 - Long Term Fuel Trim mult.,Bank1 System too Lean P1129 - Long Term Fuel Trim mult.,Bank2 System too Rich P1130 - Long Term Fuel Trim mult.,Bank2 System too Lean P1131 - Bank2-Sensor1 Internal Rsistance too High P1132 - O2 Sensor Heating Circ.,Bank1+2-Sensor1 Short to B+ P1133 - O2 Sensor Heating Circ.,Bank1+2-Sensor1 Electrical Malfunction
+2. P1134 - O2 Sensor Heating Circ.,Bank1+2-Sensor2 Short to B+ P1135 - O2 Sensor Heating Circ.,Bank1+2-Sensor2 Electrical Malfunction P1136 - Long Term Fuel Trim Add.Fuel,Bank1 System too Lean P1137 - Long Term Fuel Trim Add.Fuel,Bank1 System too Rich P1138 - Long Term Fuel Trim Add.Fuel,Bank2 System too Lean P1139 - Long Term Fuel Trim Add.Fuel,Bank2 System too Rich P1140 - Bank2-Sensor2 Internal Resistance too High P1141 - Load Calculation Cross Check Range/Performance P1142 - Load Calculation Cross Check Lower Limit Exceeded P1143 - Load Calculation Cross Check Upper Limit Exceeded P1144 - Mass or Volume Air Flow Circ Open/Short to Ground P1145 - Mass or Volume Air Flow Circ Short to B+ P1146 - Mass or Volume Air Flow Circ Supply Malfunction P1147 - O2 Control (Bank 2) System too lean P1148 - O2 Control (Bank 2) System too rich P1149 - O2 Control (Bank 1) Out of range P1150 - O2 Control (Bank 2) Out of range P1151 - Bank1, Long Term Fuel Trim, Range 1 Leanness Lower Limit Exceeded P1152 - Bank1, Long Term Fuel Trim, Range 2 Leanness Lower Limit Exceeded P1154 - Manifold Switch Over Malfunction P1155 - Manifold Abs.Pressure Sensor Circ. Short to B+ P1156 - Manifold Abs.Pressure Sensor Circ. Open/Short to Ground P1157 - Manifold Abs.Pressure Sensor Circ. Power Supply Malfunction P1158 - Manifold Abs.Pressure Sensor Circ. Range/Performance P1160 - Manifold Temp.Sensor Circ. Short to Ground P1161 - Manifold Temp.Sensor Circ. Open/Short to B+ P1162 - Fuel Temp.Sensor Circ. Short to Ground P1163 - Fuel Temp.Sensor Circ. Open/Short to B+ P1164 - Fuel Temperature Sensor Range/Performance/Incorrect Signal P1165 - Bank1, Long Term Fuel Trim, Range 1 Rich Limit Exceeded P1166 - Bank1, Long Term Fuel Trim, Range 2 Rich Limit Exceeded P1171 - Throttle Actuation Potentiometer Sign.2 Range/Performance P1172 - Throttle Actuation Potentiometer Sign.2 Signal too Low P1173 - Throttle Actuation Potentiometer Sign.2 Signal too High
+3. P1174 - Fuel Trim, Bank 1 Different injection times P1176 - O2 Correction Behind Catalyst,B1 Limit Attained P1177 - O2 Correction Behind Catalyst,B2 Limit Attained P1178 - Linear 02 Sensor / Pump Current Open Circuit P1179 - Linear 02 Sensor / Pump Current Short to ground P1180 - Linear 02 Sensor / Pump Current Short to B+ P1181 - Linear 02 Sensor / Reference Voltage Open Circuit P1182 - Linear 02 Sensor / Reference Voltage Short to ground P1183 - Linear 02 Sensor / Reference Voltage Short to B+ P1184 - Linear 02 Sensor / Common Ground Wire Open Circuit P1185 - Linear 02 Sensor / Common Ground Wire Short to ground P1186 - Linear 02 Sensor / Common Ground Wire Short to B+ P1187 - Linear 02 Sensor / Compens. Resistor Open Circuit P1188 - Linear 02 Sensor / Compens. Resistor Short to ground P1189 - Linear 02 Sensor / Compens. Resistor Short to B+ P1190 - Linear 02 Sensor / Reference Voltage Incorrect Signal P1196 - O2 Sensor Heater Circ.,Bank1-Sensor1 Electrical Malfunction P1197 - O2 Sensor Heater Circ.,Bank2-Sensor1 Electrical Malfunction P1198 - O2 Sensor Heater Circ.,Bank1-Sensor2 Electrical Malfunction P1199 - O2 Sensor Heater Circ.,Bank2-Sensor2 Electrical Malfunction P1201 - Cyl.1-Fuel Inj.Circ. Electrical Malfunction P1202 - Cyl.2-Fuel Inj.Circ. Electrical Malfunction P1203 - Cyl.3-Fuel Inj.Circ. Electrical Malfunction P1204 - Cyl.4-Fuel Inj.Circ. Electrical Malfunction P1205 - Cyl.5-Fuel Inj.Circ. Electrical Malfunction P1206 - Cyl.6-Fuel Inj.Circ. Electrical Malfunction P1207 - Cyl.7-Fuel Inj.Circ. Electrical Malfunction P1208 - Cyl.8-Fuel Inj.Circ. Electrical Malfunction P1209 - Intake valves for cylinder shut-off Short circuit to ground P1210 - Intake valves for cylinder shut-off Short to B+ P1211 - Intake valves for cylinder shut-off Open circuit P1213 - Cyl.1-Fuel Inj.Circ. Short to B+ P1214 - Cyl.2-Fuel Inj.Circ. Short to B+ P1215 - Cyl.3-Fuel Inj.Circ. Short to B+
+4. P1216 - Cyl.4-Fuel Inj.Circ. Short to B+ P1217 - Cyl.5-Fuel Inj.Circ. Short to B+ P1218 - Cyl.6-Fuel Inj.Circ. Short to B+ P1219 - Cyl.7-Fuel Inj.Circ. Short to B+ P1220 - Cyl.8-Fuel Inj.Circ. Short to B+ P1221 - Cylinder shut-off exhaust valves Short circuit to ground P1222 - Cylinder shut-off exhaust valves Short to B+ P1223 - Cylinder shut-off exhaust valves Open circuit P1225 - Cyl.1-Fuel Inj.Circ. Short to Ground P1226 - Cyl.2-Fuel Inj.Circ. Short to Ground P1227 - Cyl.3-Fuel Inj.Circ. Short to Ground P1228 - Cyl.4-Fuel Inj.Circ. Short to Ground P1229 - Cyl.5-Fuel Inj.Circ. Short to Ground P1230 - Cyl.6-Fuel Inj.Circ. Short to Ground P1231 - Cyl.7-Fuel Inj.Circ. Short to Ground P1232 - Cyl.8-Fuel Inj.Circ. Short to Ground P1237 - Cyl.1-Fuel Inj.Circ. Open Circ. P1238 - Cyl.2-Fuel Inj.Circ. Open Circ. P1239 - Cyl.3-Fuel Inj.Circ. Open Circ. P1240 - Cyl.4-Fuel Inj.Circ. Open Circ. P1241 - Cyl.5-Fuel Inj.Circ. Open Circ. P1242 - Cyl.6-Fuel Inj.Circ. Open Circ. P1243 - Cyl.7-Fuel Inj.Circ. Open Circ. P1244 - Cyl.8-Fuel Inj.Circ. Open Circ. P1245 - Needle Lift Sensor Circ. Short to Ground P1246 - Needle Lift Sensor Circ. Range/Performance P1247 - Needle Lift Sensor Circ. Open/Short to B+ P1248 - Injection Start Control Deviation P1249 - Fuel consumption signal Electrical Fault in Circuit P1250 - Fuel Level Too Low P1251 - Start of Injection Solenoid Circ Short to B+ P1252 - Start of Injection Solenoid Circ Open/Short to Ground P1253 - Fuel consumption signal Short to ground P1254 - Fuel consumption signal Short to B+
+5. P1255 - Engine Coolant Temp.Circ Short to Ground P1256 - Engine Coolant Temp.Circ Open/Short to B+ P1257 - Engine Coolant System Valve Open P1258 - Engine Coolant System Valve Short to B+ P1259 - Engine Coolant System Valve Short to Ground P1280 - Fuel Inj.Air Contr.Valve Circ. Flow too Low P1283 - Fuel Inj.Air Contr.Valve Circ. Electrical Malfunction P1284 - Fuel Inj.Air Contr.Valve Circ. Open P1285 - Fuel Inj.Air Contr.Valve Circ. Short to Ground P1286 - Fuel Inj.Air Contr.Valve Circ. Short to B+ P1287 - Turbocharger bypass valve open P1288 - Turbocharger bypass valve short to B+ P1289 - Turbocharger bypass valve short to ground P1296 - Cooling system malfunction P1297 - Connection turbocharger - throttle valve pressure hose P1300 - Misfire detected Reason: Fuel level too low P1319 - Knock Sensor 1 Circ. Short to Ground P1320 - Knock Sensor 2 Circ. Short to Ground P1321 - Knock Sensor 3 Circ. Low Input P1322 - Knock Sensor 3 Circ. High Input P1323 - Knock Sensor 4 Circ. Low Input P1324 - Knock Sensor 4 Circ. High Input P1325 - Cyl.1-Knock Contr. Limit Attained P1326 - Cyl.2-Knock Contr. Limit Attained P1327 - Cyl.3-Knock Contr. Limit Attained P1328 - Cyl.4-Knock Contr. Limit Attained P1329 - Cyl.5-Knock Contr. Limit Attained P1330 - Cyl.6-Knock Contr. Limit Attained P1331 - Cyl.7-Knock Contr. Limit Attained P1332 - Cyl.8-Knock Contr. Limit Attained P1335 - Engine Torque Monitoring 2 Control Limint Exceeded P1336 - Engine Torque Monitoring Adaptation at limit P1337 - Camshaft Pos.Sensor,Bank1 Short to Ground P1338 - Camshaft Pos.Sensor,Bank1 Open Circ./Short to B+
+6. P1339 - Crankshaft Pos./Engine Speed Sensor Cross Connected P1340 - Crankshaft-/Camshaft Pos.Sens.Signals Out of Sequence P1341 - Ignition Coil Power Output Stage 1 Short to Ground P1342 - Ignition Coil Power Output Stage 1 Short to B+ P1343 - Ignition Coil Power Output Stage 2 Short to Ground P1344 - Ignition Coil Power Output Stage 2 Short to B+ P1345 - Ignition Coil Power Output Stage 3 Short to Ground P1346 - Ignition Coil Power Output Stage 3 Short to B+ P1347 - Bank2,Crankshaft-/Camshaft os.Sens.Sign. Out of Sequence P1348 - Ignition Coil Power Output Stage 1 Open Circuit P1349 - Ignition Coil Power Output Stage 2 Open Circuit P1350 - Ignition Coil Power Output Stage 3 Open Circuit P1354 - Modulation Piston Displ.Sensor Circ. Malfunction P1355 - Cyl. 1, ignition circuit Open Circuit P1356 - Cyl. 1, ignition circuit Short to B+ P1357 - Cyl. 1, ignition circuit Short to ground P1358 - Cyl. 2, ignition circuit Open Circuit P1359 - Cyl. 2, ignition circuit Short Circuit to B+ P1360 - Cyl. 2, ignition circuit Short Circuit to Ground P1361 - Cyl. 3, ignition circuit Open Circuit P1362 - Cyl. 3, ignition circuit Short Circuit to B+ P1363 - Cyl. 3, ignition circuit Short Circuit to ground P1364 - Cyl. 4 ignition circuit Open Circuit P1365 - Cyl. 4 ignition circuit Short circuit to B+ P1366 - Cyl. 4 ignition circuit Short circuit to ground P1367 - Cyl. 5, ignition circuit Open Circuit P1368 - Cyl. 5, ignition circuit Short Circuit to B+ P1369 - Cyl. 5, ignition circuit short to ground P1370 - Cyl. 6, ignition circuit Open Circuit P1371 - Cyl. 6, ignition circuit Short Circuit to B+ P1372 - Cyl. 6, ignition circuit short to ground P1373 - Cyl. 7, ignition circuit Open Circuit P1374 - Cyl. 7, ignition circuit Short Circuit to B+ P1375 - Cyl. 7, ignition circuit short to ground
+7. P1376 - Cyl. 8, ignition circuit Open Circuit P1377 - Cyl. 8, ignition circuit Short Circuit to B+ P1378 - Cyl. 8, ignition circuit short to ground P1386 - Internal Control Module Knock Control Circ.Error P1387 - Internal Contr. Module altitude sensor error P1388 - Internal Contr. Module drive by wire error P1391 - Camshaft Pos.Sensor,Bank2 Short to Ground P1392 - Camshaft Pos.Sensor,Bank2 Open Circ./Short to B+ P1393 - Ignition Coil Power Output Stage 1 Electrical Malfunction P1394 - Ignition Coil Power Output Stage 2 Electrical Malfunction P1395 - Ignition Coil Power Output Stage 3 Electrical Malfunction P1396 - Engine Speed Sensor Missing Tooth P1397 - Engine speed wheel Adaptation limit reached P1398 - Engine RPM signal, TD Short to ground P1399 - Engine RPM signal, TD Short Circuit to B+ P1400 - EGR Valve Circ Electrical Malfunction P1401 - EGR Valve Circ Short to Ground P1402 - EGR Valve Circ Short to B+ P1403 - EGR Flow Deviation P1404 - EGR Flow Basic Setting not carried out P1406 - EGR Temp.Sensor Range/Performance P1407 - EGR Temp.Sensor Signal too Low P1408 - EGR Temp.Sensor Signal too High P1409 - Tank Ventilation Valve Circ. Electrical Malfunction P1410 - Tank Ventilation Valve Circ. Short to B+ P1411 - Sec.Air Inj.Sys.,Bank2 Flow too Flow P1412 - EGR Different.Pressure Sensor Signal too Low P1413 - EGR Different.Pressure Sensor Signal too High P1414 - Sec.Air Inj.Sys.,Bank2 Leak Detected P1417 - Fuel Level Sensor Circ Signal too Low P1418 - Fuel Level Sensor Circ Signal too High P1420 - Sec.Air Inj.Valve Circ Electrical Malfunction P1421 - Sec.Air Inj.Valve Circ Short to Ground P1422 - Sec.Air Inj.Sys.Contr.Valve Circ Short to B+
+8. P1423 - Sec.Air Inj.Sys.,Bank1 Flow too Low P1424 - Sec.Air Inj.Sys.,Bank1 Leak Detected P1425 - Tank Vent.Valve Short to Ground P1426 - Tank Vent.Valve Open P1432 - Sec.Air Inj.Valve Open P1433 - Sec.Air Inj.Sys.Pump Relay Circ. open P1434 - Sec.Air Inj.Sys.Pump Relay Circ. Short to B+ P1435 - Sec.Air Inj.Sys.Pump Relay Circ. Short to ground P1436 - Sec.Air Inj.Sys.Pump Relay Circ. Electrical Malfunction P1439 - EGR Potentiometer Error in Basic Seting P1440 - EGR Valve Power Stage Open P1441 - EGR Valve Circ Open/Short to Ground P1442 - EGR Valve Position Sensor Signal too high P1443 - EGR Valve Position Sensor Signal too low P1444 - EGR Valve Position Sensor range/performance P1445 - Catalyst Temp.Sensor 2 Circ. Range/Performance P1446 - Catalyst Temp.Circ Short to Ground P1447 - Catalyst Temp.Circ Open/Short to B+ P1448 Catalyst Temp.Sensor 2 Circ. Short to Ground P1449 - Catalyst Temp.Sensor 2 Circ. Open/Short to B+ P1450 - Sec.Air Inj.Sys.Circ Short to B+ P1451 - Sec.Air Inj.Sys.Circ Short to Ground P1452 - Sec.Air Inj.Sys. Open Circ. P1453 - Exhaust gas temperature sensor 1 open/short to B+ P1454 - Exhaust gas temperature sensor short 1 to ground P1455 - Exhaust gas temperature sensor 1 range/performance P1456 - Exhaust gas temperature control bank 1 limit attained P1457 - Exhaust gas temperature sensor 2 open/short to B+ P1458 - Exhaust gas temperature sensor 2 short to ground P1459 - Exhaust gas temperature sensor 2 range/performance P1460 - Exhaust gas temperature control bank 2 limit attained P1461 - Exhaust gas temperature control bank 1 Range/Performance P1462 - Exhaust gas temperature control bank 2 Range/Performance P1465 - Additive Pump Short Circuit to B+
+9. P1466 - Additive Pump Open/Short to Ground P1467 - EVAP Canister Purge Solenoid Valve Short Circuit to B+ P1468 - EVAP Canister Purge Solenoid Valve Short Circuit to Ground P1469 - EVAP Canister Purge Solenoid Valve Open Circuit P1470 - EVAP Emission Contr.LDP Circ Electrical Malfunction P1471 - EVAP Emission Contr.LDP Circ Short to B+ P1472 - EVAP Emission Contr.LDP Circ Short to Ground P1473 - EVAP Emission Contr.LDP Circ Open Circ. P1474 - EVAP Canister Purge Solenoid Valve electrical malfunction P1475 - EVAP Emission Contr.LDP Circ Malfunction/Signal Circ.Open P1476 - EVAP Emission Contr.LDP Circ Malfunction/Insufficient Vacuum P1477 - EVAP Emission Contr.LDP Circ Malfunction P1478 - EVAP Emission Contr.LDP Circ Clamped Tube Detected P1500 - Fuel Pump Relay Circ. Electrical Malfunction P1501 - Fuel Pump Relay Circ. Short to Ground P1502 - Fuel Pump Relay Circ. Short to B+ P1503 - Load signal from Alternator Term. DF Range/performance/Incorrect Signal P1504 - Intake Air Sys.Bypass Leak Detected P1505 - Closed Throttle Pos. Does Not Close/Open Circ P1506 - Closed Throttle Pos.Switch Does Not Open/Short to Ground P1507 - Idle Sys.Learned Value Lower Limit Attained P1508 - Idle Sys.Learned Value Upper Limit Attained P1509 - Idle Air Control Circ. Electrical Malfunction P1510 - Idle Air Control Circ. Short to B+ P1511 - Intake Manifold Changeover Valve circuit electrical malfunction P1512 - Intake Manifold Changeover Valve circuit Short to B+ P1513 - Intake Manifold Changeover Valve2 circuit Short to B+ P1514 - Intake Manifold Changeover Valve2 circuit Short to ground P1515 - Intake Manifold Changeover Valve circuit Short to Ground P1516 - Intake Manifold Changeover Valve circuit Open P1517 - Main Relay Circ. Electrical Malfunction P1518 - Main Relay Circ. Short to B+ P1519 - Intake Camshaft Contr.,Bank1 Malfunction P1520 - Intake Manifold Changeover Valve2 circuit Open
+10. P1521 - Intake Manifold Changeover Valve2 circuit electrical malfunction P1522 - Intake Camshaft Contr.,Bank2 Malfunction P1523 - Crash Signal from Airbag Control Unit range/performance P1525 - Intake Camshaft Contr.Circ.,Bank1 Electrical Malfunction P1526 - Intake Camshaft Contr.Circ.,Bank1 Short to B+ P1527 - Intake Camshaft Contr.Circ.,Bank1 Short to Ground P1528 - Intake Camshaft Contr.Circ.,Bank1 Open P1529 - Camshaft Control Circuit Short to B+ P1530 - Camshaft Control Circuit Short to ground P1531 - Camshaft Control Circuit open P1533 - Intake Camshaft Contr.Circ.,Bank2 Electrical Malfunction P1534 - Intake Camshaft Contr.Circ.,Bank2 Short to B+ P1535 - Intake Camshaft Contr.Circ.,Bank2 Short to Ground P1536 - Intake Camshaft Contr.Circ.,Bank2 Open P1537 - Engine Shutoff Solenoid Malfunction P1538 - Engine Shutoff Solenoid Open/Short to Ground P1539 - Clutch Vacuum Vent Valve Switch Incorrect signal P1540 - Vehicle Speed Sensor High Input P1541 - Fuel Pump Relay Circ Open P1542 - Throttle Actuation Potentiometer Range/Performance P1543 - Throttle Actuation Potentiometer Signal too Low P1544 - Throttle Actuation Potentiometer Signal too High P1545 - Throttle Pos.Contr Malfunction P1546 - Boost Pressure Contr.Valve Short to B+ P1547 - Boost Pressure Contr.Valve Short to Ground P1548 - Boost Pressure Contr.Valve Open P1549 - Boost Pressure Contr.Valve Short to Ground P1550 - Charge Pressure Deviation P1551 - Barometric Pressure Sensor Circ. Short to B+ P1552 - Barometric Pressure Sensor Circ. Open/Short to Ground P1553 - Barometric/manifold pressure signal ratio out of range P1554 - Idle Speed Contr.Throttle Pos. Basic Setting Conditions not met P1555 - Charge Pressure Upper Limit exceeded P1556 - Charge Pressure Contr. Negative Deviation
+11. P1557 - Charge Pressure Contr. Positive Deviation P1558 - Throttle Actuator Electrical Malfunction P1559 - Idle Speed Contr.Throttle Pos. Adaptation Malfunction P1560 - Maximum Engine Speed Exceeded P1561 - Quantity Adjuster Deviation P1562 - Quantity Adjuster Upper Limit Attained P1563 - Quantity Adjuster Lower Limit Attained P1564 - Idle Speed Contr.Throttle Pos. Low Voltage During Adaptation P1565 - Idle Speed Control Throttle Position lower limit not attained P1566 - Load signal from A/C compressor range/performance P1567 - Load signal from A/C compressor no signal P1568 - Idle Speed Contr.Throttle Pos. mechanical Malfunction P1569 - Cruise control switch Incorrect signal P1570 - Contr.Module Locked P1571 - Left Eng. Mount Solenoid Valve Short to B+ P1572 - Left Eng. Mount Solenoid Valve Short to ground P1573 - Left Eng. Mount Solenoid Valve Open circuit P1574 - Left Eng. Mount Solenoid Valve Electrical fault in circuit P1575 - Right Eng. Mount Solenoid Valve Short to B+ P1576 - Right Eng. Mount Solenoid Valve Short to ground P1577 - Right Eng. Mount Solenoid Valve Open circuit P1578 - Right Eng. Mount Solenoid Valve Electrical fault in circuit P1579 - Idle Speed Contr.Throttle Pos. Adaptation not started P1580 - Throttle Actuator B1 Malfunction P1581 - Idle Speed Contr.Throttle Pos. Basic Setting Not Carried Out P1582 - Idle Adaptation at Limit P1583 - Transmission mount valves Short to B+ P1584 - Transmission mount valves Short to ground P1585 - Transmission mount valves Open circuit P1586 - Engine mount solenoid valves Short to B+ P1587 - Engine mount solenoid valves Short to ground P1588 - Engine mount solenoid valves Open circuit P1600 - Power Supply (B+) Terminal 15 Low Voltage P1602 - Power Supply (B+) Terminal 30 Low Voltage
+12. P1603 - Internal Control Module Malfunction P1604 - Internal Control Module Driver Error P1605 - Rough Road/Acceleration Sensor Electrical Malfunction P1606 - Rough Road Spec Engine Torque ABS-ECU Electrical Malfunction P1607 - Vehicle speed signal Error message from instrument cluster P1608 - Steering angle signal Error message from steering angle sensor P1609 - Crash shut-down activated P1611 - MIL Call-up Circ./Transm.Contr.Module Short to Ground P1612 - Electronic Control Module Incorrect Coding P1613 - MIL Call-up Circ Open/Short to B+ P1614 - MIL Call-up Circ./Transm.Contr.Module Range/Performance P1615 - Engine Oil Temperature Sensor Circuit range/performance P1616 - Glow Plug/Heater Indicator Circ. Short to B+ P1617 - Glow Plug/Heater Indicator Circ. Open/Short to Ground P1618 - Glow Plug/Heater Relay Circ. Short to B+ P1619 - Glow Plug/Heater Relay Circ. Open/Short to Ground P1620 - Engine coolant temperature signal open/short to B+ P1621 - Engine coolant temperature signal short to ground P1622 - Engine coolant temperature signal range/performance P1623 - Data Bus Powertrain No Communication P1624 - MIL Request Sign.active P1625 - Data-Bus Powertrain Unplausible Message from Transm.Contr. P1626 - Data-Bus Powertrain Missing Message from Transm.Contr. P1627 - Data-Bus Powertrain missing message from fuel injection pump P1628 - Data-Bus Powertrain missing message from steering sensor P1629 - Data-Bus Powertrain missing message from distance control P1630 - Accelera.Pedal Pos.Sensor 1 Signal too Low P1631 - Accelera.Pedal Pos.Sensor 1 Signal too High P1632 - Accelera.Pedal Pos.Sensor 1 Power Supply Malfunction P1633 - Accelera.Pedal Pos.Sensor 2 Signal too Low P1634 - Accelera.Pedal Pos.Sensor 2 Signal too High P1635 - Data Bus Powertrain missing message f.air condition control P1636 - Data Bus Powertrain missing message from Airbag control P1637 - Data Bus Powertrain missing message f.central electr.control
+13. P1638 - Data Bus Powertrain missing message from clutch control P1639 - Accelera.Pedal Pos.Sensor 1+2 Range/Performance P1640 - Internal Contr.Module (EEPROM) Error P1641 - Please check DTC Memory of Air Condition ECU P1642 - Please check DTC Memory of Airbag ECU P1643 - Please check DTC Memory of central electric ECU P1644 - Please check DTC Memory of clutch ECU P1645 - Data Bus Powertrain missing message f.all wheel drive contr. P1646 - Please Check DTC Memory of all wheel drive ECU P1647 - Please check coding of ECUs in Data Bus Powertrain P1648 - Data Bus Powertrain Malfunction P1649 - Data Bus Powertrain Missing message from ABS Control Module P1650 - Data Bus Powertrain Missing message fr.instrument panel ECU P1651 - Data Bus Powertrain missing messages P1652 - Please check DTC Memory of transmission ECU P1653 - Please check DTC Memory of ABS Control Module P1654 - Please check DTC Memory of control panel ECU P1655 - Please check DTC Memory of ADR Control Module P1656 - A/C clutch relay circuit short to ground P1657 - A/C clutch relay circuit short to B+ P1658 - Data Bus Powertrain Incorrect signal from ADR Control Module P1676 - Drive by Wire-MIL Circ. Electrical Malfunction P1677 - Drive by Wire-MIL Circ. Short to B+ P1678 - Drive by Wire-MIL Circ. Short to Ground P1679 - Drive by Wire-MIL Circ. Open P1681 - Contr.Unit Programming, Programming not Finished P1684 - Contr.Unit Programming Communication Error P1686 - Contr.Unit Error Programming Error P1690 - Malfunction Indication Light Malfunction P1691 - Malfunction Indication Light Open P1692 - Malfunction Indication Light Short to Ground P1693 - Malfunction Indication Light Short to B+ P1694 - Malfunction Indication Light Open/Short to Ground P1704 - Kick Down Switch Malfunction
+14. P1705 - Gear/Ratio Monitoring Adaptation limit reached P1711 - Wheel Speed Signal 1 Range/Performance P1716 - Wheel Speed Signal 2 Range/Performance P1721 - Wheel Speed Signal 3 Range/Performance P1723 - Starter Interlock Circ. Open P1724 - Starter Interlock Circ. Short to Ground P1726 - Wheel Speed Signal 4 Range/Performance P1728 - Different Wheel Speed Signals Range/Performance P1729 - Starter Interlock Circ. Short to B+ P1733 - Tiptronic Switch Down Circ. Short to Ground P1739 - Tiptronic Switch up Circ. Short to Ground P1740 - Clutch temperature control P1741 - Clutch pressure adaptation at limit P1742 - Clutch torque adaptation at limit P1743 - Clutch slip control signal too high P1744 - Tiptronic Switch Recognition Circ. Short to Ground P1745 - Transm.Contr.Unit Relay Short to B+ P1746 - Transm.Contr.Unit Relay Malfunction P1747 - Transm.Contr.Unit Relay Open/Short to Ground P1748 - Transm.Contr.Unit Self-Check P1749 - Transm.Contr.Unit Incorrect Coded P1750 - Power Supply Voltage Low Voltage P1751 - Power Supply Voltage High Voltage P1752 - Power Supply Malfunction P1760 - Shift Lock Malfunction P1761 - Shift Lock Short to Ground P1762 - Shift Lock Short to B+ P1763 - Shift Lock Open P1764 - Transmission temperature control P1765 - Hydraulic Pressure Sensor 2 adaptation at limit P1766 - Throttle Angle Signal Stuck Off P1767 - Throttle Angle Signal Stuck On P1768 - Hydraulic Pressure Sensor 2 Too High P1769 - Hydraulic Pressure Sensor 2 Too Low
+15. P1770 - Load Signal Range/Performance P1771 - Load Signal Stuck Off P1772 - Load Signal Stuck On P1773 - Hydraulic Pressure Sensor 1 Too High P1774 - Hydraulic Pressure Sensor 1 Too Low P1775 - Hydraulic Pressure Sensor 1 adaptation at limit P1776 - Hydraulic Pressure Sensor 1 range/performance P1777 - Hydraulic Pressure Sensor 2 range/performance P1778 - Solenoid EV7 Electrical Malfunction P1781 - Engine Torque Reduction Open/Short to Ground P1782 - Engine Torque Reduction Short to B+ P1784 - Shift up/down Wire Open/Short to Ground P1785 - Shift up/down Wire Short to B+ P1786 - Reversing Light Circ. Open P1787 - Reversing Light Circ. Short to Ground P1788 - Reversing Light Circ. Short to B+ P1789 - Idle Speed Intervention Circ. Error Message from Engine Contr. P1790 - Transmission Range Display Circ. Open P1791 - Transmission Range Display Circ. Short to Ground P1792 - Transmission Range Display Circ. Short to B+ P1793 - Output Speed Sensor 2 Circ. No Signal P1795 - Vehicle Speed Signal Circ. Open P1796 - Vehicle Speed Signal Circ. Short to Ground P1797 - Vehicle Speed Signal Circ. Short to B+ P1798 - Output Speed Sensor 2 Circ. Range/Performance P1799 - Output Speed Sensor 2 Circ. Rpm too High P1813 - Pressure Contr.Solenoid 1 Electrical P1814 - Pressure Contr.Solenoid 1 Open/Short to Ground P1815 - Pressure Contr.Solenoid 1 Short to B+ P1818 - Pressure Contr.Solenoid 2 Electrical P1819 - Pressure Contr.Solenoid 2 Open/Short to Ground P1820 - Pressure Contr.Solenoid 2 Short to B+ P1823 - Pressure Contr.Solenoid 3 Electrical P1824 - Pressure Contr.Solenoid 3 Open/Short to Ground
+16. P1825 - Pressure Contr.Solenoid 3 Short to B+ P1828 - Pressure Contr.Solenoid 4 Electrical P1829 - Pressure Contr.Solenoid 4 Open/Short to Ground P1830 - Pressure Contr.Solenoid 4 Short to B+ P1834 - Pressure Contr.Solenoid 5 Open/Short to Ground P1835 - Pressure Contr.Solenoid 5 Short to B+ P1841 - Engine/Transmission Control Modules Versions do not match P1842 - Please check DTC Memory of instrument panel ECU P1843 - Please check DTC Memory of ADR Control Module P1844 - Please check DTC Memory of central electric control ECU P1847 - Please check DTC Memory of brake system ECU P1848 - Please check DTC Memory of engine ECU P1849 - Please check DTC Memory of transmission ECU P1850 - Data-Bus Powertrain Missing Message from Engine Contr. P1851 - Data-Bus Powertrain Missing Message from Brake Contr. P1852 - Data-Bus Powertrain Unplausible Message from Engine Contr. P1853 - Data-Bus Powertrain Unplausible Message from Brake Contr. P1854 - Data-Bus Powertrain Hardware Defective P1855 - Data-Bus Powertrain Software version Contr. P1856 - Throttle/Pedal Pos.Sensor A Circ. Error Message from Engine Contr. P1857 - Load Signal Error Message from Engine Contr. P1858 - Engine Speed Input Circ. Error Message from Engine Contr. P1859 - Brake Switch Circ. Error Message from Engine Contr. P1860 - Kick Down Switch Error Message from Engine Contr. P1861 - Throttle Position (TP) sensor Error Message from ECM P1862 - Data Bus Powertrain Missing message from instr. panel ECU P1863 - Data Bus Powertrain Missing Message from St. Angle Sensor P1864 - Data Bus Powertrain Missing message from ADR control module P1865 - Data Bus Powertrain Missing message from central electronics P1866 - Data Bus Powertrain Missing messages 

文件差異過大導致無法顯示
+ 4 - 0
doc/OBD_Codes/BMW_DTC_Codes.txt


文件差異過大導致無法顯示
+ 1 - 0
doc/OBD_Codes/Ford_DTC_Codes.txt


+ 3 - 0
doc/OBD_Codes/Honda_DTC_Codes.txt

@@ -0,0 +1,3 @@
+P1106 - Barometric Pressure Circuit Range/Performance P1107 - Barometric Pressure Circuit Low Input P1108 - Barometric Pressure Circuit High Input P1121 - Throttle Position Lower Than Expected P1122 - Throttle Position Higher Than Expected P1128 - MAP Lower Than Expected P1129 - MAP Higher Than Expected P1149 - Primary HO2S (Sensor 1) Circuit Range/Performance Problem P1162 - Primary HO2S (No. 1) Circuit Malfunction P1163 - Primary HO2S (No. 1) Circuit Slow Response P1164 - Primary HO2S (No. 1) Circuit Range/Performance P1165 - Primary HO2S (No. 1) Circuit Range/Performance P1166 - Primary HO2S (No. 1) Heater System Electrical P1167 - Primary HO2S (No. 1) Heater System P1168 - Primary HO2S (No. 1) LABEL Low Input P1169 - Primary HO2S (No. 1) LABEL High Input P1253 - VTEC System Malfunction P1257 - VTEC System Malfunction P1258 - VTEC System Malfunction P1259 - VTEC System Malfunction P1297 - Electrical Load Detector Circuit Low Input P1298 - Electrical Load Detector Circuit High Input P1300 - Multiple Cylinder Misfire Detected P1336 - CSF Sensor Intermittent Interruption P1337 - CSF Sensor No Signal P1359 - CKP/TDC Sensor Connector Disconnection P1361 - Intermittent Interruption In TDC 1 Sensor Circuit P1362 - No Signal In TDC 1 Sensor Circuit P1366 - Intermittent Interruption In TDC 2 Sensor Circuit P1367 - No Signal In TDC 2 Sensor Circuit P1381 - Cylinder Position Sensor Intermittent Interruption P1382 - Cylinder Position Sensor No Signal P1456 - EVAP Emission Control System Leak Detected (Fuel Tank System)
+2. P1457 - EVAP Emission Control System Leak Detected (Control Canister System) P1459 - EVAP Emission Purge Flow Switch Malfunction P1486 - Thermostat Range/Performance Problem P1491 - EGR Valve Lift Insufficient Detected P1498 - EGR Valve Lift Sensor High Voltage P1508 - IAC Valve Circuit Failure P1509 - IAC Valve Circuit Failure P1519 - Idle Air Control Valve Circuit Failure P1607 - ECM/PCM Internal Circuit Failure A P1655 - SEAF/SEFA/TMA/TMB Signal Line Failure P1656 - Automatic Transaxle P1660 - Automatic Transaxle FI Signal A Circuit Failure P1676 - FPTDR Signal Line Failure P1678 - FPTDR Signal Line Failure P1681 - Automatic Transaxle FI Signal A Low Input P1682 - Automatic Transaxle FI Signal A High Input P1686 - Automatic Transaxle FI Signal B Low Input P1687 - Automatic Transaxle FI Signal B High Input P1705 - Automatic Transaxle Concerns P1706 - Automatic Transaxle Concerns P1738 - Automatic Transaxle Concerns P1739 - Automatic Transaxle Concerns P1753 - Automatic Transaxle Concerns P1758 - Automatic Transaxle Concerns P1768 - Automatic Transaxle Concerns P1773 - Automatic Transaxle Concerns P1785 - Automatic Transaxle Concerns P1786 - Automatic Transaxle Concerns P1790 - Automatic Transaxle Concerns P1791 - Automatic Transaxle Concerns P1792 - Automatic Transaxle Concerns P1793 - Automatic Transaxle Concerns P1794 - Automatic Transaxle Concerns P1870 - Automatic Transaxle Concerns
+3. P1873 - Automatic Transaxle Concerns P1879 - Automatic Transaxle Concerns P1885 - Automatic Transaxle Concerns P1886 - Automatic Transaxle Concerns P1888 - Automatic Transaxle Concerns P1890 - Automatic Transaxle Concerns P1891 Automatic Transaxle Concerns 

文件差異過大導致無法顯示
+ 0 - 0
doc/OBD_Codes/Hyundai_DTC_Codes.txt


+ 2 - 0
doc/OBD_Codes/KIA_DTC_Codes.txt

@@ -0,0 +1,2 @@
+P1115 - Engine Coolant Temperature Signal from ECM to TCM. P1121 - Throttle Position Sensor Signal Malfunction from ECM to TCM. P1170 - Front Heated Oxygen Sensor Stuck. P1195 - EGR Pressure Sensor (1.6L) or Boost Sensor (1.8L) Open or Short. P1196 - Ignition Switch "Start" Open or Short (1.6L). P1250 - Pressure Regulator Control Solenoid Valve Open or Short. P1252 - Pressure Regulator Control Solenoid Valve No. 2 Circuit Malfunction. P1307 - Chassis Acceleration Sensor Signal Malfunction. P1308 - Chassis Acceleration Sensor Signal Low. P1309 - Chassis Acceleration Sensor Signal High. P1345 - No SGC Signal (1.6L). P1386 - Knock Sensor Control Zero Test. P1402 - EGR Valve Position Sensor Open or Short. P1449 - Canister Drain Cut Valve Open or Short (1.8L). P1450 - Excessive Vacuum Leak. P1455 - Fuel Tank Sending Unit Open or Short (1.8L). P1457 - Purge Solenoid Valve Low System Malfunction. P1458 - A/C Compressor Control Signal Malfunction. P1485 - EGR Solenoid Valve Vacuum Open or Short. P1486 - EGR Solenoid Valve Vent Open or Short. P1487 - EGR Boost Sensor Solenoid Valve Open or Short. P1496 - EGR Stepper Motor Malfunction - Circuit 1 (1.8L). P1497 - EGR Stepper Motor Malfunction - Circuit 2 (1.8L). P1498 - EGR Stepper Motor Malfunction - Circuit 3 (1.8L). P1499 - EGR Stepper Motor Malfunction - Circuit 4 (1.8L). P1500 - No Vehicle Speed Signal to TCM. P1505 - Idle Air Control Valve Opening Coil Voltage Low. P1506 - Idle Air Control Valve Opening Coil Voltage High. P1507 - Idle Air Control Valve Closing Coil Voltage Low. P1508 - Idle Air Control Valve Closing Coil Voltage High. P1523 - VICS Solenoid Valve. P1586 - A/T-M/T Codification. P1608 - PCM Malfunction.
+2. P1611 - MIL Request Circuit Voltage Low. P1614 - MIL Request Circuit Voltage High. P1624 - MIL Request Signal from TCM to ECM. P1631 - Alternator "T" Open or No Power Output (1.8L). P1632 - Battery Voltage Detection Circuit for Alternator Regulator (1.8L). P1633 - Battery Overcharge. P1634 - Alternator "B" Open (1.8L). P1693 - MIL Circuit Malfunction. P1743 - Torque Converter Clutch Solenoid Valve Open or Short. P1794 - Battery or Circuit Failure. P1795 - 4WD Switch Signal Malfunction. P1797 - P or N Range Signal or Clutch Pedal Position Switch Open or Short. 

+ 6 - 0
doc/OBD_Codes/Mazda_DTC_Codes.txt

@@ -0,0 +1,6 @@
+P1000 - OBD II Monitor Testing Not Completed P1001 - Unable to Achieve Self-Test Function or SCP Error P1100 - Mass Airflow Sensor Circuit Intermittent P1101 - Mass Airflow Sensor Circuit out of Self-Test Range P1102 - Mass Airflow Sensor Signal Inconsistent with Throttle Position Sensor P1103 - Mass Airflow Sensor Signal Inconsistent with Engine Speed P1110 - Intake Air Temperature Sensor Signal (Dynamic Chamber) Circuit P1112 - Intake Air Temperature Sensor Circuit Intermittent P1113 - Intake Air Temperature Sensor Signal (Dynamic Chamber) Circuit P1114 - Intake Air Temperature Sensor Circuit Low Input P1116 - ECT Sensor Circuit Out of Self Test Range P1117 - ECT Sensor Signal Intermittent P1120 - Throttle Position Sensor out of Range Low P1121 - Throttle Position Sensor Signal Not Consistent with Mass Airflow Signal P1122 - Throttle Position Stuck Closed P1123 - Throttle Position Stuck Open P1124 - Throttle Position Sensor Signal Out of Self Test Range P1125 - Throttle Position Sensor Signal Intermittent P1127 - HO2S Bank 1 Sensor 2 Heater Not On During Key On Engine Running Self Test P1128 - HO2S Bank 1 Sensor 1 Signals Swapped in Key On Engine Running Self Test P1130 - HO2S Bank 1 Sensor 1 Not Switching (Fuel Control Limit Reached) P1131 - HO2S Bank 1 Sensor 1 Signal Below 0.45v (A/F Ratio Too Lean) P1132 - HO2S Bank 1 Sensor 1 Signal Above 0.45v (A/F Ratio Too Rich) P1135 - HO2S Bank 1 Sensor 1 Heater Circuit Low Input P1136 - HO2S Bank 1 Sensor 1 Heater Circuit High Input P1137 - HO2S Bank 1 Sensor 2 Not Switching (Fuel Control Limit Reached) P1138 - HO2S Bank 1 Sensor 2 Signal Above 0.45v (A/F Ratio Too Rich) P1141 - HO2S Bank 1 Sensor 2 Heater Circuit Low Input P1142 - HO2S Bank 1 Sensor 2 Heater Circuit High Input P1143 - HO2S Bank 1 Sensor 3 Signal Below 0.45v (A/F Ratio Too Lean) P1144 - HO2S Bank 1 Sensor 3 Signal Above 0.45v (A/F Ratio Too Rich) P1150 HO2S Bank 2 Sensor 1 Not Switching (Fuel Control Limit Reached)
+2. P1151 - HO2S Bank 2 Sensor 1 Signal Below 0.45v (A/F Ratio Too Lean) P1152 - HO2S Bank 2 Sensor 1 Signal Above 0.45v (A/F Ratio Too Rich) P1169 - HO2S Bank 1 Sensor 1 Circuit Fixed (Bank 1 Sensor 1) P1170 - HO2S Bank 1 Sensor 1 Circuit Fixed (Bank 1 Sensor 1) P1173 - HO2S Bank 2 Sensor 1 Circuit Fixed (Bank 2 Sensor 1) P1195 - EGR Boost Sensor Circuit P1196 - Ignition Switch Start Circuit P1235 - Fuel Pump Control Circuit P1236 - Fuel Pump Control Out Range P1250 - Pressure Regulator Control Solenoid Circuit P1252 - Pressure Regulator Control Solenoid '2' Circuit P1260 - Anti-Theft System Signal Detected - Engine Disabled P1270 - Engine RPM or Vehicle Speed Limit Reached P1309 - Misfire Detection Monitor P1345 - No CMP or SGC Signal P1351 - Ignition Diagnostic Monitor Signal Lost to PCM or Out Of Range P1352 - Ignition Coil 'A' Primary Circuit P1353 - Ignition Coil 'B' Primary Circuit P1354 - Ignition Coil 'C' Primary Circuit P1358 - Ignition Diagnostic Monitor Signal Out Of Self Test Range P1359 - SPOUT Signal Lost To Powertrain Control Module Or Out Of Range P1360 - Ignition Coil 'A' Secondary Circuit P1361 - Ignition Coil 'B' Secondary Circuit P1362 - Ignition Coil 'C' Secondary Circuit P1364 - Ignition Coil Primary Circuit P1365 - Ignition Coil Secondary Circuit P1390 - Octane Adjust Shorting Bar Out or Circuit Open P1400 - DPFE Sensor Circuit Low Input P1401 - DPFE Sensor Circuit High Input P1402 - EGR Valve Position Sensor Circuit P1405 - DPFE Sensor Upstream Hose Off Or Plugged P1406 - DPFE Sensor Downstream Hose Off or Plugged P1407 - No EGR Flow Detected P1408 - EGR System Flow Out of Key On Engine Running Self Test Range
+3. P1409 - EGR Vacuum Regulator Solenoid Circuit P1410 - EGR Boost Solenoid Valve Stuck P1443 - EVAP System Purge Flow Fault P1444 - EVAP Purge Flow Sensor Circuit Low Voltage P1446 - EVAP Purge Flow Sensor Circuit High Voltage P1449 - CDCV or Throttle PositionCV Circuit P1450 - EVAP Control System Fault P1451 - Canister Vent Solenoid Circuit P1455 - Fuel Tank Level Sensor Circuit P1460 - Wide Open Throttle A/C Cut-Off Relay Circuit P1464 - Air Conditioning Control Signal Circuit P1474 - Fan Control (Primary Winding) Circuit P1479 - Fan Control (Condenser Primary) Circuit P1485 - EGR Vacuum Solenoid Circuit P1486 - EGR Vent Solenoid Circuit P1487 - EGR-CHK (Boost) Solenoid Circuit P1496 - EGR Valve Motor Coil '1' Open or Shorted P1497 - EGR Valve Motor Coil '2' Open or Shorted P1498 - EGR Valve Motor Coil '3 Open or Shorted P1499 - EGR Valve Motor Coil '4' Open or Shorted P1500 - Vehicle Speed Sensor Intermittent Signal P1501 - Vehicle Speed Sensor Out of Self Test Range P1502 - Vehicle Speed Sensor Circuit Error P1504 - Idle Air Control Solenoid Circuit Intermittent P1505 - Idle Air Control System at Adaptive Clip P1506 - Idle Air Control System Overspeed Detected P1507 - Idle Air Control System Underspeed Detected P1508 - Bypass Air Solenoid '1' Circuit P1509 - Bypass Air Solenoid '2 Circuit P1512 - VTCS Fault P1521 - VRIS Solenoid '1' Circuit P1522 - VRIS Solenoid '2 Circuit P1523 - VICS Solenoid Circuit P1524 - Charge Air Cooler Bypass Solenoid Circuit
+4. P1525 - ABV Vacuum Solenoid Circuit P1526 - BV Vent Solenoid Circuit P1529 - L/C Atmospheric Balance Air Control Valve Circuit P1540 - ABV System Fault P1562 - Powertrain Control Module +BB Voltage Low P1569 - VTCS Circuit Low Input P1570 - VTCS Circuit High Input P1601 - Powertrain Control Module Communication Line to TCM Error P1602 - Powertrain Control Module Communication Line to TCM Error P1603 - Immobilizer System Fault P1604 - Immobilizer System Fault P1605 - Powertrain Control Module Keep Alive Memory Test Error P1608 - Powertrain Control Module (ECM CPU) DTC Test Fault P1609 - Powertrain Control Module (ECM CPU) Knock Sensor Circuit P1621 - lmmobilizer System Fault P1622 - lmmobilizer System Fault P1623 - lmmobilizer System Fault P1624 - lmmobilizer System Fault P1627 - Powertrain Control Module (ECM/TCS) Line Communication Error P1628 - Powertrain Control Module (ECM/TCS) Any Line Communication Error P1631 - Generator Output Voltage Signal (No Output) P1632 - Battery Voltage Monitor Circuit P1633 - Battery Overcharge Fault P1634 - Generator Terminal 'B' Circuit Open P1650 - Power Steering Pressure Switch Out of Range Fault P1651 - Power Steering Pressure Switch Circuit P1652 - Power Steering Pressure Switch Circuit P1701 - Transmission Range Sensor Reverse Engagement Error P1702 - Transmission Range Sensor Circuit Intermittent P1703 - Brake On/Off Switch Out of Self Test Range P1705 - Transmission Range Sensor out of Self Test Range P1709 - Clutch Pedal Position Switch Circuit P1711 - Transmission Fluid Temperature Sensor Circuit out of Self Test Range P1713 - Transmission Fluid Temperature Sensor Circuit
+5. P1714 - Shift Solenoid '1' Mechanical Fault P1715 - Shift Solenoid '2' Mechanical Fault P1716 - Shift Solenoid '3' Mechanical Fault P1717 - Shift Solenoid '4' Mechanical Fault P1718 - Transmission Fluid Temperature Sensor Circuit P1720 - Vehicle Speed Sensor '2' Signal Error P1729 - Transmission 4x4 Low Switch Error P1740 - Torque Converter Clutch Solenoid Mechanical Fault P1741 - Torque Converter Clutch Control Electrical Fault P1742 - Torque Converter Clutch Solenoid Shorted P1743 - Torque Converter Clutch Failed On - TCIL is On P1744 - Torque Converter Clutch Solenoid Mechanical Fault P1746 - Electronic Pressure Control Solenoid Circuit Open P1747 - Electronic Pressure Control Solenoid Circuit P1749 - Electronic Pressure Control Solenoid Circuit Low P1751 - Transmission Shift Solenoid 'A' Mechanical Fault P1752 - Transmission Shift Solenoid 'A' Circuit Shorted P1754 - Transmission Coast Clutch Solenoid Electrical Fault P1756 - Transmission Shift Solenoid 'B' Mechanical Fault P1757 - Transmission Shift Solenoid 'B' Circuit Shorted P1761 - Transmission Shift Solenoid '3' Mechanical Fault P1762 - Transmission SS3/SS4/OD Band Fault P1765 - Transmission 3-2 Timing Solenoid Valve P1767 - Torque Converter Clutch Solenoid Circuit P1771 - Throttle Position Sensor Circuit Open to Transmission Control Module P1772 - Throttle Position Sensor Circuit Shorted to Transmission Control Module P1780 - Transmission Control Switch Circuit P1781 - Transmission 4x4 Low Switch out of Range Fault P1783 - Transmission Fluid Temperature High Input P1788 - 3-2T/CCS Circuit Open P1789 - 3-2T/CCS Circuit Shorted P1794 - Powertrain Control Module Battery Direct Power Circuit P1797 - P/N Switch Open or Short Circuit P1900 - Turbine Speed Sensor Circuit Intermittent
+6. P1901 - Torque Converter Clutch Circuit Intermittent 

+ 1 - 0
doc/OBD_Codes/Mitsubishi_DTC_Codes.txt

@@ -0,0 +1 @@
+P1103 - Turbocharger Wastegate Actuator. P1104 - Turbocharger Wastegate Solenoid. P1105 - Fuel Pressure Solenoid. P1300 - Ignition Timing Adjustment circuit. P1400 - Manifold Differential Pressure Sensor circuit. P1500 - Alternator FR Terminal circuit. P1600 - Serial Communication Link. P1715 - Pulse Generator Assembly. P1750 - Solenoid Assembly. P1751 - A/T Control Relay. P1791 - Engine Coolant Temperature Level Input circuit. P1795 - Throttle Position Input circuit to TCM

+ 1 - 0
doc/OBD_Codes/Nissan_DTC_Codes.txt

@@ -0,0 +1 @@
+P1105 - MAP/BARO Pressure Switch Solenoid Valve P1126 - Thermostat Function P1130 - Swirl Control Valve Control Solenoid Valve P1148 - Closed Loop Control (Bank 1) P1165 - Swirl Control Valve Control Vacuum Switch P1211 - ABS/TCS Control Unit P1212 - ABS/TCS Communication Line P1217 - Engine Over Temperature (Overheat) P1320 - Ignition Signal P1335 - Crankshaft Position Sensor (REF) P1336 - Crankshaft Position Sensor (CKPS) P1400 - EGRC Solenoid Valve P1401 - EGR Temperature Sensor P1402 - EGR System P1440 EVAP Control System Small Leak P1441 - Vacuum Cut Valve Bypass Valve P1444 - Canister Purge Volume Control Solenoid Valve P1445 - EVAP Canister Purge Volume Control Valve P1446 - EVAP Canister Vent Control Valve (Closed) P1447 - EVAP Control System Purge Flow Monitoring P1448 - EVAP Canister Vent Control Valve (Open) P1464 - Fuel Level Sensor Circuit (Ground Signal) P1490 - Vacuum Cut Valve Bypass Valve (Circuit) P1491 - Vacuum Cut Valve Bypass Valve P1492 - EVAP Canister Purge Control/Solenoid Valve (Circuit) P1493 - EVAP Canister Purge Control Valve/Solenoid Valve P1550 - TCC Solenoid Valve P1605 - A/T Diagnostic Communication Line P1705 - Throttle Position Sensor Circuit A/T P1706 - Park/Neutral Position (PNP) Switch P1760 - Overrun Clutch Solenoid Valve (Circuit) 

文件差異過大導致無法顯示
+ 0 - 0
doc/OBD_Codes/OBD2_DTC_Body_Codes.txt


+ 3 - 0
doc/OBD_Codes/OBD2_DTC_Chassis_Codes.txt

@@ -0,0 +1,3 @@
+C0001 TCS Control Channel "A" Valve 1 (Subfault) C0002 TCS Control Channel "A" Valve 2 (Subfault) C0003 TCS Control Channel "B" Valve 1 (Subfault) C0004 TCS Control Channel "B" Valve 2 (Subfault) C0010 Left Front Inlet Control (Subfault) C0011 Left Front Outlet Control (Subfault) C0012 Left Front Hydraulic Release Too Long (Subfault) C0014 Right Front Inlet Control (Subfault) C0015 Right Front Outlet Control (Subfault) C0016 Right Front Hydraulic Release Too Long (Subfault) C0018 Left Rear Inlet Control (Subfault) C0019 Left Rear Outlet Control (Subfault) C001A Left Rear Hydraulic Release Too Long (Subfault) C001C Right Rear Inlet Control (Subfault) C001D Right Rear Outlet Control (Subfault) C001E Right Rear Hydraulic Release Too Long (Subfault) C0020 ABS Pump Motor Control (Subfault) C0021 Brake Booster Performance (Subfault) C0022 Brake Booster Solenoid (Subfault) C0023 Stop Lamp Control (Subfault) C0030 Left Front Tone Wheel (Subfault) C0031 Left Front Wheel Speed Sensor (Subfault) C0032 Left Front Wheel Speed Sensor Supply (Subfault) C0033 Right Front Tone Wheel (Subfault) C0034 Right Front Wheel Speed Sensor (Subfault) C0035 Right Front Wheel Speed Sensor Supply (Subfault) C0036 Left Rear Tone Wheel (Subfault) C0037 Left Rear Wheel Speed Sensor (Subfault) C0038 Left Rear Wheel Speed Sensor Supply (Subfault) C0039 Right Rear Tone Wheel (Subfault) C003A Right Rear Wheel Speed Sensor (Subfault) C003B Right Rear Wheel Speed Sensor Supply (Subfault) C003C Rear Tone Wheel (Subfault)
+2. C003D Rear Wheel Speed Sensor (Subfault) C003E Rear Wheel Speed Sensor Supply (Subfault) C0040 Right Front Wheel Speed Sensor Circuit C0041 Brake Pedal Switch "B" (Subfault) C0042 Brake Pedal Position Sensor "Circuit A" (Subfault) C0043 Brake Pedal Position Sensor "Circuit B" (Subfault) C0044 Brake Pressure Sensor "A" (Subfault) C0045 Brake Pressure Sensor "B" (Subfault) C0046 Brake Pressure Sensor "A"/"B" (Subfault) C0047 Brake Booster Pressure Sensor (Subfault) C0048 Brake Booster Travel Sensor (Subfault) C0049 Brake Fluid (Subfault) C004A Brake Lining Wear Sensor (Subfault) C0051 Steering Wheel Position Sensor (Subfault) C0052 Steering Wheel Position Sensor "Signal A" (Subfault) C0053 Steering Wheel Position Sensor "Signal B" (Subfault) C0054 Steering Wheel Position Sensor "Signal C" (Subfault) C0055 Steering Wheel Position Sensor "Signal D" (Subfault) C0061 Lateral Acceleration Sensor (Subfault) C0062 Longitudinal Acceleration Sensor (Subfault) C0063 Yaw Rate Sensor (Subfault) C0064 Roll Rate Sensor C0069 Yaw Rate/Longitude Sensors (Subfault) C006A Multi-axis Acceleration Sensor (Subfault) C006B Stability System Active Too Long (Subfault) C006C Stability System C0071 2/4 Wheel Drive Status Input (Subfault) C0072 Brake Temperature Too High (Subfault) C0073 Delivered Driving Torque (Subfault) C0074 Requested Driving Torque (Subfault) C0075 Extended Brake Pedal Travel, output to PCM (Subfault) C0076 PWM for Traction Control (Subfault) C0077 Low Tire Pressure (Subfault) C0078 Tire Diameter (Subfault)
+3. C0079 Variable Effort Steering (Subfault) C0081 ABS Malfunction Indicator (Subfault) C0082 Brake System Malfunction Indicator (Subfault) C0083 Tire Pressure Monitor Malfunction Indicator (Subfault) C0084 Traction Active Indicator (Subfault) C0085 Traction Disable Indicator (Subfault) C0086 Vehicle Dynamics Indicator (Subfault) C0089 TCS Disable Switch (Subfault) C008A TCS Mode Control (Subfault) C1000 Manufacturer Controlled DTC C2000 Manufacturer Controlled DTC 

文件差異過大導致無法顯示
+ 0 - 0
doc/OBD_Codes/OBD2_DTC_Codes.txt


文件差異過大導致無法顯示
+ 0 - 0
doc/OBD_Codes/OBD2_DTC_Network_Codes.txt


+ 2 - 0
doc/OBD_Codes/Toyota_DTC_Codes.txt

@@ -0,0 +1,2 @@
+P1100 - BARO Sensor Circuit. P1120 - Accelerator Pedal Position Sensor Circuit. P1121 - Accelerator Pedal Position Sensor Range/Performance Problem. P1125 - Throttle Control Motor Circuit. P1126 - Magnetic Clutch Circuit. P1127 - ETCS Actuator Power Source Circuit. P1128 - Throttle Control Motor Lock. P1129 - Electric Throttle Control System. P1130 - Air/Fuel Sensor Circuit Range/Performance. (Bank 1 Sensor 1) P1133 - Air/Fuel Sensor Circuit Response. (Bank 1 Sensor 1) P1135 - Air/Fuel Sensor Heater Circuit Response. (Bank 1 Sensor 1) P1150 - Air/Fuel Sensor Circuit Range/Performance. (Bank 1 Sensor 2) P1153 - Air/Fuel Sensor Circuit Response. (Bank 1 Sensor 2) P1155 - Air/Fuel Sensor Heater Circuit. (Bank 1 Sensor 2) P1200 - Fuel Pump Relay Circuit. P1300 - Igniter Circuit Malfunction - No. 1. P1310 - Igniter Circuit Malfunction - No. 2. P1335 - No Crankshaft Position Sensor Signal - Engine Running. P1349 - VVT System. P1400 - Sub-Throttle Position Sensor. P1401 - Sub-Throttle Position Sensor Range/Performance Problem. P1405 - Turbo Pressure Sensor Circuit. P1406 - Turbo Pressure Sensor Range/Performance Problem. P1411 - EGR Valve Position Sensor Circuit Range/Performance. P1500 - Starter Signal Circuit. P1510 - Boost Pressure Control Circuit. P1511 - Boost Pressure Low. P1512 - Boost Pressure High. P1520 - Stop Lamp Switch Signal Malfunction. P1565 - Cruise Control Main Switch Circuit. P1600 - ECM BATT Malfunction P1605 - Knock Control CPU. P1630 - Traction Control System.
+2. P1633 - ECM. P1652 - Idle Air Control Valve Control Circuit. P1656 - OCV Circuit. P1658 - Wastegate Valve Control Circuit. P1661 - EGR Circuit. P1662 - EGR by-pass Valve Control Circuit. P1780 - Park/Neutral Position Switch Malfunction (Only For A/T) 

+ 7 - 0
doc/OBD_Codes/VW_DTC_Codes.txt

@@ -0,0 +1,7 @@
+P1102 - O2S Heating Circuit Bank 1 Sensor 1 Voltage Too Low/Air Leak P1105 - O2S Heating Circuit Bank 1 Sensor 2 Short To Positive P1107 - O2S Heating Circuit Bank 2 Sensor 1 Short To Positive P1110 - O2S Heating Circuit Bank 2 Sensor 2 Short To Positive P1113 - O2S Sensor Heater Resistance Too High Bank 1 Sensor 1 P1115 - O2S Sensor Heater Circuit Short To Ground Bank 1 Sensor 1 P1116 - O2S Sensor Heater Circuit Open Bank 1 Sensor 1 P1117 - O2S Sensor Heater Circuit Short To Ground Bank 1 Sensor 2 P1118 O2S Sensor Heater Circuit Open Bank 1 Sensor 2 P1127 - Long Term Fuel Trim B1 System Too Rich P1128 - Long Term Fuel Trim B1 System Too Lean P1129 - Long Term Fuel Trim B2 System Too Rich P1130 - Long Term Fuel Trim B2 System Too Lean P1136 - Long Term Fuel Trim Add. Fuel B1 System Too Lean P1137 - Long Term Fuel Trim Add. Fuel B1 System Too Rich P1139 - Long Term Fuel Trim Add. Fuel B2 System Too Rich P1141 - Load Calculation Cross Check Range/Performance P1144 - Mass Air Flow Sensor Open/Short To Ground. P1145 - Mass Air Flow Sensor Short To Positive. P1146 - Mass Air Flow Sensor Supply Voltage. P1155 - Manifold Absolute Pressure Sensor Short To Positive. P1156 - Manifold Absolute Pressure Sensor Open/Short To Ground. P1157 - Manifold Absolute Pressure Sensor Supply Voltage. P1160 - Intake Air Temperature Sensor Short To Ground. P1161 - Intake Air Temperature Sensor Open/Short To Positive. P1162 - Intake Air Temperature Sensor Short To Ground. P1163 - Fuel Temperature Sensor Open/Short To Positive. P1164 - Fuel Temperature Sensor Implausible Signal. P1171 - Throttle Actuation Potentiometer Sign. 2 Range/Performance P1172 - Throttle Actuation Potentiometer Sign. 2 Signal Too Low P1173 - Throttle Actuation Potentiometer Sign. 2 Signal Too High P1176 - Rear O2S Correction P1177 - O2 Correction Behind Catalyst B1 Limit Attained
+2. P1196 - O2S Heater Circuit Bank 1 Sensor 1 Electrical Malfunction P1197 - O2S Heater Circuit Bank 2 Sensor 1 Electrical Malfunction P1198 - O2S Heater Circuit Bank 1 Sensor 2 Electrical Malfunction P1199 - O2S Heater Circuit Bank 2 Sensor 2 Electrical Malfunction P1213 - Injector Circuit Cylinder 1 Short To Positive P1214 - Injector Circuit Cylinder 2 Short To Positive P1215 - Injector Circuit Cylinder 3 Short To Positive P1216 - Injector Circuit Cylinder 4 Short To Positive P1217 - Injector Circuit Cylinder 5 Short To Positive P1218 - Injector Circuit Cylinder 6 Short To Positive P1225 - Injector Circuit Cylinder 1 Short To Ground P1226 - Injector Circuit Cylinder 2 Short To Ground P1227 - Injector Circuit Cylinder 3 Short To Ground P1228 - Injector Circuit Cylinder 4 Short To Ground P1229 - Injector Circuit Cylinder 5 Short To Ground P1230 - Injector Circuit Cylinder 6 Short To Ground P1237 - Injector Circuit Open Cylinder 1 P1238 - Injector Circuit Open Cylinder 2 P1139 - Long Term Fuel Trim Add. Fuel B2 System Too Rich P1141 - Load Calculation Cross Check Range/Performance P1144 - Mass Air Flow Sensor Open/Short To Ground. P1145 - Mass Air Flow Sensor Short To Positive. P1146 - Mass Air Flow Sensor Supply Voltage. P1155 - Manifold Absolute Pressure Sensor Short To Positive. P1156 - Manifold Absolute Pressure Sensor Open/Short To Ground. P1157 - Manifold Absolute Pressure Sensor Supply Voltage. P1160 - Intake Air Temperature Sensor Short To Ground. P1161 - Intake Air Temperature Sensor Open/Short To Positive. P1162 - Intake Air Temperature Sensor Short To Ground. P1163 - Fuel Temperature Sensor Open/Short To Positive. P1164 - Fuel Temperature Sensor Implausible Signal. P1171 - Throttle Actuation Potentiometer Sign. 2 Range/Performance P1172 - Throttle Actuation Potentiometer Sign. 2 Signal Too Low P1173 - Throttle Actuation Potentiometer Sign. 2 Signal Too High
+3. P1176 - Rear O2S Correction P1177 - O2 Correction Behind Catalyst B1 Limit Attained P1196 - O2S Heater Circuit Bank 1 Sensor 1 Electrical Malfunction P1197 - O2S Heater Circuit Bank 2 Sensor 1 Electrical Malfunction P1198 - O2S Heater Circuit Bank 1 Sensor 2 Electrical Malfunction P1199 - O2S Heater Circuit Bank 2 Sensor 2 Electrical Malfunction P1213 - Injector Circuit Cylinder 1 Short To Positive P1214 - Injector Circuit Cylinder 2 Short To Positive P1215 - Injector Circuit Cylinder 3 Short To Positive P1216 - Injector Circuit Cylinder 4 Short To Positive P1217 - Injector Circuit Cylinder 5 Short To Positive P1218 - Injector Circuit Cylinder 6 Short To Positive P1225 - Injector Circuit Cylinder 1 Short To Ground P1226 - Injector Circuit Cylinder 2 Short To Ground P1227 - Injector Circuit Cylinder 3 Short To Ground P1228 - Injector Circuit Cylinder 4 Short To Ground P1229 - Injector Circuit Cylinder 5 Short To Ground P1230 - Injector Circuit Cylinder 6 Short To Ground P1237 - Injector Circuit Open Cylinder 1 P1238 - Injector Circuit Open Cylinder 2 P1239 - Injector Circuit Open Cylinder 3 P1240 - Injector Circuit Open Cylinder 4 P1241 - Injector Circuit Open Cylinder 5 P1242 - Injector Circuit Open Cylinder 6 P1245 - Needle Lift Sensor Short To Ground P1246 - Needle Lift Implausible Signal P1247 - Needle Lift Sensor Open/Short To Positive P1248 - Start Of Cold Start Injector Control Difference P1250 - Fuel Level Too Low P1251 - Start Of Cold Start Injector Short To Positive P1252 - Start Of Cold Start Injector Open/Short To Ground P1255 - Engine Coolant Temperature Sensor Short To Ground P1256 - Engine Coolant Temperature Sensor Open/Short To Positive P1300 - Misfire Detected, Fuel Level Too Low
+4. P1325 - Cyl. 1 Knock Control Limit Attained P1326 - Cyl. 2 Knock Control Limit Attained P1327 - Cyl. 3 Knock Control Limit Attained P1328 - Cyl. 4 Knock Control Limit Attained P1329 - Cyl. 5 Knock Control Limit Attained P1330 - Cyl. 6 Knock Control Limit Attained P1336 - Engine Torque Adaption At Limit P1337 - CMP Sensor Bank 1 Short To Ground P1338 - CMP Sensor Bank 1 Open Circuit Or Short To Positive P1340 - CKP/CMP Sensor Signals Out Of Sequence P1341 - Ignition Coil Output Stage 1 Short To Ground P1343 - Ignition Coil Output Stage 2 Short To Ground P1345 - Ignition Coil Output Stage 3 Short To Ground P1354 - Modulating Piston Displacement Sensor Electrial Circuit Malfunction P1386 - Internal Control Module Knock Control Error P1387 - Control Unit Internal Altitude Sensor P1391 - CMP Sensor Bank 2 Short To Ground P1392 - CMP Sensor Bank 2 Open Circuit/Short To Positive P1393 - Ignition Coil Power Output Stage 1 Malfunction P1394 - Ignition Coil Power Output Stage 2 Malfunction P1395 - Ignition Coil Power Output Stage 3 Malfunction P1401 - EGR Valve Power Stage Short To Ground P1402 - EGR Vacuum Regulator Solenoid Valve Short To Positive P1403 - EGR System Control Difference P1407 - EGR Temperature Sensor Signal Too Low P1408 - EGR Temperature Sensor Signal Too High P P1410 - Tank Ventilation Valve Circuit Short To B+ P1420 - Secondary Air Injection Control Module Electrical Malfunction P1421 - Secondary Air Injection Valve Circuit Short To Ground P1422 - Secondary Air Injection Valve Circuit Short To B+ P1424 - Secondary Air Injection System Bank 1 Leak Detected P1425 - Tank Ventilation Valve Short To Ground P1426 - Tank Ventilation Valve Open Circuit P1432 - Secondary Air Injection Valve Open
+5. P1433 - Secondary Air Injection Pump Relay Circuit Open P1434 - Secondary Air Injection Pump Relay Circuit Short To Positive P1435 - Secondary Air Injection Pump Relay Circuit Short To Ground P1436 - Secondary Air Injection Pump Relay Circuit Electrical Malfunction P1440 - EGR Valve Power Stage Open P1441 - EGR Vacuum Regulator Solenoid Valve Open/Short To Ground P1450 - Secondary Air Injection System Circuit Short To Positive P1451 - Secondary Air Injection Circuit Short To Ground P1452 - Secondary Air Injection System Circuit Open P1471 - EVAP Control System LDP Circuit Short to Positive P1472 - EVAP Control System LDP Circuit Short To Ground P1473 - EVAP Control System LDP Open Circuit P1475 - EVAP Control System LDP Malfunction/Signal Circuit Open P1476 - EVAP Control System LDP Malfunction/Insufficient Vacuum P1477 - EVAP Control System LDP Malfunction P1478 - EVAP Control System LDP Clamped Tube Detected P1500 - Fuel Pump Relay Electrical Circuit Malfunction P1501 - Fuel Pump Relay Circuit Short To Ground P1502 - Fuel Pump Relay Circuit Short To Positive P1505 - Closed Throttle Position Does Not Close/Open Circuit P1506 - Closed Throttle Position Switch Does Not Open./Short To Ground P1512 - Intake Manifold Changeover Valve Circuit Short To Positive P1515 - Intake Manifold Changeover Valve Circuit Short To Ground P1516 - Intake Manifold Changeover Valve Circuit Open P1519 - Intake Camshaft Control Bank 1 Malfunction P1522 - Intake Camshaft Control Bank 2 Malfunction P1537 - Fuel Cut-off Valve Incorrect Function P1538 - Fuel Cut-off Valve Open/Short To Ground P1539 - Clutch Pedal Switch Signal Fault P1540 - VSS Signal Too High P1541 - Fuel Pump Relay Circuit Open P1542 - Throttle Actuation Potentiometer Range/Performance P1543 - Throttle Actuation Potentiometer Signal Too Low P1544 - Throttle Actuation Potentiometer Signal Too High
+6. P1545 - Throttle Position Control Malfunction P1546 - Wastegate Bypass Regulator Valve Short To Positive P1547 - Wastegate Bypass Regulator Valve Short To Ground P1548 - Wastegate Bypass Regulator Valve Open P1549 - Wastegate Bypass Regulator Valve Open/Short To Ground P1550 - Charge Pressure Control Difference P1555 - Charge Pressure Upper Limit Exceeded P1556 - Charge Pressure Negative Deviation P1557 - Charge Pressure Positive Deviation P1558 - Throttle Actuator Electrical Malfunction P1559 - Idle Speed Control Throttle Position Adaption Malfunction P1560 - Maximum Engine Speed Exceeded P1561 - Quantity Adjuster Control Difference P1562 - Quantity Adjuster Upper Stop Value P1563 - Quantity Adjuster Lower Stop Value P1564 - Idle Speed Control Throttle Position Low Voltage During Adaption P1565 - Idle Speed Control Throttle Position Lower Limit Not Obtained P1568 - Idle Speed Control Throttle Position Mechanical Malfunction P1569 - Switch For CCS Signal Faulty P1580 - Throttle Actuator B1 Malfunction P1582 - Idle Adaptation At Limit P1600 - Power Supply Terminal No. 15 Low Voltage P1602 - Power Supply Terminal No. 30 Low Voltage P1606 - Rough Road Spec. Engine Torque ABS-ECU Electrical Malfunction P1612 - Engine Control Module Incorrect Coding P1616 - Glow Plug Indicator Lamp Short To Positive P1618 - Glow Plug Relay Short To Positive P1624 - MIL Request Signal Active P1630 - Accelerator Pedal Position Sensor 1 Signal Too Low P1632 - Accelerator Pedal Position Sensor 1/2 Supply Voltage P1634 - Accelerator Pedal Position Sensor 2 Signal Too High P1640 - Internal Control Module (EEPROM) Error P1649 - Data Bus Powertrain Missing Message From Brake Controller P1677 - Drive By Wire MIL Circuit Short To Positive
+7. P1679 - Drive By Wire MIL Circuit Open Circuit P1686 - Control Unit Error, Programming Error P1692 - MIL Short To Ground P1693 - MIL Short To Positive P1778 - Solenoid EV7 Electrical Malfunction P1780 - Engine Intervention Readable P1851 - Data Bus Drive Missing Command From ABS P1854 Drive Train CAN-Bus Inoperative 

+ 1 - 0
doc/OBD_Codes/obd2_codes.py

@@ -0,0 +1 @@
+../.././src/pyobd/obd2_codes.py

+ 77 - 0
src/vin-parser-0.0.1/PKG-INFO

@@ -0,0 +1,77 @@
+Metadata-Version: 2.1
+Name: vin-parser
+Version: 0.0.1
+Summary: This is vin-parser package description
+Home-page: https://github.com/nighcoder/vin-parser
+Author: Daniel Ciumberică
+Author-email: ciumbi.ionut@gmail.com
+License: MIT
+Description: # vin-parser
+        Library that provides functions to work with VIN strings.
+        
+        ## Install
+        vin-parser is available on PyPI and can be installed using pip.
+        
+        `$ pip install vin-parser`
+        
+        ## Usage
+        All the public functions are exported to the package namespace. We'll alias it as vp in the following examples.
+        
+        `>>> import vin_parser as vp`
+        <!--
+        Example usage with some fakey VINS.
+        Show wmi, vds for lowercase VINS
+        -->
+        
+        The functions `check_no`, `seq_no`, `wmi`, `vds` and `vis` return parts of the VIN string.
+        ```python3
+        >>> vin = "1GYFK63878R248711"
+        >>> vp.check_no(vin)
+        '7'
+        ```
+        Function `check_no` returns the VIN check digit, i.e. position 9 in the VIN string. It returns for all VINs, even for those that don't use the check digit schema.
+        
+        ```python3
+        >>> vp.wmi(vin)
+        '1GY'
+        >>> vp.vds(vin)
+        'FK6387'
+        ```
+        Lowercase VINs are accepted:
+        ```python3
+        >>> vp.vis(vin.lower())
+        '8R248711'
+        ```
+        
+        `check_valid`, `is_valid` and `small_manuf` are predicate functions, i.e. functions that return True or False.
+        `check_valid` returns True if the VIN's check digit matches the computed value.
+        `is_valid` returns True if the provided VIN is valid. Because the use of VIN check digit is not adopted worldwide, the check_valid test is not performed when verifing the validity of a VIN.
+        
+        Functions `continent`, `country`, `year` and `manuf` parse the VIN and return the values. year returns a positive integer, while the others return a string with their name.
+        ```python3
+        >>> vp.country(vin)
+        'United States'
+        >>> vp.year(vin)
+        2008
+        >>> vp.manuf(vin)
+        'General Motors USA'
+        ```
+        
+        Function `parse` calls all the other functions and returns the results in a dict if the provided VIN is valid.
+        Function `online_parse` queries the nhtsa api with the provided VIN. Empty values are removed from the response and the rest are returned in a python dict. No other transformations are performed on the keys or values.
+        Note that, unlike `parse`, `online_parse` doesn't check if the VIN is valid before sending it to the remote server.
+        
+        The `CHARS` constant is a sorted string with all the valid characters of a VIN: A to Z, 1 to 9 and 0, except for I, O and Q.
+        
+        
+Keywords: VIN,WMI,VDS,OBD
+Platform: UNKNOWN
+Classifier: Development Status :: 3 - Alpha
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Topic :: Software Development
+Classifier: Topic :: Utilities
+Description-Content-Type: text/markdown

+ 57 - 0
src/vin-parser-0.0.1/README.md

@@ -0,0 +1,57 @@
+# vin-parser
+Library that provides functions to work with VIN strings.
+
+## Install
+vin-parser is available on PyPI and can be installed using pip.
+
+`$ pip install vin-parser`
+
+## Usage
+All the public functions are exported to the package namespace. We'll alias it as vp in the following examples.
+
+`>>> import vin_parser as vp`
+<!--
+Example usage with some fakey VINS.
+Show wmi, vds for lowercase VINS
+-->
+
+The functions `check_no`, `seq_no`, `wmi`, `vds` and `vis` return parts of the VIN string.
+```python3
+>>> vin = "1GYFK63878R248711"
+>>> vp.check_no(vin)
+'7'
+```
+Function `check_no` returns the VIN check digit, i.e. position 9 in the VIN string. It returns for all VINs, even for those that don't use the check digit schema.
+
+```python3
+>>> vp.wmi(vin)
+'1GY'
+>>> vp.vds(vin)
+'FK6387'
+```
+Lowercase VINs are accepted:
+```python3
+>>> vp.vis(vin.lower())
+'8R248711'
+```
+
+`check_valid`, `is_valid` and `small_manuf` are predicate functions, i.e. functions that return True or False.
+`check_valid` returns True if the VIN's check digit matches the computed value.
+`is_valid` returns True if the provided VIN is valid. Because the use of VIN check digit is not adopted worldwide, the check_valid test is not performed when verifing the validity of a VIN.
+
+Functions `continent`, `country`, `year` and `manuf` parse the VIN and return the values. year returns a positive integer, while the others return a string with their name.
+```python3
+>>> vp.country(vin)
+'United States'
+>>> vp.year(vin)
+2008
+>>> vp.manuf(vin)
+'General Motors USA'
+```
+
+Function `parse` calls all the other functions and returns the results in a dict if the provided VIN is valid.
+Function `online_parse` queries the nhtsa api with the provided VIN. Empty values are removed from the response and the rest are returned in a python dict. No other transformations are performed on the keys or values.
+Note that, unlike `parse`, `online_parse` doesn't check if the VIN is valid before sending it to the remote server.
+
+The `CHARS` constant is a sorted string with all the valid characters of a VIN: A to Z, 1 to 9 and 0, except for I, O and Q.
+

+ 32 - 0
src/vin-parser-0.0.1/setup.cfg

@@ -0,0 +1,32 @@
+[metadata]
+name = vin-parser
+version = 0.0.1
+description = This is vin-parser package description
+long_description = file: README.md
+long_description_content_type = text/markdown
+license = MIT
+author = Daniel Ciumberică
+author_email = ciumbi.ionut@gmail.com
+url = https://github.com/nighcoder/vin-parser
+keywords = VIN, WMI, VDS, OBD
+classifiers = 
+	Development Status :: 3 - Alpha
+	Intended Audience :: Developers
+	License :: OSI Approved :: MIT License
+	Operating System :: OS Independent
+	Programming Language :: Python :: 3
+	Programming Language :: Python :: 3.6
+	Topic :: Software Development
+	Topic :: Utilities
+
+[options]
+packages = find:
+install_requires = requests==2.22.0
+
+[options.package_data]
+* = data/*
+
+[egg_info]
+tag_build = 
+tag_date = 0
+

+ 3 - 0
src/vin-parser-0.0.1/setup.py

@@ -0,0 +1,3 @@
+from setuptools import setup, find_packages
+
+setup()

+ 77 - 0
src/vin-parser-0.0.1/vin_parser.egg-info/PKG-INFO

@@ -0,0 +1,77 @@
+Metadata-Version: 2.1
+Name: vin-parser
+Version: 0.0.1
+Summary: This is vin-parser package description
+Home-page: https://github.com/nighcoder/vin-parser
+Author: Daniel Ciumberică
+Author-email: ciumbi.ionut@gmail.com
+License: MIT
+Description: # vin-parser
+        Library that provides functions to work with VIN strings.
+        
+        ## Install
+        vin-parser is available on PyPI and can be installed using pip.
+        
+        `$ pip install vin-parser`
+        
+        ## Usage
+        All the public functions are exported to the package namespace. We'll alias it as vp in the following examples.
+        
+        `>>> import vin_parser as vp`
+        <!--
+        Example usage with some fakey VINS.
+        Show wmi, vds for lowercase VINS
+        -->
+        
+        The functions `check_no`, `seq_no`, `wmi`, `vds` and `vis` return parts of the VIN string.
+        ```python3
+        >>> vin = "1GYFK63878R248711"
+        >>> vp.check_no(vin)
+        '7'
+        ```
+        Function `check_no` returns the VIN check digit, i.e. position 9 in the VIN string. It returns for all VINs, even for those that don't use the check digit schema.
+        
+        ```python3
+        >>> vp.wmi(vin)
+        '1GY'
+        >>> vp.vds(vin)
+        'FK6387'
+        ```
+        Lowercase VINs are accepted:
+        ```python3
+        >>> vp.vis(vin.lower())
+        '8R248711'
+        ```
+        
+        `check_valid`, `is_valid` and `small_manuf` are predicate functions, i.e. functions that return True or False.
+        `check_valid` returns True if the VIN's check digit matches the computed value.
+        `is_valid` returns True if the provided VIN is valid. Because the use of VIN check digit is not adopted worldwide, the check_valid test is not performed when verifing the validity of a VIN.
+        
+        Functions `continent`, `country`, `year` and `manuf` parse the VIN and return the values. year returns a positive integer, while the others return a string with their name.
+        ```python3
+        >>> vp.country(vin)
+        'United States'
+        >>> vp.year(vin)
+        2008
+        >>> vp.manuf(vin)
+        'General Motors USA'
+        ```
+        
+        Function `parse` calls all the other functions and returns the results in a dict if the provided VIN is valid.
+        Function `online_parse` queries the nhtsa api with the provided VIN. Empty values are removed from the response and the rest are returned in a python dict. No other transformations are performed on the keys or values.
+        Note that, unlike `parse`, `online_parse` doesn't check if the VIN is valid before sending it to the remote server.
+        
+        The `CHARS` constant is a sorted string with all the valid characters of a VIN: A to Z, 1 to 9 and 0, except for I, O and Q.
+        
+        
+Keywords: VIN,WMI,VDS,OBD
+Platform: UNKNOWN
+Classifier: Development Status :: 3 - Alpha
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Topic :: Software Development
+Classifier: Topic :: Utilities
+Description-Content-Type: text/markdown

+ 12 - 0
src/vin-parser-0.0.1/vin_parser.egg-info/SOURCES.txt

@@ -0,0 +1,12 @@
+README.md
+setup.cfg
+setup.py
+vin_parser/__init__.py
+vin_parser/core.py
+vin_parser/nhtsa.py
+vin_parser.egg-info/PKG-INFO
+vin_parser.egg-info/SOURCES.txt
+vin_parser.egg-info/dependency_links.txt
+vin_parser.egg-info/requires.txt
+vin_parser.egg-info/top_level.txt
+vin_parser/data/wmi.csv

+ 1 - 0
src/vin-parser-0.0.1/vin_parser.egg-info/dependency_links.txt

@@ -0,0 +1 @@
+

+ 1 - 0
src/vin-parser-0.0.1/vin_parser.egg-info/requires.txt

@@ -0,0 +1 @@
+requests==2.22.0

+ 1 - 0
src/vin-parser-0.0.1/vin_parser.egg-info/top_level.txt

@@ -0,0 +1 @@
+vin_parser

+ 7 - 0
src/vin-parser-0.0.1/vin_parser/__init__.py

@@ -0,0 +1,7 @@
+'''library that provides useful functions that work on VIN strings'''
+
+from .core import *
+from .nhtsa import lookup as online_parse
+
+__all__ = ["CHARS", "check_no", "check_valid", "continent", "country", "year", "is_valid", "small_manuf", "seq_no",
+           "wmi","vds", "vis", "manuf", "parse", "online_parse"]

+ 395 - 0
src/vin-parser-0.0.1/vin_parser/core.py

@@ -0,0 +1,395 @@
+from functools import reduce
+from operator import add
+import csv
+from pkg_resources import resource_filename
+from datetime import datetime as dt
+
+CHARS = "ABCDEFGHJKLMNPRSTUVWXYZ1234567890"
+
+def upper(func):
+    def wrapped(vin):
+        vin = vin.upper()
+        return func(vin)
+    wrapped.__doc__ = func.__doc__
+    return wrapped
+
+@upper
+def check_no(vin):
+    '''Returns the VIN check digit (9th position)'''
+    return vin[8] # Is only meaningful for NA and China market cars.
+
+@upper
+def check_valid (vin):
+    '''Returns True if VIN check digit is valid or False otherwise'''
+    vals = {k:v for k, v in zip(CHARS, list(range(1,9)) + list(range(1,6)) + [7, 9] + list(range(2,10)) + list(range(1,10)) + [0])}
+    weights = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2, 1]
+    s = reduce(add, [vals[c] * w for c, w in zip(vin, weights)])
+    check_digit = s % 11
+    if check_digit == 10:
+        check_digit = "X"
+    return str(check_digit) == check_no(vin)
+
+@upper
+def continent (vin):
+    '''Returns the continent associated with the VIN or None'''
+    x = vin[0]
+    if x in CHARS[:8]:  # "ABCDEFGH"
+        return "Africa"
+    elif x in CHARS[8:15]: # "JKLMNPR"
+        return "Asia"
+    elif x in CHARS[15:23]: # "STUVWXYZ"
+        return "Europe"
+    elif x in CHARS[23:28]: # "12345"
+        return "North America"
+    elif x in CHARS[28:30]: # "67"
+        return"Oceania"
+    elif x in CHARS[30:32]: # "89"
+        return "South America"
+
+@upper
+def country (vin):
+    '''Returns the country associated with the VIN or `unassigned`.
+    Returns None if first two characters in VIN contain illegal characters'''
+    ch1 = vin[0]
+    ch2 = vin[1]
+
+    # Africa
+    if ch1 == "A":
+        if ch2 in CHARS[:8]:
+            return "South Africa"
+        elif ch2 in CHARS[8:13]:
+            return "Cote d'Ivoire"
+        elif ch2 in CHARS[13:]:
+            return "unassigned"
+    elif ch1 == "B":
+        if ch2 in CHARS[:5]:
+            return "Angola"
+        elif ch2 in CHARS[5:10]:
+            return "Kenya"
+        elif ch2 in CHARS[10:15]:
+            return "Tanzania"
+        elif ch2 in CHARS[15:]:
+            return "unassigned"
+    elif ch1 == "C":
+        if ch2 in CHARS[:5]:
+            return "Benin"
+        elif ch2 in CHARS[5:10]:
+            return "Madagascar"
+        elif ch2 in CHARS[10:15]:
+            return "Tunisia"
+        elif ch2 in CHARS[15:]:
+            return "unassigned"
+    elif ch1 == "D":
+        if ch2 in CHARS[:5]:
+            return "Egypt"
+        elif ch2 in CHARS[5:10]:
+            return "Morocco"
+        elif ch2 in CHARS[10:15]:
+            return "Zambia"
+        elif ch2 in CHARS[15:]:
+            return "unassigned"
+    elif ch1 == "E":
+        if ch2 in CHARS[:5]:
+            return "Ethiopia"
+        elif ch2 in CHARS[5:10]:
+            return "Mozambique"
+        elif ch2 in CHARS[10:]:
+            return "unassigned"
+    elif ch1 == "F":
+        if ch2 in CHARS[:5]:
+            return "Ghana"
+        elif ch2 in CHARS[5:10]:
+            return "Nigeria"
+        elif ch2 in CHARS[10:]:
+            return "unassigned"
+    elif ch1 in CHARS[6:8]:
+        return "unassigned"
+
+    # Asia
+    elif ch1 == "J":
+         return "Japan"
+    elif ch1 == "K":
+        if ch2 in CHARS[:5]:
+            return "Sri Lanka"
+        elif ch2 in CHARS[5:10]:
+            return "Israel"
+        elif ch2 in CHARS[10:15]:
+            return "South Korea"
+        elif ch2 in CHARS[15:]:
+            return "Kazakhstan"
+    elif ch1 == "L":
+        return "China"
+    elif ch1 == "M":
+        if ch2 in CHARS[:5]:
+            return "India"
+        elif ch2 in CHARS[5:10]:
+            return "Indonesia"
+        elif ch2 in CHARS[10:15]:
+            return "Thailand"
+        elif ch2 in CHARS[15:]:
+            return "Myanmar"
+    elif ch1 == "N":
+        if ch2 in CHARS[:5]:
+            return "Iran"
+        elif ch2 in CHARS[5:10]:
+            return "Pakistan"
+        elif ch2 in CHARS[10:15]:
+            return "Turkey"
+        elif ch2 in CHARS[15:]:
+            return "unassigned"
+    elif ch1 == "P":
+        if ch2 in CHARS[:5]:
+            return "Philippines"
+        elif ch2 in CHARS[5:10]:
+            return "Singapore"
+        elif ch2 in CHARS[10:15]:
+            return "Malaysia"
+        elif ch2 in CHARS[15:]:
+            return "unassigned"
+    elif ch1 == "R":
+        if ch2 in CHARS[:5]:
+            return "United Arab Emirates"
+        elif ch2 in CHARS[5:10]:
+            return "Taiwan"
+        elif ch2 in CHARS[10:15]:
+            return "Vietnam"
+        elif ch2 in CHARS[15:]:
+            return "Saudi Arabia"
+
+    # Europe
+    elif ch1 == "S":
+        if ch2 in CHARS[:12]:
+            return "United Kingdom"
+        elif ch2 in CHARS[12:17]:
+            return "Germany (East)" # Is it still in use?!
+        elif ch2 in CHARS[17:23]:
+            return "Poland"
+        elif ch2 in CHARS[23:27]:
+            return "Latvia"
+        elif ch2 in CHARS[27:]:
+            return "unassigned"
+    elif ch1 == "T":
+        if ch2 in CHARS[:8]:
+            return "Switzerland"
+        elif ch2 in CHARS[8:14]:
+            return "Czech Republic"
+        elif ch2 in CHARS[14:19]:
+            return "Hungary"
+        elif ch2 in CHARS[19:24]:
+            return "Portugal"
+        elif ch2 in CHARS[24:]:
+            return "unassigned"
+    elif ch1 == "U":
+        if ch2 in CHARS[:7] or ch2 in CHARS[23:27] or ch2 in CHARS[30:]:
+            return "unassigned"
+        elif ch2 in CHARS[7:12]:
+            return "Denmark"
+        elif ch2 in CHARS[12:17]:
+            return "Ireland"
+        elif ch2 in CHARS[17:23]:
+            return "Romania"
+        elif ch2 in CHARS[27:30]:
+            return "Slovakia"
+    elif ch1 == "V":
+        if ch2 in CHARS[:5]:
+            return "Austria"
+        elif ch2 in CHARS[5:15]:
+            return "France"
+        elif ch2 in CHARS[15:20]:
+            return "Spain"
+        elif ch2 in CHARS[20:25]:
+            return "Serbia"
+        elif ch2 in CHARS[25:28]:
+            return "Croatia"
+        elif ch2 in CHARS[28:]:
+            return "Estonia"
+    elif ch1 == "W":
+        return "Germany"
+    elif ch1 == "X":
+        if ch2 in CHARS[:5]:
+            return "Bulgaria"
+        elif ch2 in CHARS[5:10]:
+            return "Greece"
+        elif ch2 in CHARS[10:15]:
+            return "Netherlands"
+        elif ch2 in CHARS[15:20] or ch2 in CHARS[25:]:
+            return "Russia"
+        elif ch2 in CHARS[20:25]:
+            return "Luxembourg"
+    elif ch1 == "Y":
+        if ch2 in CHARS[:5]:
+            return "Belgium"
+        elif ch2 in CHARS[5:10]:
+            return "Finland"
+        elif ch2 in CHARS[10:15]:
+            return "Malta"
+        elif ch2 in CHARS[15:20]:
+            return "Sweden"
+        elif ch2 in CHARS[20:25]:
+            return "Norway"
+        elif ch2 in CHARS[25:28]:
+            return "Belarus"
+        elif ch2 in CHARS[28:]:
+            return "Ukraine"
+    elif ch1 == "Z":
+        if ch2 in CHARS[:15]:
+            return "Italy"
+        elif ch2 in CHARS[15:20] or ch2 in CHARS[28:]:
+            return "unassigned"
+        elif ch2 in CHARS[20:25]:
+            return "Slovenia"
+        elif ch2 in CHARS[25:28]:
+            return "Lithuania"
+
+    # North America
+    elif ch1 in "145":
+        return "United States"
+    elif ch1 == "2":
+        return "Canada"
+    elif ch1 == "3":
+        if ch2 in CHARS[:20]:
+            return "Mexico"
+        elif ch2 in CHARS[20:30]:
+            return "Costa Rica"
+        elif ch2 in CHARS[30:32]:
+            return "Cayman Islands"
+        elif ch2 == "0":
+            return "unassigned"
+
+    # Oceania
+    elif ch1 == "6":
+        return "Australia"
+    elif ch1 == "7":
+        return "New Zealand"
+
+    # South America
+    elif ch1 == "8":
+        if ch2 in CHARS[:5]:
+            return "Argentina"
+        elif ch2 in CHARS[5:10]:
+            return "Chile"
+        elif ch2 in CHARS[10:15]:
+            return "Ecuador"
+        elif ch2 in CHARS[15:20]:
+            return "Peru"
+        elif ch2 in CHARS[20:25]:
+            return "Venezuela"
+        elif ch2 in CHARS[25:]:
+            return "unassigned"
+    elif ch1 == "9":
+        if ch2 in CHARS[:5] or ch2 in CHARS[25:32]:
+            return "Brazil"
+        elif ch2 in CHARS[5:10]:
+            return "Colombia"
+        elif ch2 in CHARS[10:15]:
+            return "Paraguay"
+        elif ch2 in CHARS[15:20]:
+            return "Uruguay"
+        elif ch2 in CHARS[20:25]:
+            return "Trinidad & Tobago"
+        elif ch2 == "0":
+            return "unassigned"
+
+@upper
+def year (vin):
+    '''Returns the vehicle model year'''
+    year_ch = (c for c in CHARS if c not in "UZ0")
+    # This pos 7 check was introduced in US for NA autos.
+    # Is not valid for EU, Asia Cars
+    if continent(vin) == "North America":
+        if vin[6] in CHARS[:23]: # char 7 in VIN is a letter
+            years = range(2010, 2040)
+        else:
+            years = range(1980, 2010)
+    else:
+        years = range(2010, 2040)
+    for c in zip(year_ch, years):
+        if c[0] == vin[9]:
+            # Check for model years in the future
+            if c[1] > dt.now().year + 1:
+                return c[1] - 30
+            else:
+                return c[1]
+
+@upper
+def is_valid (vin):
+    '''Returns True if VIN is valid'''
+    if continent(vin) == "North America":
+        # Limitations are true only on North Ameerican markets.
+        if vin[9] not in "ZU0": y = True
+        else: y = False
+    else: y = True
+    # North America and China VINs have a check_no that can be test for validity
+    return len(vin) == 17 and\
+           vin[0] != "0" and\
+           set(vin).issubset(set(CHARS)) and\
+           y and\
+           country(vin) != "unassigned"
+
+@upper
+def small_manuf (vin):
+    '''Returns True if manufacturer builds a limited number of vehicles a year.
+    The limit varies globally.'''
+    if vin[2] == "9":
+        return True
+    else:
+        return False
+
+@upper
+def wmi (vin):
+    '''Returns the World Manufacturer Identifier.'''
+    if vin[2] == "9":
+        return vin[:3] + vin[11:14]
+    else:
+        return vin[:3]
+
+@upper
+def vds (vin):
+    '''Returns the Vehicle Descriptor Section.'''
+    return vin[3:9]
+
+@upper
+def vis (vin):
+    '''Returns the Vehicle Identifier Section.'''
+    return vin[9:]
+
+def _get_wmicsv():
+    filename = resource_filename ("vin_parser", "data/wmi.csv")
+    with open(filename, "r") as csvfile:
+        ml = [c for c in csv.reader(csvfile)]
+        return {ml[i][0].strip(): ml[i][1].strip() for i in range(1,len(ml))}
+
+@upper
+def manuf (vin):
+    '''Returns the manufacturer.'''
+    manfs = _get_wmicsv()
+    w = wmi (vin)
+    return manfs.get(w[:2]) or manfs.get(w)
+
+@upper
+def seq_no (vin):
+    '''Returns the vehicle sequence number.'''
+    if small_manuf(vin):
+        return vin[-3:]
+    else:
+        return vin[-6:]
+
+def parse (vin):
+    '''Parses the VIN and returns a dict with the results.
+    Returns None if VIN is not valid.'''
+    r = {}
+    if is_valid(vin):
+        r["continent"] = continent(vin)
+        r["country"] = country(vin)
+        r["manufacturer"] = manuf(vin)
+        r["year"] = year(vin)
+        r["check_no"] = check_no(vin)
+        r["small_manuf"] = small_manuf(vin)
+        r["check_valid"] = check_valid(vin)
+        r["wmi"] = wmi(vin)
+        r["vds"] = vds(vin)
+        r["vis"] = vis(vin)
+        r["seq_no"] = seq_no(vin)
+        return r
+    else:
+        return None

+ 508 - 0
src/vin-parser-0.0.1/vin_parser/data/wmi.csv

@@ -0,0 +1,508 @@
+WMI, Manufacturer
+1B3, Dodge
+1C3, Chrysler
+1C4, Chrysler
+1C6, Chrysler
+1D3, Dodge
+1FA, Ford Motor Company
+1FB, Ford Motor Company
+1FC, Ford Motor Company
+1FD, Ford Motor Company
+1FM, Ford Motor Company
+1FT, Ford Motor Company
+1FU, Freightliner
+1FV, Freightliner
+1G, General Motors USA
+1G1, Chevrolet USA
+1G2, Pontiac USA
+1G3, Oldsmobile USA
+1G4, Buick USA
+1G6, Cadillac USA
+1G8, Saturn USA
+1GC, Chevrolet Truck USA
+1GM, Pontiac USA
+1GT, GMC Truck USA
+1GY, Cadillac USA
+1H, Honda USA
+1HD, Harley-Davidson
+1HT, International Truck and Engine Corp. USA
+1J4, Jeep
+1J8, Jeep
+1L, Lincoln USA
+1M1, Mack Truck USA
+1M2, Mack Truck USA
+1M3, Mack Truck USA
+1M4, Mack Truck USA
+1ME, Mercury USA
+1N, Nissan USA
+1NX, NUMMI USA
+1P3, Plymouth USA
+1VW, Volkswagen USA
+1XK, Kenworth USA
+1XP, Peterbilt USA
+1YV, Mazda USA (AutoAlliance International)
+1ZV, Ford (AutoAlliance International)
+2A4, Chrysler Canada
+2B3, Dodge Canada
+2B7, Dodge Canada
+2BP, Bombardier Recreational Products
+2C3, Chrysler Canada
+2CN, CAMI
+2D3, Dodge Canada
+2FA, Ford Motor Company Canada
+2FB, Ford Motor Company Canada
+2FC, Ford Motor Company Canada
+2FM, Ford Motor Company Canada
+2FT, Ford Motor Company Canada
+2FU, Freightliner
+2FV, Freightliner
+2FZ, Sterling
+2G1, Chevrolet Canada
+2G2, Pontiac Canada
+2G3, Oldsmobile Canada
+2G4, Buick Canada
+2Gx, General Motors Canada
+2HG, Honda Canada
+2HH, Acura Canada
+2HJ, Honda Canada
+2HK, Honda Canada
+2HM, Hyundai Canada
+2LN, Lincoln
+2M, Mercury
+2NV, Nova Bus Canada
+2P3, Plymouth Canada
+2T, Toyota Canada
+2TP, Triple E Canada LTD
+2V4, Volkswagen Canada
+2V8, Volkswagen Canada
+2WK, Western Star
+2WL, Western Star
+2WM, Western Star
+3C3, Chrysler Mexico
+3C4, Chrysler Mexico
+3C6, Chrysler Mexico
+3D3, Dodge Mexico
+3D4, Dodge Mexico
+3FA, Ford Motor Company Mexico
+3FE, Ford Motor Company Mexico
+3G, General Motors Mexico
+3H, Honda Mexico
+3JB, BRP Mexico (all-terrain vehicles)
+3KP, Kia Mexico
+3MD, Mazda Mexico
+3MZ, Mazda Mexico
+3N, Nissan Mexico
+3NE, Polaris Industries USA
+3NS, Polaris Industries USA
+3P3, Plymouth Mexico
+3VW, Volkswagen Mexico
+46J, Federal Motors Inc. USA
+4EN, Emergency One USA
+4F, Mazda USA
+4JG, Mercedes-Benz USA
+4M, Mercury
+4P1, Pierce Manufacturing Inc. USA
+4RK, Nova Bus USA
+4S, Subaru-Isuzu Automotive
+4T, Toyota
+4UF, Arctic Cat Inc.
+4US, BMW USA
+4UZ, Frt-Thomas Bus
+4V1, Volvo
+4V2, Volvo
+4V3, Volvo
+4V4, Volvo
+4V5, Volvo
+4V6, Volvo
+4VL, Volvo
+4VM, Volvo
+4VZ, Volvo
+538, Zero Motorcycles (USA)
+55, Mercedes-Benz (USA)
+56K, Indian Motorcycle USA
+5F, Honda USA-Alabama
+5J, Honda USA-Ohio
+5L, Lincoln
+5N1, Nissan USA
+5NM, Hyundai USA
+5NP, Hyundai USA
+5T, Toyota USA - trucks
+5U, BMS USA
+5X, Hyundai/Kia
+5YJ, Tesla, Inc.
+6AB, MAN Australia
+6F4, Nissan Motor Company Australia
+6F5, Kenworth Australia
+6FP, Ford Motor Company Australia
+6G1, General Motors-Holden (post Nov 2002)
+6G2, Pontiac Australia (GTO & G8)
+6H8, General Motors-Holden (pre Nov 2002)
+6MM, Mitsubishi Motors Australia
+6T1, Toyota Motor Corporation Australia
+7A1, Mitsubishi New Zealand
+7A3, Honda New Zealand
+7A4, Toyota New Zealand
+7A5, Fort New Zealand
+7A8, NZ Transport Agency
+7AT, NZ Transport Agency
+8A1, Renault Argentina
+8AC, Mercedes-Benz Argentina
+8AD, Peugeot Argentina
+8AD, Peugeot Argentina
+8AF, Ford Motor Company Argentina
+8AG, Chevrolet Argentina
+8AJ, Toyota Argentina
+8AK, Suzuki Argentina
+8AP, Fiat Argentina
+8AT, Iveco Argentina
+8AW, Volkswagen Argentina
+8BC, Citroën Argentina
+8C3, Honda Argentina
+8GD, Peugeot Chile
+8GG, Chevrolet Chile
+935, Citroën Brazil
+936, Peugeot Brazil
+93H, Honda Brazil
+93R, Toyota Brazil
+93U, Audi Brazil
+93V, Audi Brazil
+93W, Fiat Professional Brazil
+93X, Mitsubishi Motors Brazil
+93Y, Renault Brazil
+93Z, Iveco Brazil
+94D, Nissan Brazil
+988, Jeep Brazil
+98M, BMW Brazil
+98R, Chery Brazil
+99A, Audi Brazil
+9BD, Fiat Brazil
+9BF, Ford Motor Company Brazil
+9BG, Chevrolet Brazil
+9BH, Hyundai Brazil
+9BM, Mercedes-Benz Brazil
+9BR, Toyota Brazil
+9BS, Scania Brazil
+9BV, Volvo Trucks Brazil
+9BW, Volkswagen Brazil
+9FB, Renault Colombia
+9UJ, Chery Uruguay
+9UK, Lifan Uruguay
+9UW, Kia Uruguay
+AAV, Volkswagen South Africa
+AC5, Hyundai South Africa
+ADD, Hyundai South Africa
+AFA, Ford South Africa
+AHT, Toyota South Africa
+JA, Isuzu
+JA3, Mitsubishi
+JA4, Mitsubishi
+JD, Daihatsu
+JF, Fuji Heavy Industries (Subaru)
+JH, Honda
+JK, Kawasaki (motorcycles)
+JL5, Mitsubishi Fuso
+JM1, Mazda
+JMB, Mitsubishi Motors
+JMY, Mitsubishi Motors
+JMZ, Mazda
+JN, Nissan
+JS, Suzuki
+JT, Toyota
+JY, Yamaha (motorcycles)
+KL, Daewoo General Motors South Korea
+KM, Hyundai
+KM1, Hyosung (motorcycles)
+KMY, Daelim (motorcycles)
+KN, Kia
+KNM, Renault Samsung
+KPA, SsangYong
+KPT, SsangYong
+L4B, Xingyue Group (motorcycles)
+L5C, KangDi (ATV)
+L5K, Zhejiang Yongkang Easy Vehicle
+L5N, Zhejiang Taotao, China (ATV & motorcycles)
+L5Y, Merato Motorcycle Taizhou Zhongneng
+L85, Zhejiang Yongkang Huabao Electric Appliance
+L8X, Zhejiang Summit Huawin Motorcycle
+LAE, Jinan Qingqi Motorcycle
+LAN, Changzhou Yamasaki Motorcycle
+LB2, Geely Motorcycles
+LBB, Zhejiang Qianjiang Motorcycle (Keeway/Generic)
+LBE, Beijing Hyundai
+LBM, Zongshen Piaggio
+LBP, Chongqing Jainshe Yamaha (motorcycles)
+LCE, Hangzhou Chunfeng Motorcycles (CFMOTO)
+LDC, Dong Feng Peugeot Citroen (DPCA), China
+LDD, Dandong Huanghai Automobile
+LDN, SouEast Motor
+LDY, Zhongtong Coach, China
+LE4, Beijing Benz, China
+LET, Jiangling-Isuzu Motors, China
+LFB, FAW, China (busses)
+LFG, Taizhou Chuanl Motorcycle Manufacturing
+LFP, FAW, China (passenger vehicles)
+LFT, FAW, China (trailers)
+LFV, FAW-Volkswagen, China
+LFW, FAW JieFang, China
+LFY, Changshu Light Motorcycle Factory
+LGB, Dong Feng (DFM), China
+LGH, Qoros (formerly Dong Feng (DFM)), China
+LGX, BYD Auto, China
+LH1, FAW-Haima, China
+LHB, Beijing Automotive Industry Holding
+LJ1, JAC, China
+LJC, JAC, China
+LKL, Suzhou King Long, China
+LL6, Hunan Changfeng Manufacture Joint-Stock
+LL8, Linhai (ATV)
+LMC, Suzuki Hong Kong (motorcycles)
+LPR, Yamaha Hong Kong (motorcycles)
+LSG, Shanghai General Motors, China
+LSJ, MG Motor UK Limited - SAIC Motor, Shanghai, China
+LSV, Shanghai Volkswagen, China
+LSY, Brilliance Zhonghua
+LTV, Toyota Tian Jin
+LUC, Guangqi Honda, China
+LVS, Ford Chang An
+LVV, Chery, China
+LVZ, Dong Feng Sokon Motor Company (DFSK)
+LZE, Isuzu Guangzhou, China
+LZG, Shaanxi Automobile Group, China
+LZM, MAN China
+LZP, Zhongshan Guochi Motorcycle (Baotian)
+LZY, Yutong Zhengzhou, China
+LZZ, Chongqing Shuangzing Mech & Elec (Howo)
+MA1, Mahindra & Mahindra
+MA3, Suzuki India (Maruti)
+MA6, GM India
+MA7, Mitsubishi India (formerly Honda)
+MAB, Mahindra & Mahindra
+MAC, Mahindra & Mahindra
+MAJ, Ford India
+MAK, Honda Siel Cars India
+MAL, Hyundai
+MAT, Tata Motors
+MB1, Ashok Leyland
+MBH, Suzuki India (Maruti)
+MBJ, Toyota India
+MBR, Mercedes-Benz India
+MC2, Volvo Eicher commercial vehicles limited.
+MCA, Fiat India
+MCB, GM India
+MD2, Bajaj Auto
+MDH, Nissan India
+MEE, Renault India
+MEX, Volkswagen India
+MHF, Toyota Indonesia
+MHR, Honda Indonesia
+MLC, Suzuki Thailand
+MLH, Honda Thailand
+MM8, Mazda Thailand
+MMB, Mitsubishi Thailand
+MMC, Mitsubishi Thailand
+MMM, Chevrolet Thailand
+MMS, Suzuki Thailand
+MMT, Mitsubishi Thailand
+MNB, Ford Thailand
+MNT, Nissan Thailand
+MP1, Isuzu Thailand
+MPA, Isuzu Thailand
+MR0, Toyota Thailand
+MRH, Honda Thailand
+MS0, KIA Myanmar
+MS3 , Suzuki Myanmar Motor Co.,Ltd.
+NLA, Honda Türkiye
+NLE, Mercedes-Benz Türk Truck
+NLH, Hyundai Assan
+NLT, TEMSA
+NM0, Ford Turkey
+NM4, Tofaş Türk
+NMB, Mercedes-Benz Türk Buses
+NMC, BMC
+NMT, Toyota Türkiye
+NNA, Isuzu Turkey
+PE1, Ford Philippines
+PE3, Mazda Philippines
+PL1, Proton, Malaysia
+PNA, NAZA, Malaysia (Peugeot)
+R2P , Evoke Electric Motorcycles HK
+RA1, Steyr Trucks International FZE, UAE
+RF3, Aeon Motor, Taiwan
+RFB, Kymco, Taiwan
+RFG, Sanyang SYM, Taiwan
+RFL, Adly, Taiwan
+RFT, CPI, Taiwan
+SAB , Optare
+SAD , Jaguar (F-Pace, I-Pace)
+SAJ, Jaguar
+SAL, Land Rover
+SAR, Rover
+SAX, Austin-Rover
+SB1, Toyota UK
+SBM, McLaren
+SCA, Rolls Royce
+SCB, Bentley
+SCC, Lotus Cars
+SCE, DeLorean Motor Cars N. Ireland (UK)
+SCF, Aston
+SDB, Peugeot UK (formerly Talbot)
+SED, General Motors Luton Plant
+SEY, LDV
+SFA, Ford UK
+SFD, Alexander Dennis UK
+SHH, Honda UK
+SHS, Honda UK
+SJN, Nissan UK
+SKF, Vauxhall
+SLP, JCB Research UK
+SMT, Triumph Motorcycles
+SUF, Fiat Auto Poland
+SUL, FSC (Poland)
+SUP, FSO-Daewoo (Poland)
+SUU, Solaris Bus & Coach (Poland)
+SWV, TA-NO (Poland)
+TCC, Micro Compact Car AG (smart 1998-1999)
+TDM, QUANTYA Swiss Electric Movement (Switzerland)
+TMA, Hyundai Motor Manufacturing Czech
+TMB, Škoda (Czech Republic)
+TMK, Karosa (Czech Republic)
+TMP, Škoda trolleybuses (Czech Republic)
+TMT, Tatra (Czech Republic)
+TNE, TAZ
+TRA, Ikarus Bus
+TRU, Audi Hungary
+TSB, Ikarus Bus
+TSE, Ikarus Egyedi Autobuszgyar, (Hungary)
+TSM, Suzuki Hungary
+TW1, Toyota Caetano Portugal
+TYA, Mitsubishi Trucks Portugal
+TYB, Mitsubishi Trucks Portugal
+U5Y, Kia Motors Slovakia
+U6Y, Kia Motors Slovakia
+UU1, Renault Dacia, (Romania)
+UU3, ARO
+UU6, Daewoo Romania
+VAG, Magna Steyr Puch
+VAN, MAN Austria
+VBK, KTM (Motorcycles)
+VF1, Renault
+VF2, Renault
+VF3, Peugeot
+VF4, Talbot
+VF6, Renault (Trucks & Buses)
+VF7, Citroën
+VF8, Matra
+VF9795, Bugatti
+VG5, MBK (motorcycles)
+VLU, Scania France
+VN1, SOVAB (France)
+VNE, Irisbus (France)
+VNK, Toyota France
+VNV, Renault-Nissan
+VS6, Ford Spain
+VS7, Citroën Spain
+VSA, Mercedes-Benz Spain
+VSE, Suzuki Spain (Santana Motors)
+VSK, Nissan Spain
+VSS, SEAT
+VSX, Opel Spain
+VTH, Derbi (motorcycles)
+VTL, Yamaha Spain (motorcycles)
+VTT, Suzuki Spain (motorcycles)
+VWA, Nissan Spain
+VWV, Volkswagen Spain
+VX1, Zastava / Yugo Serbia
+W0L, Opel
+W0V, Opel
+WA1, Audi SUV
+WAG, Neoplan
+WAU, Audi
+WB1, BMW Motorrad of North America
+WBA, BMW
+WBS, BMW M
+WBW, BMW
+WBY, BMW
+WDA, Daimler
+WDB, Mercedes-Benz
+WDC, DaimlerChrysler
+WDD, Mercedes-Benz
+WDF, Mercedes-Benz (commercial vehicles)
+WEB, Evobus GmbH (Mercedes-Bus)
+WF0, Ford Germany
+WJM, Iveco Magirus
+WKE, Fahrzeugwerk Bernard Krone GmbH & Co. KG
+WKK, Kässbohrer/Setra
+WMA, MAN Germany
+WME, smart
+WMW, MINI
+WMX, Mercedes-AMG
+WP0, Porsche
+WP1, Porsche SUV
+WUA, quattro GmbH
+WV1, Volkswagen Commercial Vehicles
+WV2, Volkswagen Bus/Van
+WV3, Volkswagen Trucks
+WVG, Volkswagen MPV/SUV
+WVW, Volkswagen
+X1M, PAZ (Russia)
+X4X, AvtoTor (Russia, BMW SKD)
+X7L, Renault AvtoFramos (Russia)
+X7M, Hyundai TagAZ (Russia)
+XL9363, Spyker
+XLB, Volvo (NedCar)
+XLE, Scania Netherlands
+XLR, DAF (trucks)
+XMC, Mitsubishi (NedCar)
+XTA, Lada/AvtoVAZ (Russia)
+XTC, KAMAZ (Russia)
+XTH, GAZ (Russia)
+XTT, UAZ/Sollers (Russia)
+XTU, Trolza (Russia)
+XTY, LiAZ (Russia)
+XUF, General Motors Russia
+XUU, AvtoTor (Russia, General Motors SKD)
+XW8, Volkswagen Group Russia
+XWB, UZ-Daewoo (Uzbekistan)
+XWE, AvtoTor (Russia, Hyundai-Kia SKD)
+Y3M, MAZ (Belarus)
+Y6D, Zaporozhets/AvtoZAZ (Ukraine)
+Y7A, Kraz
+YB1, Volvo Trucks Belgium
+YBW, Volkswagen Belgium
+YCM, Mazda Belgium
+YE2, Van Hool (buses)
+YH2, BRP Finland (Lynx snowmobiles)
+YK1, Saab-Valmet Finland
+YS2, Scania AB
+YS3, Saab
+YS4, Scania Bus
+YT9007, Koenigsegg
+YT9034, Carvia
+YTN, Saab NEVS
+YU7, Husaberg (motorcycles)
+YV1, Volvo Cars
+YV2, Volvo Trucks
+YV3, Volvo Buses
+YV4, Volvo Cars
+Z8M, Marussia (Russia)
+ZAA, Autobianchi
+ZAM, Maserati
+ZAP, Piaggio/Vespa/Gilera
+ZAR, Alfa Romeo
+ZBN, Benelli
+ZCF, Iveco
+ZCG, Cagiva SpA / MV Agusta
+ZD0, Yamaha Italy
+ZD3, Beta Motor
+ZD4, Aprilia
+ZDF, Ferrari Dino
+ZDM, Ducati Motor Holdings SpA
+ZFA, Fiat
+ZFC, Fiat V.I.
+ZFF, Ferrari
+ZGU, Moto Guzzi
+ZHW, Lamborghini
+ZJM, Malaguti
+ZJN, Innocenti
+ZKH, Husqvarna Motorcycles Italy
+ZLA, Lancia

+ 16 - 0
src/vin-parser-0.0.1/vin_parser/nhtsa.py

@@ -0,0 +1,16 @@
+import requests as req
+
+def lookup(vin, timeout=2):
+    '''Queries the vin on NHTSA Vehicle API database.
+    Returns a dict with the details or None'''
+    url = "https://vpic.nhtsa.dot.gov/api/vehicles/decodevinvalues/" + vin + "?format=json"
+    try:
+        r = req.get(url, timeout)
+    except req.Timeout:
+        print("Connection timeout")
+        return None
+
+    data = r.json()
+    if data.get("Results"):
+        res = data["Results"][0]
+        return {k: res[k] for k in res.keys() if res[k]}

部分文件因文件數量過多而無法顯示