PATCH: KNOCKCEL+NLTS+AltMap (V4)
Thread Starter
Joined: Feb 2007
Posts: 9,486
Likes: 67
From: Melbourne, Australia
last question, should I make it either ADC0F OR AutoICS enablement of the altmaps?
Ie you can use both methods to enable/disable? you must choose one when your setting up your ROM?
Just makes the code a bit easier
edit - yeah I think I will do this, then I can use the "Enable AltMaps flag" as follows:
0 = no altmaps
1 = altmaps by autoics button
2 = altmaps by adc0f
of course for evo's that don't have ICS they will only be able to choose 0 or 2.
ok?
Ie you can use both methods to enable/disable? you must choose one when your setting up your ROM?
Just makes the code a bit easier

edit - yeah I think I will do this, then I can use the "Enable AltMaps flag" as follows:
0 = no altmaps
1 = altmaps by autoics button
2 = altmaps by adc0f
of course for evo's that don't have ICS they will only be able to choose 0 or 2.
ok?
Last edited by tephra; Feb 6, 2008 at 07:07 PM.
Here's what I was thinking with the 2d map for interpolation. While doing the 2d map you be able to implement your switch points as well as have the option manipulate the curve entirely with both voltage and percentage simply by changing the values. On ADC Curve 2 the vertical cut between the 0% and 100% is realisticly not at the same voltage but only .1 volts difference between full off and full on, or whatever tephra makes the increment value.
I see what you mean. Currently, its adjustable from 1 to 255 which is roughly .02v per increment. It all depends on what Tephra can accomplish at this point. If he does do this, as a default, you'd want it set to be less aggressive as it interpolates from map-to-map. That way people can push the limits slowly before the onset of knock, rather than having to adjusting to remove knock.
Last edited by Jack_of_Trades; Feb 6, 2008 at 08:49 PM.
EvoM Guru
iTrader: (50)
Joined: Mar 2006
Posts: 9,675
Likes: 132
From: Tri-Cities, WA // Portland, OR
cool - i just removed the 3x timing maps code and its become much neater again.
before the code was getting so big I had to have multiple sections all linking together, messy and hard to read - now its back to a manageable size..
so that's a big plus
so I will wait for MrFred to report back his findings and unless there is a compelling reason not too I will continue with my plan
before the code was getting so big I had to have multiple sections all linking together, messy and hard to read - now its back to a manageable size..

so that's a big plus

so I will wait for MrFred to report back his findings and unless there is a compelling reason not too I will continue with my plan

The amount of MIVEC overshoot or undershoot is very minimal for a properly working MIVEC system. That is reason enough for me to say that I can't see the value in adjusting the timing based on MIVEC.
Last edited by mrfred; Feb 7, 2008 at 03:36 AM.
"background checking on octane value and all"
I don't know if you mean this, but there are checks on the octane number that do other funky stuff depending on its value. I've not looked in detail, but it might alter the boost or something else?
It does make sense to trim the ignition timing when MIVEC changes, especially if it is way out due to a fault, although it seems underused given the similarities between the maps.
I don't know if you mean this, but there are checks on the octane number that do other funky stuff depending on its value. I've not looked in detail, but it might alter the boost or something else?
It does make sense to trim the ignition timing when MIVEC changes, especially if it is way out due to a fault, although it seems underused given the similarities between the maps.
As far as I know, the altmap (digital) has already down.
We are just see how far this ADC 0F channel can be used to it full potential. altmap (anaolgue) has more potential, as it seems. People on this forum is very creative.
We are just see how far this ADC 0F channel can be used to it full potential. altmap (anaolgue) has more potential, as it seems. People on this forum is very creative.
Here's what I was thinking with the 2d map for interpolation. While doing the 2d map you be able to implement your switch points as well as have the option manipulate the curve entirely with both voltage and percentage simply by changing the values. On ADC Curve 2 the vertical cut between the 0% and 100% is realisticly not at the same voltage but only .1 volts difference between full off and full on, or whatever tephra makes the increment value.
- ECU/ROM - User definable: but it will require a bit of computer skills.
- External device: a bit more user friendly, just a matter of trimming a few potentiometers. As long as the interpolation is defined linearily.
The idea needs further refinement for real work is carried out.
Thread Starter
Joined: Feb 2007
Posts: 9,486
Likes: 67
From: Melbourne, Australia
Exactly, if octanenumber is used in other places then we can't really use it as a E95/Meth interpolation thingymagig
If you have any source for your work so far on the map switching I'd be interested to see it as between us we need a unifed system of pointers for 1d, 2d, 3d maps that are then switchable by manipulating a global variable. My existing system works for 2d and 3d maps, but not for 1d without code changes as you've also noted.
There is a routine that initialises the octane value after the ECU has been reset/powered down. If you are not doing so already, that is a nice one to hook into to make sure your status/map switching variables are always clean. It would also be a good place to copy any ROM maps to RAM so that they are always populated.
There is a routine that initialises the octane value after the ECU has been reset/powered down. If you are not doing so already, that is a nice one to hook into to make sure your status/map switching variables are always clean. It would also be a good place to copy any ROM maps to RAM so that they are always populated.
Thread Starter
Joined: Feb 2007
Posts: 9,486
Likes: 67
From: Melbourne, Australia
the 1d maps were actually easier than the 2d, injector scaling for instance is referenced as a pointer to injector scaling, so overwriting this with a memory address was easy.
The BCS 2d maps were harder, I had to overwrite the pointer with my memory address and then overwrite the call to 2D-table_lookup with the same call that is used in the fuel/ign routines (inappropriatly named 3d-table-lookup).
I will send you a disasm if you like John?
The BCS 2d maps were harder, I had to overwrite the pointer with my memory address and then overwrite the call to 2D-table_lookup with the same call that is used in the fuel/ign routines (inappropriatly named 3d-table-lookup).
I will send you a disasm if you like John?



