***********************************************************************************************************
The J1699-5 software
***********************************************************************************************************


-- Version 02 J1699-5



Revision 03.05.01
	CheckIDSupport.c
	issue 5-10050 - Add missing newline to end of failure message for DID-Support DID indicating no DIDs supported.

	j1699.c
	Update version number.

	VerifyINFSupportAndData.c
	issue 5-10048 - Test 5.16 - Storing/evaluating of INFs over $7F may cause the application to crash.
	issue 5-10049 - Fix incorrect subtest check which prevented INF $F810 from being checked to ensure that all ECUs respond with $01.




Revision 03.05.00
	CheckIDSupport.c
	issue 5-10017 - Changes to treat the $F4xx and $F5xx ranges as independant.

	ClearCodes.c
	issue 5-10024  - Clean up defunct, commented-out code and change Physically/Functionally addressed coding for new standard.

	j1699.c
	Update version number.
	issue 3-1077  - Change Max Model Year to 2039.
	issue 3-1078  - Fix compliance test selection (Q10) to accept more than one digit.
	issue 5-10005 - Allow selection of Dynamic Tests.

	j1699.h
	issue 5-10005 - Add definitions for DTC-based IUMPR, SMAD and IM Readiness data and change some types for more univerasal compatibility.
	issue 5-10017 - Changes to treat the $F4xx and $F5xx ranges as independant.
	issue 5-10030  - Add new define for INF $F82A (INF_TYPE_EDSMD) and INF $F882 (INF_TYPE_IPD_UDS).

	RequestSID.c
	issue 5-10005 - Add support for handling SID $19 LEV $04, $06, $1A, and $56 requests.

	SaveSIDResponseData.c
	issue 5-10005 - Add support for handling SID $19 LEV $06 and $1A, DTCEDRN $91 and $93, and LEV $56 responses.
	issue 5-10017 - Changes to treat the $F4xx and $F5xx ranges as independant.
	issue 5-10023  - Add size checks for PID $F4A7,A8,AA,AC-B1,C3,C7,C9,CB,CF,D3,D7.

	Test10_InUseCounters.c
	issue 5-10005 - Add definitions and functions to support DTC-based IUMPR, SMAD, and IM Readiness and for In-Use Performance Data from INF $F882 (instead of INF $08 or $0B).
	issue 5-10017 - Changes to treat the $F4xx and $F5xx ranges as independant.
	issue 5-10025  - Comment out MID tests.

	Test11_PerformanceCounters.c
	issue 5-10005 - Add definitions and functions to support DTC-based IUMPR, SMAD, and IM Readiness and for In-Use Performance Data from INF $F882 (instead of INF $08 or $0B) and IM Readiness Data from PID $F501 (instead of PID $01 and $41).
	issue 5-10025  - Comment out MID tests.

	Test5_NoDTC.c
	issue 5-10017 - Changes to treat the $F4xx and $F5xx ranges as independant.
	issue 5-10025  - Comment out MID tests (and VerifyVehicleState tests when the rest of the test section is not performed).

	Test9_8to21_PermanentCodes.c
	issue 5-10005 - Change VerifyIPTData to VerifyIPD to support new In-Use Performance Data function.

	VehicleReport.c
	issue 5-10017 - Changes to treat the $F4xx and $F5xx ranges as independant.

	VerifyConfirmedDTCData.c
	issue 5-10005 - Changes for new DTC type definitions.

	VerifyDTCExtData.c
	issue 5-10005 - New file to contain definitions and functions to support DTC-based IUMPR, SMAD, and IM Readiness.

	VerifyFFSupportAndData.c
	issue 5-10005 - Changes for new DTC type definitions.

	VerifyINFSupportAndData.c
	issue 3-1066  - Fix incorrect expected number of ECU displayed in failure message for INF $6 CVN support.
	issue 3-1067  - Remove greater than zero check of IEFC-A in evaluation of INF $42.
	issue 3-1069  - Change INF $F878 verification to only fail RPM_RATING for zero (no other range checks).
	issue 3-1070  - INFs $F848-50 support required for PHEV only.
	issue 3-1071  - INF $F851 support required for S/S only.
	issue 3-1072  - INFs $F852-5B only warn for non-support.
	issue 3-1075  - INF $F847 support required for PHEV only.
	issue 3-1077  - Add support for up to Model Year 2039.
	issue 3-1079  - INFs $F816-29 parameters which report max value or "not available" are not evaluated in any test step.
	issue 3-1080  - Remove max INF ID check.
	issue 5-10005 - Change INF $F882 verification function to use functions in common with dynamic testing.
	issue 5-10026 - Fix the misspelling in RequestGrouPIDSupportData to RequestGroupPIDSupportData (found while working on 5-10017)
	issue 5-10030 - Added function to evaluate INF $F82A.
	issue 5-10031 - Added required support evaluate for INF $F883 and $F884.
	issue 5-10033 - Change INF $F817 evaluation to warn if Recent and Lifetime DT values are zero OR equal, warn if Recent and Lifetime FC values are zero for HEV or PHEV, fail if Recent and Lifetime FC values are equal for CONV and S/S, and fail if Fuel Consumed Bytes not supported for EOBD.
	issue 5-10034 - Change INF $F818 evaluation to fail if Recent and Lifetime values are equal or zero for CONV and S/S or warn for HEV and PHEV.
	issue 5-10035 - Change INF $F819 evaluation to fail if Recent and Lifetime values are equal or zero for Total and Idle PSA and warn if Recent and Lifetime values are zero or Equal for City PSA.
	issue 5-10036 - Change INF $F81A-1C evaluation to warn if Recent and Lifetime values are equal or zero for PHEV.
	issue 5-10037 - Change INF $F81D-1F,21-2A evaluation to warn if Recent and Lifetime values are equal or zero and warn if it is supported but all timers are "not available".
	issue 5-10038 - Change INF $F841 verification to fail if ERT and EOE Active counters are zero for CONV and S/S or warn if P/HEV, and warn if DT and FC Active counter are zero.
	issue 5-10039 - Change INF $F842 verification to fail if Idle Active counters (except Idle FC, see 3-1067) are zero and warn if Engine FC, Idle FC, Urban Speed Run, and PKE counters are zero.
	issue 5-10040 - Change INF $F845 verification to fail if ERT and EOE lifetime counters are zero for CONV and S/S or warn if P/HEV, and warn if DT and FC lifetime counter are zero.
	issue 5-10041 - Change INF $F846 verification to fail if Idle run time lifetime counter are zero and warn if Engine FC and Idle FC, PKE, and Urban Speed Run counters are zero.
	issue 5-10042 - Change INF $F847 verification to fail if Total and Idle PSA time Lifetime counters are zero for P/HEV and warn if Urban PSA Active and Lifetime counters are zero for P/HEV.
	issue 5-10043 - Change INF $F848-50 verification to fail if Stored and Lifetime counters are zero for PHEV and warn if Active and Lifetime counters are both zero for PHEV.
	issue 5-10044 - Change INF $F851-5B verification to fail if Stored and Lifetime counters are zero.
	issue 5-10045 - Change INF $F861-66 verification to fail if Active data is not zero after clear codes command.
	issue 5-10046 - Change INF $F867-6C verification to fail if Stored data is zero.
	issue 5-10047 - Change INF $F86D-76 verification to fail if Lifetime data is zero.

	VerifyMIDSupportAndData.c
	issue 5-10026 - Fix the misspelling in RequestGrouPIDSupportData to RequestGroupPIDSupportData (found while working on 5-10017)

	VerifyMILData.c
	issue 5-10017 - Changes to treat the $F4xx and $F5xx ranges as independant.

	VerifyPendingDTCData.c
	issue 5-10005 - Changes for new DTC type definitions.

	VerifyPermanentDTCData.c
	issue 5-10005 - Changes for new DTC type definitions.

	VerifyPIDSupportAndData.c
	issue 3-1076  - Remove reserved bit checks from SID $1 PIDs $A3-5, $A9, $AB-E, $B0 evaluations.
	issue 5-10017 - Changes to treat the $F4xx and $F5xx ranges as independant.
	issue 5-10019 - Don't fail for non-support of PIDs $F503 or $F505.
	issue 5-10026 - Fix the misspelling in RequestGrouPIDSupportData to RequestGroupPIDSupportData (found while working on 5-10017)
	issue 5-10029 - Fix formatting of printing of values in PID $F4C9 and $F4CB.
	issue 5-10028 - Fix PID display for $F505 (it used to mistakely show $F504).
	issue 5-10027 - Fix MDDC check for PID $F4A2 (was incorrectly compared to gstUserInput.eComplianceType, now compared to gstUserInput.eVehicleType).
	issue 5-10032 - Add evaluation for PIDs $F4CF,D3,D7
	
	VerifyReverseOrderSupport.c
	issue 5-10017 - Changes to treat the $F4xx and $F5xx ranges as independant (and make functions more generic).

	VerifyTIDSupportAndData.c
	issue 5-10026  - Fix the misspelling in RequestGrouPIDSupportData to RequestGroupPIDSupportData (found while working on 5-10017)





