Minimum IPW Info AND Resolution patch
#1
Minimum IPW Info AND Resolution patch
Hi All,
I already posted this in Evo1-9 forum, but X needs this too and is slightly different
First lets discuss the Minimum IPW.
This is the LOWEST IPW that the ECU will go DOWN to (other that 0ms of course)
The standard setting is 1.28ms. This is fine for injectors upto 1300cc/min.
However lets say you have some big *** injectors (2000cc). In order to idle at a decent AFR you would need to lower the minimum IPW past 1.28ms.
This is the first problem, the standard ECU will only allow jumps of 0.256ms, so you can use 1.024ms or 1.28ms.
This is a problem because 1.024ms is TOO low for some injectors to even operate at. For instance if you look at the InjectorDynamics ID2000 sheet you can see that @14v UNDER 1.5ms things start to get a bit hairy, the situation is even worse at 1.0ms :
Running a minimum IPW of 1.024ms on these injectors makes the idle really ****.
Obviously running 1.28ms gives a great idle, just at 11:1 AFR - which is horrible! So we need somewhere in between - which is impossible with the standard ECU configuration/code
The solution is to modify the ECU code to allow for greater resolution in the Minimum IPW.
First I want to post up the XML that lets you modify the Minimum IPW, these seems to work across a few different ROMID's please let me know if you DONT see 1.28ms and I will investigate:
Go ahead, try and increase or decrease the value, you will see it jumps in 0.256 increments (an no ECUFlash wizards thats not because I have set the inc to 0.256 )
So as I said the solution is to modify the ECU to allow finer resolution for this variable.
Standard XML:
53040010:
53050012:
526800xx:
526900xx:
55580006:
So you need both sets of XML, the modified #1/#2 AND the "Minimum IPW SHLL0". Once you apply the changes in #1/#2 the first table ("Minimum IPW SHLL5 (stock)") will become meaningless since its based on the old scaling. Please dont confuse yourself
After you do the patch you will also need to reset your "Minimum IPW SHLL0" to 1.28ms, you can then increase/decrease at your leisure
Cheers
D.
I already posted this in Evo1-9 forum, but X needs this too and is slightly different
First lets discuss the Minimum IPW.
This is the LOWEST IPW that the ECU will go DOWN to (other that 0ms of course)
The standard setting is 1.28ms. This is fine for injectors upto 1300cc/min.
However lets say you have some big *** injectors (2000cc). In order to idle at a decent AFR you would need to lower the minimum IPW past 1.28ms.
This is the first problem, the standard ECU will only allow jumps of 0.256ms, so you can use 1.024ms or 1.28ms.
This is a problem because 1.024ms is TOO low for some injectors to even operate at. For instance if you look at the InjectorDynamics ID2000 sheet you can see that @14v UNDER 1.5ms things start to get a bit hairy, the situation is even worse at 1.0ms :
Running a minimum IPW of 1.024ms on these injectors makes the idle really ****.
Obviously running 1.28ms gives a great idle, just at 11:1 AFR - which is horrible! So we need somewhere in between - which is impossible with the standard ECU configuration/code
The solution is to modify the ECU code to allow for greater resolution in the Minimum IPW.
First I want to post up the XML that lets you modify the Minimum IPW, these seems to work across a few different ROMID's please let me know if you DONT see 1.28ms and I will investigate:
Code:
<scaling name="IPW16:SHLL5" units="ms" toexpr="x*32*8/1000" frexpr="x*1000/8/32" format="%.3f" min="0" max="65" inc="0.256" storagetype="uint16" endian="big"/> <table name="Minimum IPW SHLL5 (stock)" category="Misc" address="53002" type="1D" scaling="IPW16:SHLL5"/>
Go ahead, try and increase or decrease the value, you will see it jumps in 0.256 increments (an no ECUFlash wizards thats not because I have set the inc to 0.256 )
So as I said the solution is to modify the ECU to allow finer resolution for this variable.
Standard XML:
Code:
<scaling name="IPW16:SHLL0" units="ms" toexpr="x*8/1000" frexpr="x*1000/8" format="%.3f" min="0" max="65" inc="0.008" storagetype="uint16" endian="big"/> <table name="Minimum IPW SHLL0" category="Misc" address="53002" type="1D" scaling="IPW16:SHLL0"/>
53040010:
Code:
<table name="Minimum IPW SHLL0 modifier #1 (0x5345 -> 0x5340)" category="Misc" address="2dd8e" type="1D" scaling="Hex16"/> <table name="Minimum IPW SHLL0 modifier #2 (0x5945 -> 0x5940)" category="Misc" address="2db82" type="1D" scaling="Hex16"/> <table name="Minimum IPW Code Path modifier #1 (0x7f09 -> 0x7f06)" category="Misc" address="2dd70" type="1D" scaling="Hex16"/>
Code:
<table name="Minimum IPW SHLL5 (stock)" category="Misc" address="53002" type="1D" scaling="IPW16:SHLL5"/> <table name="Minimum IPW SHLL0" category="Misc" address="53002" type="1D" scaling="IPW16:SHLL0"/> <table name="Minimum IPW SHLL0 modifier #1 (0x5345 -> 0x5340)" category="Misc" address="2ddb6" type="1D" scaling="Hex16"/> <table name="Minimum IPW SHLL0 modifier #2 (0x5945 -> 0x5940)" category="Misc" address="2dbaa" type="1D" scaling="Hex16"/> <table name="Minimum IPW Code Path modifier #1 (0x7f09 -> 0x7f06)" category="Misc" address="2dd98" type="1D" scaling="Hex16"/>
526800xx:
Code:
<table name="Minimum IPW SHLL0 modifier #1 (0x5345 -> 0x5340)" category="Misc" address="2e02e" type="1D" scaling="Hex16"/> <table name="Minimum IPW SHLL0 modifier #2 (0x5945 -> 0x5940)" category="Misc" address="2de22" type="1D" scaling="Hex16"/> <table name="Minimum IPW Code Path modifier #1 (0x7f09 -> 0x7f06)" category="Misc" address="2e010" type="1D" scaling="Hex16"/>
526900xx:
Code:
<table name="Minimum IPW SHLL0 modifier #1 (0x5345 -> 0x5340)" category="Misc" address="2e0e2" type="1D" scaling="Hex16"/> <table name="Minimum IPW SHLL0 modifier #2 (0x5945 -> 0x5940)" category="Misc" address="2ded6" type="1D" scaling="Hex16"/> <table name="Minimum IPW Code Path modifier #1 (0x7f09 -> 0x7f06)" category="Misc" address="2e0c4" type="1D" scaling="Hex16"/>
55580006:
Code:
<table name="Minimum IPW SHLL0 modifier #1 (0x5345 -> 0x5340)" category="Misc" address="2e5ae" type="1D" scaling="Hex16"/> <table name="Minimum IPW SHLL0 modifier #2 (0x5945 -> 0x5940)" category="Misc" address="2e3a2" type="1D" scaling="Hex16"/> <table name="Minimum IPW Code Path modifier #1 (0x7f09 -> 0x7f06)" category="Misc" address="2e590" type="1D" scaling="Hex16"/>
So you need both sets of XML, the modified #1/#2 AND the "Minimum IPW SHLL0". Once you apply the changes in #1/#2 the first table ("Minimum IPW SHLL5 (stock)") will become meaningless since its based on the old scaling. Please dont confuse yourself
After you do the patch you will also need to reset your "Minimum IPW SHLL0" to 1.28ms, you can then increase/decrease at your leisure
Cheers
D.
Last edited by tephra; Nov 4, 2019 at 07:00 PM.
#6
Evolving Member
Hello tephra,
Thanks to your new post.
Over 1300cc!! What a big injectors! 800cc is enough for me. :-)
BTW,
>First I want to post up the XML that lets you modify the Minimum IPW, these seems to work across a few different ROMID's please let me know if you DONT see 1.28ms and I will investigate:
FYI(edited):
52360018(2008,JDM), it seems 1.280ms.(SHLL5 correct.) and SHLL0 seems 0.040. and the modifier #1,#2 addresses are below(I think):
<table name="Minimum IPW SHLL0 modifier #1 (0x5345 -> 0x5340)" address="2da5a"/>
<table name="Minimum IPW SHLL0 modifier #2 (0x5945 -> 0x5940)" address="2d84e"/>
Thanks to your new post.
Over 1300cc!! What a big injectors! 800cc is enough for me. :-)
BTW,
>First I want to post up the XML that lets you modify the Minimum IPW, these seems to work across a few different ROMID's please let me know if you DONT see 1.28ms and I will investigate:
FYI(edited):
52360018(2008,JDM), it seems 1.280ms.(SHLL5 correct.) and SHLL0 seems 0.040. and the modifier #1,#2 addresses are below(I think):
<table name="Minimum IPW SHLL0 modifier #1 (0x5345 -> 0x5340)" address="2da5a"/>
<table name="Minimum IPW SHLL0 modifier #2 (0x5945 -> 0x5940)" address="2d84e"/>
Last edited by crimson red; Aug 22, 2010 at 07:29 AM.
Trending Topics
#9
What I have done because the 'other' table (by rpm) is also used in some situations on the GSR - I just wrote a patch to jump using that for the minimum IPW..
Works pretty well - I can put up some XML if people are interested
but if your running less than 1500cc/min i don't think you will need it
Works pretty well - I can put up some XML if people are interested
but if your running less than 1500cc/min i don't think you will need it
#10
Evolved Member
What I have done because the 'other' table (by rpm) is also used in some situations on the GSR - I just wrote a patch to jump using that for the minimum IPW..
Works pretty well - I can put up some XML if people are interested
but if your running less than 1500cc/min i don't think you will need it
Works pretty well - I can put up some XML if people are interested
but if your running less than 1500cc/min i don't think you will need it
#13
Evolved Member
#14
ok I've updated post #1 with MR code.
The SST bit I was talking about was universal to non-SST as well - So I have added a "code path modifier" that needs to be done for BOTH MR and GSR... Otherwise sometimes it wont go below 1.28ms
Anyways Eric - if you can test and let me know if it's good
The SST bit I was talking about was universal to non-SST as well - So I have added a "code path modifier" that needs to be done for BOTH MR and GSR... Otherwise sometimes it wont go below 1.28ms
Anyways Eric - if you can test and let me know if it's good
#15
Evolved Member
ok I've updated post #1 with MR code.
The SST bit I was talking about was universal to non-SST as well - So I have added a "code path modifier" that needs to be done for BOTH MR and GSR... Otherwise sometimes it wont go below 1.28ms
Anyways Eric - if you can test and let me know if it's good
The SST bit I was talking about was universal to non-SST as well - So I have added a "code path modifier" that needs to be done for BOTH MR and GSR... Otherwise sometimes it wont go below 1.28ms
Anyways Eric - if you can test and let me know if it's good