Equipment-and-Tool-Institute / j1939-84

J1939-84 implementation for etools.org
MIT License
7 stars 6 forks source link

Correct DM3 warning for Control Byte = 3 #1199

Closed ericthomasswenson closed 1 month ago

ericthomasswenson commented 1 year ago

The warning for DM3 busy response is incorrect as NACK was provided in both 6.7 and 6.8. Transpose the execution of b. and c. and correct the warning predicate in 6.7 and 6.8.

// 6.7.16.3 heading missing 14:31:10.6295 DS DM3 Request to Engine #1 (0) 14:31:10.6323 18EA00F9 [3] CC FE 00 (TX) 14:31:10.6345 18E8FF00 [8] 01 FF FF FF F9 CC FE 00 Acknowledgment from Engine #1 (0): Response: NACK, Group Function: 255, Address Acknowledged: 249, PGN Requested: 65228

6.7.16.4.b - Checking for erased diagnostic information 14:31:15.6371 Destination Specific DM6 Request to Engine #1 (0)

WARN: 6.7.16.4.c - OBD ECU Engine #1 (0) did provide a NACK with control byte = 3 for the DS query // ECM provided 01, NACK for DS DM3 Query. This message is excess.

// Engine did not respond to global DM3 // 6.7.16.1 Actions // a. Global DM3 [send Request (PG 59904) for PG 65228]. // b. Wait 5 seconds before checking for erased information. // 6.7.16.2 Fail Criteria // a. Fail if any OBD ECU erases any diagnostic information as discussed in Section A.5. // 6.7.16.3 Actions // a. DS DM3 to each OBD ECU. // b. Wait 5 seconds before checking for erased information. // 6.7.16.4 Fail Criteria // a. Fail if any ECU does not NACK, with control byte = 1 or 2 or 3. // OBD missing in front of ECU // b. Fail or if any OBD ECU erases any diagnostic information. See Section A.5 for more information. // c. Warn if any OBD ECU NACKs with control byte = 3 // Transpose b and c.

Start Test 8.13 - DM3: Diagnostic data clear/reset for previously active DTCs

14:36:05.0737 DS DM3 Request to Engine #1 (0) 14:36:05.0762 18EA00F9 [3] CC FE 00 (TX) 14:36:05.0805 18E8FF00 [8] 01 FF FF FF F9 CC FE 00 Acknowledgment from Engine #1 (0): Response: NACK, Group Function: 255, Address Acknowledged: 249, PGN Requested: 65228

6.8.13.2.b - Checking for erased diagnostic information … WARN: 6.8.13.2.c - OBD ECU Engine #1 (0) did provide a NACK with control byte = 3 for the DS query // This line is misplaced. It should follow DS DM3 query? // Control byte 0 is correct for DM3 DS query response. This warning Is Incorrect

// 6.8.13.1 Actions // a. DS DM3 [send Request (PG 59904) for PG 65228] to each OBD ECU. // b. Wait 5 seconds before checking for erased information. // 6.8.13.2 Fail Criteria // a. Fail if any ECU does not NACK with control byte = 1 or 2 or 3. // b. Fail, if any diagnostic information erased. // c. Warn if any OBD ECU NACKs with control byte = 3. // Transpose c and b to move message next to response. //

ericthomasswenson commented 1 year ago

Also 6.4.14.2 in addition to 6.7.16.4, 6.8.13.2

In all three locations, move the check for control byte=3 before the check for erased diagnostic information.