Revision 02.06.01
	ClearCodes.c
	issue 5-10015 - Change Europe and China compliance types to better match document.

	DetermineProtocol.c
	issue 5-10008 - Fix loss of 29-bit communication after second determination of protocol.

	j1699.c
	Update version number.
	issue 5-10015 - Change Europe and China compliance types to better match document.
	issue 5-10016 - Replace EngineType with EnergyType and FuelType to match document.

	j1699.h
	issue 5-10016 - Add definitions for EnergyType and FuelType and remove EngineType and gbDiesel.
	issue 5-10015 - Change Europe and China compliance types to better match document.

	LogPrint.c
	issue 5-10016 - Replace logging of EngineType with logging of EnergyType and FuelType to match document.

	RequestSID.c
	issue 5-10012 - Fix error in handling response to SID $19 $04 $33 $04 (and $08).

	ResetSIDResponseData.c
	issue 5-10012 - Fix error in handling response to SID $19 $04 $33 $04 (and $08).

	SaveSIDResponseData.c
	issue 5-10012 - Fix error in handling response to SID $19 $04 $33 $04 (and $08).

	Test10_InUseCounters.c
	issue 5-10016 - Replace gbDiesel check with FuelType check.

	Test11_PerformanceCounters.c
	issue 5-10015 - Change Europe and China compliance types to better match document.
	issue 5-10016 - Replace gbDiesel check with FuelType check (replace spark and compression ignition with Gasoline and Diesel in comments) to match document.

	Test5_NoDTC.c
	issue 5-10011 - Remove Freeze Frame Data test.

	Test6_PendingDTC.c
	issue 5-10011 - Remove Freeze Frame Data test.
	issue 5-10015 - Change Europe and China compliance types to better match document.

	Test7_ConfirmedDTC.c
	issue 5-10011 - Remove Freeze Frame Data test.

	Test8_FaultRepaired.c
	issue 5-10011 - Remove Freeze Frame Data test.

	Test9_NoFaultsAfter3DriveCycles.c
	issue 5-10011 - Remove Freeze Frame Data test.

	Test9_8to21_PermanentCodes.c
	issue 5-10015 - Change Europe and China compliance types to better match document.

	VerifyConfirmedDTCData.c
	issue 5-10012 - Fix error in handling response to SID $19 $04 $33 $04 (and $08).

	VerifyINFSupportAndData.c
	issue 5-10016 - Replace gbDiesel check with FuelType check (replace spark and compression ignition with Gasoline and Diesel in comments) to match document.
	issue 5-10015 - Change Europe and China compliance types to better match document.
	issue 3-1062  - Fix support checks for INF $F878
	issue 3-1063  - Fix support checks for INF $F877
	issue 5-10009 - Fix incorrect text in support failure for $F4AD, $F4AF, $F4B0
	issue 3-1065  - Fix loss of accuracy in calculations with large values for INFs $17,$18,$1A-C,$41-6,$48-9,$53-8,$61-4,$66-A,$6C-70,$72-4,$76-7

	VerifyMIDSupportAndData.c
	issue 5-10015 - Replace gbDiesel check with FuelType check and replace bSparkIgnMonSup with bGasolineMonSup (replace spark and compression ignition with Gasoline and Diesel in comments) to match document.

	VerifyMILData.c
	issue 5-10010 - Fix evaluation of IM Readiness bits in $F501

	VerifyPendingDTCData.c
	issue 5-10012 - Fix error in handling response to SID $19 $04 $33 $04 (and $08).

	VerifyPIDSupportAndData.c
	issue 5-10016 - Replace gbDiesel check with FuelType check (replace spark and compression ignition with Gasoline and Diesel in comments) to match document.
	issue 5-10015 - Change Europe and China compliance types to better match document.
	issue 5-10014 - Test 5.6 is failing all ECUs if they do not support EGS, CV, EGR, CSER.
	issue 5-10010 - Fix evaluation of IM Readiness bits in $F501 causing false failures.




