Equipment-and-Tool-Institute / j1939-84

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

DM5 Data Classified as Erased when No Non Continuous monitors were supported. #1246

Closed ericthomasswenson closed 1 month ago

ericthomasswenson commented 1 year ago

DM5 Data Classified as Erased when No Non Continuous monitors were supported.

11:42:16.0869 Destination Specific DM5 Request to Management Computer #1 (39)
11:42:16.0897 18EA27F9 [3] CE FE 00 (TX)
11:42:16.0971 18FECE27 [8] 00 00 14 07 00 00 00 00
DM5 from Management Computer #1 (39): OBD Compliance: HD OBD (20), Active Codes: 0, Previously Active Codes: 0
Continuously Monitored System Support/Status:
    Comprehensive component        supported,     complete
    Fuel System                    supported,     complete
    Misfire                        supported,     complete
Non-continuously Monitored System Support/Status:
    A/C system refrigerant     not supported,     complete
    Boost pressure control sys not supported,     complete
    Catalyst                   not supported,     complete
    Cold start aid system      not supported,     complete
    Diesel Particulate Filter  not supported,     complete
    EGR/VVT system             not supported,     complete
    Evaporative system         not supported,     complete
    Exhaust Gas Sensor         not supported,     complete
    Exhaust Gas Sensor heater  not supported,     complete
    Heated catalyst            not supported,     complete
    NMHC converting catalyst   not supported,     complete
    NOx catalyst/adsorber      not supported,     complete
    Secondary air system       not supported,     complete
FAIL: 6.12.10.4.c - Management Computer #1 (39) did not erase DM5 data

All monitors are listed as complete which is correct for unsupported monitors

Summary of J1939-84 Tool Execution

J1939-84 Tool version 3.1.20 - 2023/04/09 21:51
Generated: 2023/04/28 11:42:18.1397
Log File Name: C:\Users\TJAJB4\Desktop\PVE L1\94.44.18 L1 Test AMS.txt
battjt commented 1 year ago

Wrong requirement was used:

       // 6.12.10.4.c. Check diagnostic information and fail if any ECU partially erases diagnostic information
        // (pass if it erases either all or none).
        verifier.verifyDataNotPartialErased(getListener(), "6.12.10.4.c", "6.12.10.4.c", true);

Update with correct requirement and implementation

      // 6.12.10.4.c Fail if any diagnostic information was not erased from any OBD ECUs.
        verifier.verifyDataErased(getListener(), "6.12.10.4.c");

I couldn't find where the wrong requirement came from. It may have been due to copy, paste, and tweak coding method.