"There are all kinds of reasons why a car has to behave differently while on a dynamometer and there are all kinds of special code branches that are executed only during test. For the programmers it probably was just another special case among many."
I think the point is that someone deliberately did this and they had their hands in the code. Yes, there are variants of the tune-able parameters for various regions and tests. As part of design and validation these can be used interchangeable on the test beds. However, someone, somewhere wrote the emissions defeator.
It may not have been actual code. Perhaps only values in a look-up table? Perhaps even values in an area of a multi-dimensional array that was never expected to be used.
The tune-able parameters are lookup tables. I know that Ford, for example, will go through up to 15 iterations per day with testers in the field, in various physical environment, leading up to a release.
The code that detected whether the vehicle was on the road or being tested is what is at issue here. It was a software engineer/manager that implemented it.
Comments
"There are all kinds of reasons why a car has to behave differently while on a dynamometer and there are all kinds of special code branches that are executed only during test. For the programmers it probably was just another special case among many."
I think the point is that someone deliberately did this and they had their hands in the code. Yes, there are variants of the tune-able parameters for various regions and tests. As part of design and validation these can be used interchangeable on the test beds. However, someone, somewhere wrote the emissions defeator.
remember, someone wrote the emissions defeatos, AND maintained the code for seven years until now.
It may not have been actual code. Perhaps only values in a look-up table? Perhaps even values in an area of a multi-dimensional array that was never expected to be used.
The tune-able parameters are lookup tables. I know that Ford, for example, will go through up to 15 iterations per day with testers in the field, in various physical environment, leading up to a release.
The code that detected whether the vehicle was on the road or being tested is what is at issue here. It was a software engineer/manager that implemented it.