Found - LT Fuel Trim Control !!!
#17
Evolved Member
Join Date: Mar 2008
Location: Lattitude 48.38°, Longitude 17.58°, Altitude 146m = Slovakia, for common dude
Posts: 730
Likes: 0
Received 3 Likes
on
2 Posts
There is an adjacent table at @3025 for 88590015 which controls RPM,
values are taken depending on the same variable.
Mattjin can you comment on that one too?
<table name="Closed Loop - RPM Control???" category="Fuel" address="3025" type="2D" level="2" scaling="RPM">
<table name="Conditions" type="Static Y Axis" elements="4">
<data>1</data>
<data>2</data>
<data>3</data>
<data>4</data>
</table>
</table>
values are taken depending on the same variable.
Mattjin can you comment on that one too?
<table name="Closed Loop - RPM Control???" category="Fuel" address="3025" type="2D" level="2" scaling="RPM">
<table name="Conditions" type="Static Y Axis" elements="4">
<data>1</data>
<data>2</data>
<data>3</data>
<data>4</data>
</table>
</table>
Last edited by acamus; May 11, 2009 at 11:20 PM.
#18
Evolved Member
Thread Starter
Join Date: Apr 2008
Location: Sydney, Australia
Posts: 604
Likes: 0
Received 0 Likes
on
0 Posts
That is the main RPM table I have been talking about, but I have been reluctant to display it yet until I know for certain what the rpm numbers reflect. It is simply the next four numbers after the Hz table. This uses RPMStatLimit as its scale, but it requires a new scaling in unit8 rather than unit16. You can add this scale line to your xml
<scaling name="RPMStatLimit8" units="RPM" toexpr="x*31.25" frexpr="x/31.25" format="%.0f" min="0" max="9000" inc="1" storagetype="uint8" endian="big"/>
You can then add Acamus' map from above but change the scale type to this.
To get the Airflow scaling forumula I simply divided 1600hz by 256, but considered that we need 0Hz so the max is actually 1593.75 and having roughly 6Hz per adjustment +/- I figured the fractions dont really have much of a real world effect. Maybe Acamus can dig into the code and see which one it truly is, but either way the biggest thing is that this function is now adjustable.
These were the other maps related to the LT trim in my rom.
80700010:
<table name="Closed Loop - LT Trim RPM Limit" category="Fuel" address="17e2" type="1D" level="2" scaling="RPMStatLimit"/>
<table name="Closed Loop - LT Trim Volts High" category="Fuel" address="17e6" type="1D" level="2" scaling="BatteryVoltage"/>
<table name="Closed Loop - LT Trim Volts Low" category="Fuel" address="17e8" type="1D" level="2" scaling="BatteryVoltage"/>
<table name="Closed Loop - LT Trim RPM" category="Fuel" address="3a1d" type="2D" level="2" scaling="RPMStatLimit8">
<table name="Conditions" type="Static Y Axis" elements="4">
<data>1</data>
<data>2</data>
<data>3</data>
<data>4</data>
</table>
</table>
There are two more 1D's related to the trim, but they are of unknown units. The only other subroutine I want to track down is to do with what triggers the LT trim to enable.
<scaling name="RPMStatLimit8" units="RPM" toexpr="x*31.25" frexpr="x/31.25" format="%.0f" min="0" max="9000" inc="1" storagetype="uint8" endian="big"/>
You can then add Acamus' map from above but change the scale type to this.
To get the Airflow scaling forumula I simply divided 1600hz by 256, but considered that we need 0Hz so the max is actually 1593.75 and having roughly 6Hz per adjustment +/- I figured the fractions dont really have much of a real world effect. Maybe Acamus can dig into the code and see which one it truly is, but either way the biggest thing is that this function is now adjustable.
These were the other maps related to the LT trim in my rom.
80700010:
<table name="Closed Loop - LT Trim RPM Limit" category="Fuel" address="17e2" type="1D" level="2" scaling="RPMStatLimit"/>
<table name="Closed Loop - LT Trim Volts High" category="Fuel" address="17e6" type="1D" level="2" scaling="BatteryVoltage"/>
<table name="Closed Loop - LT Trim Volts Low" category="Fuel" address="17e8" type="1D" level="2" scaling="BatteryVoltage"/>
<table name="Closed Loop - LT Trim RPM" category="Fuel" address="3a1d" type="2D" level="2" scaling="RPMStatLimit8">
<table name="Conditions" type="Static Y Axis" elements="4">
<data>1</data>
<data>2</data>
<data>3</data>
<data>4</data>
</table>
</table>
There are two more 1D's related to the trim, but they are of unknown units. The only other subroutine I want to track down is to do with what triggers the LT trim to enable.
Last edited by Mattjin; May 12, 2009 at 12:53 AM.
#19
Evolved Member
Thread Starter
Join Date: Apr 2008
Location: Sydney, Australia
Posts: 604
Likes: 0
Received 0 Likes
on
0 Posts
It is hysterisis and done to stop the wrong trim being effected. If they are too close together and you are sitting on the switch point you will start to get both trims moving around. For those with issues I would actually suggest increasing the hysterisis.
Last edited by Mattjin; May 12, 2009 at 12:40 AM.
#20
Evolved Member
Thread Starter
Join Date: Apr 2008
Location: Sydney, Australia
Posts: 604
Likes: 0
Received 0 Likes
on
0 Posts
I looks like I just found something (I expected to find) that does not allow long term trim control whenever there is Purge duty. Useless for adjustment, but interesting to see.
#21
Evolved Member
iTrader: (22)
Join Date: Nov 2003
Location: Northern KY near Cincy
Posts: 2,408
Likes: 0
Received 6 Likes
on
6 Posts
Could it be possible that both RPM and Hz conditions must be met in order for the LTFT to start adjusting?
Got the address fot the RPM table for 94170015?
Got the address fot the RPM table for 94170015?
Last edited by Appauldd; May 12, 2009 at 05:53 AM.
#22
Evolved Member
Thread Starter
Join Date: Apr 2008
Location: Sydney, Australia
Posts: 604
Likes: 0
Received 0 Likes
on
0 Posts
Just bare in mind that the function and scale for this map is not certain. It is RPM related and references MUT21 which is the RPM used for almost all 1D adjustments. The only difference being that all 1D's are in uint16 but the map is in uint8, which is the reason for the new scaling being needed from post#18.
For my rom I could make the trims work with Hz at idle regardless of the RPM settings. There might be an OR setup in there where if the rpm conditions are met it will switch trims whether the Hz conditions are met or not. I might check into that today, time allowing.
94170015:
<table name="Closed Loop - LT Trim RPM" category="Fuel" address="35e9" type="2D" level="2" scaling="RPSStatLimit8">
<table name="Conditions" type="Static Y Axis" elements="4">
<data>1</data>
<data>2</data>
<data>3</data>
<data>4</data>
</table>
</table>
For my rom I could make the trims work with Hz at idle regardless of the RPM settings. There might be an OR setup in there where if the rpm conditions are met it will switch trims whether the Hz conditions are met or not. I might check into that today, time allowing.
94170015:
<table name="Closed Loop - LT Trim RPM" category="Fuel" address="35e9" type="2D" level="2" scaling="RPSStatLimit8">
<table name="Conditions" type="Static Y Axis" elements="4">
<data>1</data>
<data>2</data>
<data>3</data>
<data>4</data>
</table>
</table>
#23
Evolving Member
Is there any reason not to make the scaling issue easier to distinguish and call it "Air Flow (trim) Hz" ... it would make sense to also call the other "Air Flow (MAF) Hz" but that one has been around a while and might be hard to get changed unless all the big boys agree and start doing it in everything they push out.
Just a thought [shrug].
Just a thought [shrug].
#24
Evolved Member
iTrader: (22)
Join Date: Nov 2003
Location: Northern KY near Cincy
Posts: 2,408
Likes: 0
Received 6 Likes
on
6 Posts
scaling="RPSStatLimit8"
I need the full scaling to put in my XML to make this work.
Never mind....you made a slight typo
Should say scaling ="RPMStatLimit8"
I need the full scaling to put in my XML to make this work.
Never mind....you made a slight typo
Should say scaling ="RPMStatLimit8"
Last edited by Appauldd; May 12, 2009 at 07:49 PM.
#26
Evolved Member
Thread Starter
Join Date: Apr 2008
Location: Sydney, Australia
Posts: 604
Likes: 0
Received 0 Likes
on
0 Posts
That is exactly why I didnt post it earlier, because it will only cause confusion. The numbers are correct, but what they represent is anyone's guess at the moment.
I will edit the first post and rename the maps and scale. That scale name was not in my rom because I dont inherit and base files.
*** EDIT : Renamed the scale to "LT Trim Hz" and it is advised that everyone do the same for continuity.
I will edit the first post and rename the maps and scale. That scale name was not in my rom because I dont inherit and base files.
*** EDIT : Renamed the scale to "LT Trim Hz" and it is advised that everyone do the same for continuity.
Last edited by Mattjin; May 12, 2009 at 08:43 PM.