Ok, did some very extensive trawling through the logic today, mind numbing. There are actually 2 sets of AF learning range tables, with slightly differing values that seem to be blended in arriving at the AF learning applied. I suspect that making both tables equal would make MAF scaling (and any manipulation AF correction / learning applied) much easier.
So - I've made both table available in Romraider now (updated definition available
here), and Vgi, can you log the following for A01C:
Code:
E_AF_Learning_1_A_StoredExt_E44_Range_A FFF81684
E_AF_Learning_1_A_StoredExt_E44_Range_B FFF815C4
E_AF_Learning_1_B_StoredExt_E45_Range_A FFF8168C
E_AF_Learning_1_B_StoredExt_E45_Range_B FFF815CC
E_AF_Learning_1_C_StoredExt_E46_Range_A FFF81694
E_AF_Learning_1_C_StoredExt_E46_Range_B FFF815D4
E_AF_Learning_1_D_StoredExt_E47_Range_A FFF8169C
E_AF_Learning_1_D_StoredExt_E47_Range_B FFF815DC
The two learning range tables, side by side look like this:
I had seen the second table before, but had assumed that like in the older roms, the table A was the main ingredient, with the outer values (1.6 and 60) as the min and max values - but looks like table two is used as well, which would explain why in the first values I gave you, in some areas, long term trims match one of the cells under the stored learning, and in some areas not. There is also a separate minimum and maximum MAF g/s limit (1.6 and 200).