Closed markmorrisoncummins closed 1 month ago
Looks like it was incorrectly coded as "not equal" instead of "subset".
// 6.4.3.2.b Fail if any OBD ECU report does not include its DM12 DTCs in the list of active DTCs.
...
.filter(p -> !p.getDtcs().equals(getDTCs(moduleAddress)))
Looks like the DM1 fail is fixed, but the DM2 check is still failing (tested on 3.1.19):
Start Test 8.4 - DM23: Emission related previously active DTCs 12:05:34.1409 Global DM23 Request 12:05:34.1422 18EAFFF9 [3] B5 FD 00 (TX) 12:05:34.1468 18FDB500 [8] 47 FF 94 04 03 01 FF FF DM23 from Engine #1 (0): MIL: on, RSL: off, AWL: on, PL: not supported DTC 1172:3 - Engine Turbocharger 1 Compressor Intake Temperature, Voltage Above Normal, Or Shorted To High Source - 1 times
End Test 8.4 - DM23: Emission related previously active DTCs
Start Test 8.5 - DM2: Previously active DTCs 12:05:34.8934 Global DM2 Request 12:05:34.8958 18EAFFF9 [3] CB FE 00 (TX) 12:05:35.0036 1CFECB00 [10] 47 FF 94 04 03 01 61 00 03 01 DM2 from Engine #1 (0): MIL: on, RSL: off, AWL: on, PL: not supported DTC 1172:3 - Engine Turbocharger 1 Compressor Intake Temperature, Voltage Above Normal, Or Shorted To High Source - 1 times DTC 97:3 - Water In Fuel Indicator 1, Voltage Above Normal, Or Shorted To High Source - 1 times
FAIL: 6.8.5.2.a - Engine #1 (0) did not include all DTCs from its DM23 response in its DM2 response
6.8.5.2 Fail Criteria (if supported) a. Fail if any OBD ECU does not include all DTCs from its DM23 response in its DM2 response.
This appears to be a consistent bug. I audited the code for every occurence the DTCs of a packet are compared to another list of DTCs for equality. I highlighted those that I think are incorrect, but we should verify the others. Do "same" and "match" mean "equal"
@ericthomasswenson We should discuss this this afternoon.
Should this have referenced DM23 ilo DM12?
6.7.2.2.b Fail if reported previously active DTC does not match DM12 active DTC from part 6. fail if DM12 DTCs are not a subset of DM2 DTCs
DM1 does include all DM12 DTCs, along with an extra one.
DM2/DM23 appears to have the same issue, although this is not tested with 3.1.14: