Equipment-and-Tool-Institute / j1939-84

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

DM19 CVN Fail criteria in J1939-84 does not match J1939-73 definition #1196

Closed anthonyhbest closed 1 year ago

anthonyhbest commented 1 year ago

Propose to remove 6.1.7.2.v and 6.1.7.3.c. I reviewed both 1971.1(h)(4.7) and J1939-73 (5.7.19) and could not find a requirement justifying this check for CVNs.

J1939-84 Criteria from the September 2022 proposed draft: image image

J1939-73 Definition from August 2022: image

I was unable to find any requirement for HD OBD CVNs to utilize all 32 bits. Given the above definition in J1939-73, a CVN that needs to be padded must be padded in the most significant byte. In this case, the most significant byte would be part of the last two bytes. The fail/warn criteria proposed in the J1939-84 draft above is in direct conflict of the J1939-73 definition for padding a CVN. In addition, the combination of the two criteria is resulting in a double penalty for the same issue.

ericthomasswenson commented 1 year ago

See #1201 for CVN error message text clarification

California defined that CVN’s should be 32-bits in communications to manufacturers over 10 years ago. The warning for a first or last byte of 00h is recognition that some engine controllers (at that time) had 24-bit memory addresses and may not have supported a 32-bit CVN.

If the first or last 16-bits of a CVN are 0, this is taken a evidence that a 16-bit CVN was provided. 16-bit CVNs are not believable today, and are defined to fail. I’ve never seen one in a new product for over 15 years.

Yes the warning that comes along for the ride with a 16-bit CVN may be excess, but isn’t more important than the elimination of false failures that are still present.

anthonyhbest commented 1 year ago

Eric, the ECU that is failing is a temperature sensor DECECU. I have searched for a requirement that defines the 32 bit CVN for HD OBD that you reference, but I have been unable to find a document. Would you be able to provide me with the document you are referencing so that I can communicate that to our supplier?

Issue for Reference, offending CVN in bold/italic: Start Test 1.7 - DM19: Calibration information 10:22:17.8838 Global DM19 Request 10:22:17.8857 18EAFFF9 [3] 00 D3 00 (TX) 10:22:19.4564 1CD3FF00 [180] 34 8B 8A C5 50 43 49 2D 4E 41 30 30 30 32 33 33 34 34 31 36 1E 27 AE 0C 44 41 46 4E 6F 58 4E 5F 30 34 34 30 41 54 49 31 8C 4B F9 C9 4E 4F 78 2D 53 41 45 31 34 61 20 41 54 4F 31 00 D0 DD E7 48 50 4D 53 31 32 33 34 31 41 32 30 31 00 00 00 00 FB 1B B5 8C 30 32 30 31 30 31 30 30 30 35 00 00 00 00 00 00 8A 6C 84 79 30 32 31 32 30 37 30 31 4E 41 00 00 00 00 00 00 E3 FD 54 A8 45 47 52 5F 4D 59 32 30 32 31 5F 30 30 30 30 31 B6 80 7A 0A 42 50 56 5F 4D 59 32 30 32 31 5F 30 30 30 30 31 28 E7 00 00 30 35 30 33 30 30 30 30 30 31 00 00 00 00 00 00 DM19 from Engine #1 (0): [ CAL ID of PCI-NA0002334416 and CVN of 0xC58A8B34 CAL ID of DAFNoXN_0440ATI1 and CVN of 0x0CAE271E CAL ID of NOx-SAE14a ATO1 and CVN of 0xC9F94B8C CAL ID of PMS12341A201 and CVN of 0x48E7DDD0 CAL ID of 0201010005 and CVN of 0x8CB51BFB CAL ID of 02120701NA and CVN of 0x79846C8A CAL ID of EGR_MY2021_00001 and CVN of 0xA854FDE3 CAL ID of BPV_MY202100001 and CVN of 0x0A7A80B6 CAL ID of 0503000001 and CVN of 0x0000E728_ ]

INFO: 6.1.7.3.b - Engine #1 (0) provided more than one CAL ID and CVN pair in a single DM19 message WARN: 6.1.7.3.c - CAL ID 0503000001 has 00h is in either the first or fourth bytes FAIL: 6.1.7.2.b.ii - OBD ECU Engine #1 (0) CAL ID not formatted correctly (contains non-printable ASCII) FAIL: 6.1.7.2.b.ii - OBD ECU Engine #1 (0) CAL ID not formatted correctly (contains non-printable ASCII) FAIL: 6.1.7.2.b.ii - OBD ECU Engine #1 (0) CAL ID not formatted correctly (contains non-printable ASCII) FAIL: 6.1.7.2.b.ii - OBD ECU Engine #1 (0) CAL ID not formatted correctly (contains non-printable ASCII) FAIL: 6.1.7.2.b.ii - OBD ECU Engine #1 (0) CAL ID not formatted correctly (contains non-printable ASCII) FAIL: 6.1.7.2.b.v - OBD ECU Received CVN with incorrect padding from Engine #1 (0)

ericthomasswenson commented 1 year ago

Eric will confer with CARB for 16-bit CVN smart sensor devices.