Revision 02.06.00
	CheckIDSupport.c
	issue 5-10007 - Allow subtest to continue after failure in DID-Support DID check.

	ClearCodes.c
	issue 3-1054 - EOBD allows ECUs to reply both positively and negatively to Clear Codes request.

	ConnectProtocol.c
	issue 3-1049 - Fix additional failures when closing channels for unsupported protocols of partially-compliant j2534 interfaces.

	DetermineProtocol.c
	issue 3-1049 - Fix additional failures when closing channels for unsupported protocols of partially-compliant j2534 interfaces.

	j1699.c
	Update version number.
	issue 3-1035 - Add Medium Duty Truck to Vehicle Type Options (MD for trucks chassis certified and MDDC for trucks dyno certified).
	issue 3-1047 - Change wording to ECU number prompt to match changes in doc V17.04.
	issue 3-1053 - Add delay after banner display to prevent screen issues on Windows 11 machines.
	issue 5-10006 - Remove prompt to "Disable Tester Present Messages?" (Tester Present Messages are always disabled now).

	j1699.h
	issue 5-10002/5-10003 - Add defines for new NAK values to be supported in UDS.
	issue 3-1035 - Add Medium Duty Truck to Vehicle Type Options (MD for trucks chassis certified and MDDC for trucks dyno certified).

	LogPrint.c
	issue 3-1060 - Fix poorly formatted failure message which would cause application to crash if current and previous test vehicle types did not match.

	RequestSID.c
	issue 5-10002/5-10003 - Add support for new NAK values to be supported in UDS.

	Test10_InUseCounters.c
	issue 3-1035 - Change refernce to MD to MDDC to match new vehicle type definitions.
	issue 3-1052 - To prevent incorrect IUMPR values in Test 11.2, only free ECUs IPT memory if in Test 9.19, move ReadIPT to TestToVerifyPerformanceCounters.c (the only file where it's called).

	Test11_PerformanceCounters.c
	issue 3-1057 - Fix improper failure on ESC (Abort) from test 11.2, also note any true failures before allowing test to abort.
	issue 3-1051 - Log UNSUPPORTED for unsupported IUMPR rather than zero to match on screen display.

	Test6_PendingDTC.c
	issue 3-1047 - Change wording to Test 6.1 prompt to induce failure and drive cycle prompt to match changes in doc V17.04.

	Test7_ConfirmedDTC.c
	issue 3-1047 - Change wording to Test 7.1 prompt to keep failure present prompt to match changes in doc V17.04.

	Test9_8to21_PermanentCodes.c
	issue 3-1047 - Change wording to Test 9.8 prompt to induce failure and drive cycle prompt to match changes in doc V17.04.

	VerifyINFSupportAndData.c
	issue 3-1035 - Change old refernces to MD to MDDC and add new MD to match new vehicle type definitions.
	issue 3-1048 - INF $77 should not have a phase-in period warning.

	VerifyMIDSupportAndData.c
	issue 5-10002/5-10003 - Add support for new NAK values to be supported in UDS

	VerifyMILData.c
	issue 5-10002/5-10003 - Add support for new NAK values to be supported in UDS.

	VerifyPendingDTCData.c
	issue 5-10004 - Allow use of ignored DTCs read from ini file.

	VerifyPIDSupportAndData.c
	issue 5-10002/5-10003 - Add support for new NAK values to be supported in UDS.
	issue 3-1060 - Add evaluation for $F4A2.
	issue 3-1035 - Change old refernces to MD to MDDC and add new MD to match new vehicle type definitions.



Revision 02.03.00

Files renamed to better fit naming conventions:
CheckMILLight.c                           changed to  CheckMIL.c
DIDSupport.c                              changed to  CheckIDSupport.c
SidRequest.c                              changed to  RequestSID.c
SidResetResponseData.c                    changed to  ResetSIDResponseData.c
SidSaveResponseData.c                     changed to  SaveSIDResponseData.c
TestToVerifyInUseCounters.c               changed to  Test10_InUseCounters.c
TestToVerifyPerformanceCounters.c         changed to  Test11_PerformanceCounters.c
TestToVerifyPermanentCodes.c              changed to  Test9_8to21_PermanentCodes.c
TestWithConfirmedDtc.c                    changed to  Test7_ConfirmedDTC.c
TestWithFaultRepaired.c                   changed to  Test8_FaultRepaired.c
TestWithNoDtc.c                           changed to  Test5_NoDTC.c
TestWithNoFaultAfter3DriveCycles.c        changed to  Test9_NoFaultsAfter3DriveCycles.c
TestWithPendingDtc.c                      changed to  Test6_PendingDTC.c
VerifyControlSupportAndData.c             changed to  VerifyTIDSupportAndData.c
VerifyDiagnosticBurstSupport.c            changed to  VerifyPIDBurstSupport.c
VerifyDiagnosticSupportAndData.c          changed to  VerifyPIDSupportAndData.c
VerifyDTCPendingData.c                    changed to  VerifyPendingDTCData.c
VerifyDTCStoredData.c                     changed to  VerifyConfirmedDTCData.c
VerifyFreezeFrameSupportAndData.c         changed to  VerifyFFSupportAndData.c
VerifyLinkActive.c                        changed to  VerifyECUCommunication.c
VerifyMonitorTestSupportAndResults.c      changed to  VerifyMIDSupportAndResults.c
VerifyPermanentCodeSupport.c              changed to  VerifyPermanentDTCData.c
VerifyVehicleInformationSupportAndData.c  changed to  VerifyINFSupportAndData.c


Files removed from j1699-5 project to consolidation related functionality to fewer files:
IsDTCPending.c functionality moved to  VerifyPendingDTCData.c
IsDTCStored.c  functionality moved to  VerifyConfirmedDTCData.c

all .c and .h files
	Update code for move to Visual Studio 2022, safer string and dynamic memory handling, standardization of variable naming and coding practices,
	commonization of code with j1699-3, and implementing V2.3 of the j1699-5 document.

	ClearCodes.c
	issue 3-1020 - China6 allows ECUs to reply both positively and negatively to Clear Codes request
	issue 3-1032 - China6 allows ECUs to reply both positively and negatively to Clear Codes request when engine running.

	DetermineProtocol.c
	issue 5-10000 - Use SID $22 INF $F810 for protocol identification instead of SID $1 PID $00

	j1699.c
	Update version number.
	issue 3-1033 - Change wording for Prompt Q03 to clarify VIN model year.
	issue 3-1025 - Fix sections of information missing from logfile.

	j1699.h
	issue 3-1030 - Add per ECU variable for FEOCNTR.

	LogPrint.c
	issue 3-1028 - Remove extra space between "****" and other text.

	ReadIni.c
	issue 3-1028 - Remove extra space between "****" and other text.

	SaveSIDResponseData.c
	issue 5-10000 - INF $F810 response indicates ECU's link is active

	StopTest.c
	issue 3-1025 - Fix sections of information missing from logfile.

	Test10_InUseCounters.c
	issue 1030 - Fix problems with use of pFEOCNTR causing application to crash.

	Test11_PerformanceCounters.c
	issue 3-1041 - Change TEST 11.2 on-screen text from RESERVED to GPF for gasoline vehicles.
	issue 3-1029 - Fix display of IUMPR data.
	issue 3-1031 - Fix waiting for unsupported bank completion.

	VehicleReport.c
	issue 3-1028 - Remove extra space between "****" and other text.

	VerifyECUCommunication.c
	issue 5-10000 - Use SID $22 INF $F810 for protocol identification

	VerifyPIDSupportAndData.c
	issue 3-1039 - Fix on-screen display of PID $A1 Byte A bits and comparison of NOXC11 and NOXC12 using TempData_float instead of TempData_long.
	issue 3-1040 - Fix resolution loss in calculation of PID $85 and $96 from using TempData_long instead of TempData_float (display only, no evaluation of these PIDS).

	VerifyReverseOrderSupport.c
	issue 3-1024 - Fix false failure for "Unsupported PID" in reverse order check of PID Support PIDs.

	VerifyINFSupportAndData.c
	issue 3-1013 - Implement Appendix A Vehicle Configuration requirements:
	               INFs $41-$47 and $50-$5B required by US gas and diesel heavy duty vehicles,
	               INFs $61-77 required by US diesel heavy and medium duty vehicles,
	               US vehicles which do not match these vehicle configurations but support these INFs fail,
	               INF $78 is required by all US light duty and gas and diesel heavy and medium duty vehicles.
	issue 3-1034 - Improve wording of 2022-2024 phase-in warning
	issue 3-1027 - INF $78 is required by only US medium duty and heavy duty diesel vehicles.




-- Version 01 J1699-5



Revision 01.04.00

All files changed to implement UDS on ISO15765

