The functionality of this ECU in respect of its strategy for detecting faults follows a new standard known as ISO 14229 which far more sophisticated than any previous method.
The standard defines 2 byte usage for storing code values a third byte for a lookup of the nearly 100 fault causes (Sub Type information), open circuit, etc, another byte is broken into bits used to indicate the fault status, Intermittent, Lamp on etc. There are also a number of counters for each code to count fails and passes for each code, tests for the code, fails since code detected Etc. This Count keeping allows for faults or their status & request to be removed or downgraded after pre set passes first caused then to exists.
Finally there is the option and ability of each code test to store multiple sets of freeze frame data at 4 different points during the count up and fail procedure. The freeze frame data includes new and very useful items such as a distance (odometer) and time stamp in milliseconds.
One of the new status bits allocated to each possible code is a test state bit. This bit defines if the test allocated to any given code has been performed or not since the last time the fault memory was cleared. Technically, this means that after clearing the memory every single possible fault code is instantly listed with a status of not tested. Many will disappear straight away though as the tests are made, however some tests may require the vehicle to be driven or warmed up before their conditions for testing are valid.
This helps validate any fixes greatly because you can see that the state of the actual test for the fault. And rather than waiting to see if the fault re logs i.e. the test fails you actually get to see that the test passed.
To reduce the amount of text on the screen we have put buttons that only show any stored snap shot data for each fault on pressing and to more easily see the difference between Tested and Untested faults we have separated them into two distinct groups.
- Tested fault codes: This function is like the traditional fault code memory in that any faults shown here have been tested and have failed.
- Not tested fault codes: This function lists all the fault codes for the vehicle system that are related to self diagnostic tests which have not yet been ran. Unlike traditional fault code systems, where validating that a particular fault was no longer present in the system meant clearing the fault and then running the system in such a way as to hope that the conditions had been met sufficiently to have caused the system to run the relevant test to re log the fault if it was still present. This function actually lists those fault codes that have not been tested due to the conditions for the system to run the test and asses if that fault code should be logged due to a problem existing or passed and therefore not logging nor remaining on the untested list due to the fact that the fault has ran and the test passed.