SD - first test success
I originally planned to make load=MAP(kPa) at 25C and sort the VE in the MAF scaling table. I decided to copy the flawed original system in the end and include VE.
I'm replacing a volume with a pressure standardized volume but later killing the pressure comp (because it is already corrected for in my volume calc).
The temperature (MAT) that goes with that pressure standardized volume later converts it to air mass for fully compensated load and IPW calculations, but I just leave the ECU to get on with the temperature stuff once I tell it which sensor to use or rewire MAT into IAT.
In the actual code, I am just replacing MAF volume per half engine rotation with MAP*VE (with constant scaling to fit). MAP*VE is effectively pressure standardized volume.
We're making this very complex, hope it doesn't put people off, but hopefully we can do a new thread explaining it once the tech heads get it
The bottom line is that you need to calibrate your MAP sensor (or copy someone elses if JDM or GM MAP), and then you need to calibrate RPM VE and MAP VE curves, nearly all this work being in MAP VE for the vacuum/daily driver areas. Once out of vacuum it is very easy indeed!
I'm replacing a volume with a pressure standardized volume but later killing the pressure comp (because it is already corrected for in my volume calc).
The temperature (MAT) that goes with that pressure standardized volume later converts it to air mass for fully compensated load and IPW calculations, but I just leave the ECU to get on with the temperature stuff once I tell it which sensor to use or rewire MAT into IAT.
In the actual code, I am just replacing MAF volume per half engine rotation with MAP*VE (with constant scaling to fit). MAP*VE is effectively pressure standardized volume.
We're making this very complex, hope it doesn't put people off, but hopefully we can do a new thread explaining it once the tech heads get it

