Equipment-and-Tool-Institute / j1939-84

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

Revise FF Length Byte (DM25 Byte 1) Check #1140

Closed ericthomasswenson closed 1 year ago

ericthomasswenson commented 2 years ago

Current check compares length byte less 5 to DM24 calculation Proposed:

e.g. If DM25 byte 1 <> DM24 length + 5, Then warn Length byte error. If (DM25-payload-length mod (DM24-length +5)) = 0 Then Display FF content to DM24 layout.

ericthomasswenson commented 2 years ago

Proposed Text: TBD

6.3.13 DM25: Expanded Freeze Frame 6.3.13.1 Actions a. DS DM25 [send Request (PGN 59904) using PGN 64951 (SPNs 3300, 1214, 1215)] to each OBD ECU. b. If no response [transport protocol RTS or NACK(Busy) in 220 ms], then retry DS DM25 request to the OBD ECU. (Do not attempt retry for NACKS that indicate not supported.) c. Translate and print in log file all received freeze frame data with data labels assuming data received in order expected by DM24 response for visual check by test log reviewer. [n] 6.3.13.2 Fail/Warn Criteria a. Fail if retry was required to obtain DM25 response. b. Fail if no ECU has freeze frame data to report. c. Fail if DM25, Byte 1 is not equal to (DM24 data length + 5). d. Fail if received data does not match expected number of bytes based on DM24 supported SPN list for that ECU. e. Fail if freeze frame data does not include the same SPN and FMI as DM6 pending DTC earlier in this part. f. Fail/warn per Section A.2. g. Warn if more than 1 freeze frame data set is included in the response. h. Fail if NACK not received from OBD ECUs that did not provide DM25 response to query.

[n] The DM24 layout shall be relied upon to display freeze frame when the DM25 payload length is a multiple of the DM24 FF data length + 5 (bytes), i.e. when (DM25 payload length MOD (DM24 FF data length + 5)) == 0. A non-zero modulus from this calculation may be used to detect the failure given in 6.3.13.2.d.

ericthomasswenson commented 2 years ago

Existing Text:

6.1.24 DM25: Expanded Freeze Frame 6.1.24.1 Actions a. DS DM25 [send Request (PGN 59904) using PGN 64951 (SPNs 3300, 1214, 1215)] to each OBD ECU that responded to DS DM24 with supported freeze frame SPNs. 6.1.24.2 Fail Criteria a. Fail if any OBD ECU provides freeze frame data other than no freeze frame data stored (i.e., bytes 1 to 5 = 00h and bytes 6 to 8 = FFh).

6.3.13 DM25: Expanded Freeze Frame 6.3.13.1 Actions a. DS DM25 [send Request (PGN 59904) using PGN 64951 (SPNs 3300, 1214, 1215)] to each OBD ECU. b. If no response [transport protocol RTS or NACK(Busy) in 220 ms], then retry DS DM25 request to the OBD ECU. (Do not attempt retry for NACKS that indicate not supported.) c. Translate and print in log file all received freeze frame data with data labels assuming data received in order expected by DM24 response for visual check by test log reviewer. 6.3.13.2 Fail/Warn Criteria a. Fail if retry was required to obtain DM25 response. b. Fail if no ECU has freeze frame data to report. c. Fail if received data does not match expected number of bytes based on DM24 supported SPN list for that ECU. d. Fail if freeze frame data does not include the same SPN and FMI as DM6 pending DTC earlier in this part.
e. Fail/warn per Section A.2. f. Warn if more than 1 freeze frame data set is included in the response. g. Fail if NACK not received from OBD ECUs that did not provide DM25 response to query.

6.4.10 DM25: Expanded Freeze Frame 6.4.10.1 Actions a. DS DM25 [send Request (PGN 59904) using PGN 64951 (SPNs 3300, 1214, 1215)] to each OBD ECU. 6.4.10.2 Fail Criteria a. Fail if no ECU reports freeze frame data. b. Fail if DTC in freeze frame data does not include the DTC reported in DM12 earlier in this part. c. Fail if NACK not received from OBD ECUs that did not provide DM25 response.

6.7.12 DM25: Expanded Freeze Frame 6.7.12.1 Actions a. DS DM25 [send Request (PGN 59904) using PGN 64951 (SPNs 3300, 1214, 1215)] to each OBD ECU. 6.7.12.2 Fail Criteria a. Fail if no ECU reports Freeze Frame data. b. Fail if DTC in reported Freeze Frame data does not include the DTC provided by DM23 earlier in this part. c. Fail if NACK not received from OBD ECUs that did not provide DM25 message. 6.7.12.3 Warn Criteria a. Warn if more than one Freeze Frame is provided.

6.8.10 DM25: Expanded Freeze Frame 6.8.10.1 Actions a. DS DM25 [send Request (PGN 59904) using PGN 64951 (SPNs 3300, 1214, 1215)] to each OBD ECU. 6.8.10.2 Fail Criteria a. Fail if DTC(s) reported in the freeze frame does not include either the DTC reported in DM12 or the DTC reported in DM23 earlier in this part. b. Fail if no OBD ECU provides freeze frame data (i.e. an empty freeze frame is provided by all OBD modules). c. Fail if NACK is not received from OBD ECUs that did not provide an DM25 message.
6.8.10.3 Warn Criteria a. Warn if DTC reported by DM23 earlier in this part is not present in the freeze frame data.

6.9.17 DM25: Expanded Freeze Frame 6.9.17.1 Actions a. DS DM25 [send Request (PGN 59904) using PGN 64951 (SPNs 3300, 1214, 1215)] to each OBD ECU. 6.9.17.2 Fail Criteria a. Fail if any OBD ECU reports other than no Freeze Frame data stored (bytes 1 to 5 = 00h, bytes 6 to 8= FFh). b. Fail if NACK now received from OBD ECUs that previously provided a DM25 message.

ericthomasswenson commented 2 years ago

No other changes to DM25 criteria, other than that proposed appear to be needed.

ericthomasswenson commented 1 year ago

See also #1047