The bottom line is that you need to calibrate your MAP sensor (or copy someone elses if JDM or GM MAP), and then you need to calibrate RPM VE and MAP VE curves, nearly all this work being in MAP VE for the vacuum/daily driver areas. Once out of vacuum it is very easy indeed!
All I know for sure is that you need a Guru status.
I think EvoM should make a new status, "ECU Guru". I noticed mrfred and tephra both recently received the Guru status, but I think ECU Guru is more fitting.
I think EvoM should make a new status, "ECU Guru". I noticed mrfred and tephra both recently received the Guru status, but I think ECU Guru is more fitting.
Note that MAF Hz is a very unimportant variable in all this. It is an uncompensated volume measurement (originally from the MAF) which is calculated from the volume per half engine rotation divided by the time between CAS pulses. Apart from being a favourite to log (on a stock turbo and modified airbox I know I'm doing OK if I hit the 1600 Hz at 5000-5200 RPM), it is only used otherwise for the MAF scaling, smoothing and that nightmare baro/iat table. All have small compensations in except the MAF scaling, and this is only applied to the IPW calc, not to load. This is why I believe that our load system is flawed as the value isn't really proportional to air volume (or eventually mass) per half cylinder rotation. However, load is just used for table lookups.
To put the code in context, the two main NOPs I use (NOP 2 and NOP 3 as I have since removed NOP 1 as it isn't needed now) are the ones that change the subroutine I hijacked into one that replaces the following with our calculated values:
1. MAFSOURCEMAIN (which after multiplying by MAFSIZE and dividing by 65536) becomes the master or uncompensated load)
2. MAFSOURCEMAINxMAFMULTIPWARMUP (which is used to calculated IPW)
Without the NOPs, these two variables would be limited based on RPM, water and air temps. The first one Mellon already tested to overcome the 380 load limit, the second one I supplied to him for further testing so that he would not have to richen his fuel map beyond 380 load to keep the same fuelling. This links with where evoredy and Bez were doing their MAF limiting patch. They used the same routines to alter, but hadn't had the chance to realise that MAFSOURCEMAINxMAFMULTIPWARMUP is the variable that calculated IPW and also needs to be replaced in SD or limited in a MAF limiting patch. The work on going through the CAS interrupts and MAF sensor pulse conditioning is why I think this SD conversion works so smoothly.
Clear as mud?
To put the code in context, the two main NOPs I use (NOP 2 and NOP 3 as I have since removed NOP 1 as it isn't needed now) are the ones that change the subroutine I hijacked into one that replaces the following with our calculated values:
1. MAFSOURCEMAIN (which after multiplying by MAFSIZE and dividing by 65536) becomes the master or uncompensated load)
2. MAFSOURCEMAINxMAFMULTIPWARMUP (which is used to calculated IPW)
Without the NOPs, these two variables would be limited based on RPM, water and air temps. The first one Mellon already tested to overcome the 380 load limit, the second one I supplied to him for further testing so that he would not have to richen his fuel map beyond 380 load to keep the same fuelling. This links with where evoredy and Bez were doing their MAF limiting patch. They used the same routines to alter, but hadn't had the chance to realise that MAFSOURCEMAINxMAFMULTIPWARMUP is the variable that calculated IPW and also needs to be replaced in SD or limited in a MAF limiting patch. The work on going through the CAS interrupts and MAF sensor pulse conditioning is why I think this SD conversion works so smoothly.
Clear as mud?
Last edited by jcsbanks; Feb 12, 2009 at 01:08 PM.
John I think you havn't noticed any side affects because of UK's cold temps.
I think when you get a 20deg day and your MAT is reading 45deg then you might see some fueling/timing comps come into play.
What if we modify the stock scaling so that we subtract like 10-15degC? that should roughly be the same as the real MAFIAT then?
I think when you get a 20deg day and your MAT is reading 45deg then you might see some fueling/timing comps come into play.
What if we modify the stock scaling so that we subtract like 10-15degC? that should roughly be the same as the real MAFIAT then?
John I think you havn't noticed any side affects because of UK's cold temps.
I think when you get a 20deg day and your MAT is reading 45deg then you might see some fueling/timing comps come into play.
What if we modify the stock scaling so that we subtract like 10-15degC? that should roughly be the same as the real MAFIAT then?
I think when you get a 20deg day and your MAT is reading 45deg then you might see some fueling/timing comps come into play.
What if we modify the stock scaling so that we subtract like 10-15degC? that should roughly be the same as the real MAFIAT then?
Dave, I'm planning on leaving mine alone. I barely break 30C MAT in our "summer" even on a stock intercooler at 1.7 bar (I drop it 0.1 for summer to control knock). If it hits 34C I don't mind losing a degree, and if it hits 50C it means I've sat behind a tractor for 5 miles on the hottest day of the year with the air conditioning on full blast, and even then it only retards 2 degrees.
The difference between timing adjustment between IAT and MAT is at most 1 degree, the variation in apparently the same conditions of the knock threshold is around that anyway.
We have the full range of adjustments that standalones have and can add more if we need them.
If someone really wants coolant vs IAT vs MAT vs RPM vs MAP vs TPS lookup of VE and they make a large donation I'm sure you'd code it for them
I'd love to see them edit THAT table 
The only real issue is if the MAT heatsoaks, I don't notice it doing it worse than the IAT even though I still have an airbox (albeit with a side cutout) that should protect the IAT. By levelling off the compensation at the extreme top we limit the potential false leaning effects from heatsoak, OEM do this too, and it adds safety at extremes.
If you get your tables right I think you'll love it. I can't believe how well it drives on my setup. I consider the mapping complete unless I discover any issues, I've done everything my car ever does on this patch, just at lower temperatures. The traffic manners and tractability in four inches of snow are perfect. Cold starts, hot starts, creeping, clutch work, hill starts in snow, going sideways in the snow.
The difference between timing adjustment between IAT and MAT is at most 1 degree, the variation in apparently the same conditions of the knock threshold is around that anyway.
We have the full range of adjustments that standalones have and can add more if we need them.
If someone really wants coolant vs IAT vs MAT vs RPM vs MAP vs TPS lookup of VE and they make a large donation I'm sure you'd code it for them
I'd love to see them edit THAT table 
The only real issue is if the MAT heatsoaks, I don't notice it doing it worse than the IAT even though I still have an airbox (albeit with a side cutout) that should protect the IAT. By levelling off the compensation at the extreme top we limit the potential false leaning effects from heatsoak, OEM do this too, and it adds safety at extremes.
If you get your tables right I think you'll love it. I can't believe how well it drives on my setup. I consider the mapping complete unless I discover any issues, I've done everything my car ever does on this patch, just at lower temperatures. The traffic manners and tractability in four inches of snow are perfect. Cold starts, hot starts, creeping, clutch work, hill starts in snow, going sideways in the snow.
Last edited by jcsbanks; Feb 12, 2009 at 03:07 PM.
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
Dave, I'm planning on leaving mine alone. I barely break 30C MAT in our "summer" even on a stock intercooler at 1.7 bar (I drop it 0.1 for summer to control knock). If it hits 34C I don't mind losing a degree, and if it hits 50C it means I've sat behind a tractor for 5 miles on the hottest day of the year with the air conditioning on full blast, and even then it only retards 2 degrees. ...
ok just a quick difference between IAT and MAT: This is regular MAF ROM...

even at 100TPS the difference is 15 degC, cruising it can be more depending on TPS...
John - Don't think I am knocking your setup, I am sure its brilliant. But down under we have to consider high temps

even at 100TPS the difference is 15 degC, cruising it can be more depending on TPS...
John - Don't think I am knocking your setup, I am sure its brilliant. But down under we have to consider high temps
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
I've got SD version 3 loaded up on my car. Drivability is very good except that its not quite as snappy as the stock MAF setup. Fuel trims are way off. STFT is hitting about -18% with SD and around -8% with MAF (my E85 vendor seems to have a bit more gasoline in his latest batch). Uncompensated load at idle is around 30 with SD whereas its around 22 with MAF. I suppose I'll have to fiddle with the RPM VE curve a bit.
Hrmm i have just realised my MAT/IAT scalings could be wrong for the GM.
the graphs matched fine in evoscan - duh! but the evoscan scalings are different.
MrFred - does that mean we need to edit the ECU scaling for use with the GM sensor? Maybe I will just use my existing GM MAT scaling output variable for use in J's code.
the graphs matched fine in evoscan - duh! but the evoscan scalings are different.
MrFred - does that mean we need to edit the ECU scaling for use with the GM sensor? Maybe I will just use my existing GM MAT scaling output variable for use in J's code.
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
Hrmm i have just realised my MAT/IAT scalings could be wrong for the GM.
the graphs matched fine in evoscan - duh! but the evoscan scalings are different.
MrFred - does that mean we need to edit the ECU scaling for use with the GM sensor? Maybe I will just use my existing GM MAT scaling output variable for use in J's code.
the graphs matched fine in evoscan - duh! but the evoscan scalings are different.
MrFred - does that mean we need to edit the ECU scaling for use with the GM sensor? Maybe I will just use my existing GM MAT scaling output variable for use in J's code.
mrfred, it has SAS but I have it disabled. I thought most of the high power guys (who would want SD) have EGR disabled? It maybe that you do need some accel enrichment, especially with E85, but the golden rule is usually to get the base map right before considering enrichment.
I don't know the Evo's EGR system, but if you had to leave it enabled, someone would have to test the effects, it works during closed loop doesn't it?
I still believe the delta doesn't matter (and not having it WOULD matter) because we're accounting for it in our calculations.
I don't know the Evo's EGR system, but if you had to leave it enabled, someone would have to test the effects, it works during closed loop doesn't it?
I still believe the delta doesn't matter (and not having it WOULD matter) because we're accounting for it in our calculations.



