PDA

View Full Version : Kenneth's ECU Mods V2.0



Kenneth
27-11-2011, 03:26 AM
WARNING and Disclaimer

Using these mods is for Racing only and they should NOT be used on the road.
There is no warranty either express or implied as to the sutibilty or correct operation of these mods. I do NOT reccommend the use of this ROM in any car for any purpose.
I will not be liable for any damage or injury, including death, relating directly or indirectly to the use of this ROM.

By continuing to read (and subsequently downloading the ROM) implies that you have read and agree with the above statements.


This release if my ECU mods is a significant change from the previous version (hence 2.0) and please note that it is in no way compatible
As such, the ROM that goes with this is accompanied by a new XML ECU Flash definition set (including the base XML due to some changes to base functionality)

If you use this XML definition on your standard ROM, your ECU will not work correctly.
If you edit this ROM using standard definitions, your ECU will not work correctly

A number of features previously available have been removed but are able to be better achieved with the use of map and limit switching.

The switched items are

8 Fuel Maps
8 Ignition Maps
8 Target Load Maps
8 Initial Wastegate Duty Maps
8 Load Limit maps
8 Injector size values
8 Speed Limit On values
8 Speed Limit Off values
8 CEL on KnockSum values
8 Max Ignition Retard values
8 RPM Limit values
8 Mod Setup option values


Note: Where a map (such as fuel and ignition) is needed for high and low octane values, using different maps for high and low octane results in the use of 2 maps.
This will be explanied a bit more thoroughly later.

There are essentially 2 categories of configuration that you need to get your head around.

Map selection
Selected configuration setup.


I will describe these in the next few posts.

Kenneth
27-11-2011, 04:25 AM
Map Selection

Map selection can be further broken down into 2 parts of which you can use either or both to have a map selected.

Condition matching
Switch settings


To select any one map, the ECU will perform condition matching followed (if needed) by switch settings. Once it makes a positive match, it will stop looking and use that map.

Condition Matching
Conditions are in the ECU Flash definition under each map configuration and are labelled
Activation Lookup 1
Activation Lookup 2
...
Activation Lookup 8

When selected, you will get a little popup as follows
49763

The shown lookup gives the memory address for TPS (can be found by cross referencing the MUT table with loggers such as Evo Scan or Open port 2 standalone logging).
NOTE: You need to give a 16bit address, most MUT addresses give only the LOWER byte of a 2 byte address.
As an example, TPS is item row MUT01 column 7 (request id 0x17) which gives 0xF07B. This is the lower byte of a 2 byte address and so you can see the screen shot has 0xF07A as the memory address (all comparisons are 16 bit)

By editing the Map definition (right click Edit Map) you will want to change the scaling to reflect the comparison you are doing.
The following screen shot shows that I have changed the scaling to be TPS_Percent_16Bit. This is so I can modify the values in terms of TPS percentage, rather than having to manually do the conversion and enter the value in Hex.
49761

There are 8 available comparisons.

To select a map, the ECU will follow the following logic. Excuse the paint flow chart :P
At the top right shows an example of the address setting which will cause the comparison loop to move to the switch settings. Only the address matters, the value could be anything so long as the Address = 0xFFFF.
49762

If you use all 8 comparisons, the ECU will continue comparing with the NEXT set until it finds 0xFFFF. So in effect you can stack them. This would complicate things though, so I would recommend using only 7 maximum and leaving the 8th to signify compare completion.


Switch Settings
If the comparisons are ok (or the first address was 0xFFFF) then the switch settings will be checked.

This is done using the bit masking you might be familiar with from previous ECU mod versions.

This firstly checks the Activate Bit Mask On table and where Enabled is selected, it makes sure that switch has been switched (either to ground or +12v as specified on the table)
If that comparison passes (or you have Disabled on all items) then it will check the Activate Bit Mask Off settings.
This specifies which switches must NOT be switched.
In this manner, you can specify all sorts of combinations.

You COULD switch all 8 maps with a combination of 3 switches (you can get 8 different combinations of on/off from 3 switches) or alternatively, switches can be used to group sets of maps.
I.e. you could have 2 configurations with the exact same comparison settings and have the switch setting choose between which one is going to activate. That switch could indicate fuel type (E85 vs Petrol) for example.

Kenneth
27-11-2011, 05:05 AM
Selected Configuration Setup

This section is fairly straight forward. There are a couple of things that are important though.

Most of the settings are value based and straight forward. For each map configuration, you set that value and when that configuration is active, that value will be used.

Assigning maps is a bit different. It is not done by value, but by map address.
The screen shot below shows a number of things. First it shows the maps and, in brackets, their address.
Also shown are the high and low octane Target Load map settings for Configuration 8.

As you can see, the values are literally the address values for the map to be used. It is also very important to note that there are 8 maps and 2 have been used here, one for low octane and one for high octane. This is important because although you have 8 configurations, there are not enough maps to have a separate high and low octane fuel, ignition etc. map for each.

49765

To change the map you want to use, find the correct map type from the list and update the address to that map. You can quite literally use the same map address on all maps (I.e. low octane fuel)

Kenneth
27-11-2011, 05:18 AM
At present I have not attached the ROM. I am waiting for some testing feedback before I post it up. I may re-name definition sections too, so don't be alarmed if the released version doesn't quite match with some of the screen shots.

For now, I am after constructive feedback on the instructions and any ideas for making it more user friendly.

I am aware that this level of configuration is fairly complicated and, for most people, unnecessary. If you feel the urge to remind me, the chances are that this isn't for you and I would appreciate if you didn't post.
From time to time I may delete posts which are no longer (or never were) relevant. Please don't be offended if this happens to one of your posts.

Later, when I get some more time, ill add some examples of configuration for things such as Launch Control and No Lift To Shift.

/edit: Thread is now open

Adam.Findlay
27-11-2011, 11:10 AM
Righto so the parts I am still foggy on are exactly how the maps are switched.
I flashed the ROM to my 7203 ecu and set varying rpm limits on each of the 8 "maps" and once the car had warmed up gave it 100% throttle and in all instanced it immediatly reverted to the 8th and final map. even though the activation lookup in map 1-7 were all set to FFFF.
from whats written above am I right in saying when the ecu sees FFFF in any of the first 7 maps, it stops searching and runs the 8th map?

Accually changing between maps only takes place after you have installed 3 physical ON/OFF switches (grounded or +12v) into certain pins in the ECU? or can you set certain adress values to act as the switch such as TPS>50% activates high octane map where TPS<50 activates low octane and so on

correct me if I am wrong here just trying to get my head around it all before I go changing fueling maps and not fully understanding what map it should be running and why

apoligise for my lack of computer know how but im learning slowly :)

Davezj
27-11-2011, 12:19 PM
One point to mention, the flow chart is not very clear how it works. You need to have arrow in the lines between the box to define direction of choice. It is not a biggy but it would help.

Kenneth
27-11-2011, 08:44 PM
The ECU is looking for the first map configuration which matches ALL of the given criteria. If none of the first 7 can be fully matched, then the 8th is used.

So, the activation lookups are the first matched criteria. If FFFF is found, it will stop trying looking at activation lookups, but still retains the "ok" status and moves on to check the switches.
If an activation lookup has a proper memory value in it, the ECU will compare that and if that criteria is not met, it will abort checking and move to the next map. (Skips the switch check)

So to activate a map configuration, you need to match the activation lookups AND the switches. If the first activation lookup address is FFFF, then the activation lookups are ALWAYS going to match and you will be relying on the switches to set the maps.

On the other hand, if the switches are set to Disabled for all, then you will be relying on the activation lookups to change maps. Alternatively you can use a combination of both.

Does that clarify things?


Righto so the parts I am still foggy on are exactly how the maps are switched.
I flashed the ROM to my 7203 ecu and set varying rpm limits on each of the 8 "maps" and once the car had warmed up gave it 100% throttle and in all instanced it immediatly reverted to the 8th and final map. even though the activation lookup in map 1-7 were all set to FFFF.
from whats written above am I right in saying when the ecu sees FFFF in any of the first 7 maps, it stops searching and runs the 8th map?

Accually changing between maps only takes place after you have installed 3 physical ON/OFF switches (grounded or +12v) into certain pins in the ECU? or can you set certain adress values to act as the switch such as TPS>50% activates high octane map where TPS<50 activates low octane and so on

correct me if I am wrong here just trying to get my head around it all before I go changing fueling maps and not fully understanding what map it should be running and why

apoligise for my lack of computer know how but im learning slowly :)

Kenneth
27-11-2011, 08:46 PM
Good point, thanks. I am sure I meant to put some arrows on there, just ran out of time :P Took me longer to do the posts than I expected.


One point to mention, the flow chart is not very clear how it works. You need to have arrow in the lines between the box to define direction of choice. It is not a biggy but it would help.

foxdie
27-11-2011, 11:37 PM
Here's a better flow chart to help describe the process of map selection.

You start at map one, you then start doing tests to see if this is the correct map to use, those tests are outlined here:

49825

Just to clear things up in different / simpler wording;
Setting the Memory Address to "FFFF" (aka 0xFFFF to computer programmers) means "Skip doing anymore memory tests, do the switch tests next"
You don't need to have switches installed, you can tell the switch test to always match as TRUE by not setting them
If you just want to test for switch settings, always set the first Memory Address to check as FFFF, this is useful for hard-coding a map to come on with a switch
Hope this helps clear things up :)

Ps. Ken, sorry bud I didn't get to test the ROM this weekend, It had slipped my mind that it was mine and Chris's 5th anniversary this weekend when I messaged you, hopefully I can test gear selection in the coming days :thumbsup:

Kenneth
27-11-2011, 11:58 PM
That is a much better diagram, thanks Jason.

Thanks for the simplification too.

Adam.Findlay
28-11-2011, 10:27 AM
right I understand now. so for testing purposes can you advise which pins on the ecu I need to wire switches into? this way i will know which map shoule be selected and can test if the ecu is registering and reading the correct map.
think in the end only using 2 switches (00, 01, 11, 10) four combinations as 8 maps is a bit excessive.

foxdie
28-11-2011, 10:34 AM
Hi Adam,

Please refer to the pinout diagram located here: Definitive EFI ECU Pinout (http://www.clubvr4.com/forum/showthread.php?59222-Definitive-EFI-ECU-Pinout-(KS-Mod-friendly))

Any pin with a yellow arrow (apart from pin D-5) can be used as an input, the little number beside the arrow signifies whether this is a GND switched or +12V switched input.

Adam.Findlay
28-11-2011, 11:16 AM
cheers foxdie.
also @ kenneth with the new definition files do you think your enlarged maps will be tuneable via evoscan now. as the way I retune my fueling and ignition is using evoscans map tracer function

pbaron
28-11-2011, 07:19 PM
Hey Adam,

I was using Kenneths 1.03 rom with extended maps in Map Tracer ok, are you referring to the 2.0 rom?

Cheers
Pierre


cheers foxdie.
also @ kenneth with the new definition files do you think your enlarged maps will be tuneable via evoscan now. as the way I retune my fueling and ignition is using evoscans map tracer function

Kenneth
28-11-2011, 09:15 PM
Hi Adam, I would advise talking to Pierre as I have no idea what you are talking about... /haz


cheers foxdie.
also @ kenneth with the new definition files do you think your enlarged maps will be tuneable via evoscan now. as the way I retune my fueling and ignition is using evoscans map tracer function


Hey Adam,

I was using Kenneths 1.03 rom with extended maps in Map Tracer ok, are you referring to the 2.0 rom?

Cheers
Pierre

foxdie
28-11-2011, 09:34 PM
I think he's referring to getting the Map Tracer functionality working with EvoScan on the KS Mods 2.0 ROM like thus;

49874

EvoScans map tracer will let you view any logged item (Knock Sum for example) on a RPM vs LOAD table, you can then load in the ROM and it'll pull up the timing / fuelling cell where you click (see the highlighted cell, I clicked on the top, it autoselected the one on the bottom for me).

Once you've done that, you can tune it as you would in EcuFlash using the square brackets and then save the ROM or even flash it (although I doubt EvoScan can flash to our ECUs).

Unfortunately Adam I'm not sure it's possible without a LOT of effort, I'll take a quick look but I doubt that the 30+ tables will sit nicely with EvoScan :)

Adam.Findlay
29-11-2011, 01:27 AM
Pierre how did you get 1.03 to work in evo scan I could not manage to get it sorted. I can imagine if you can get extended maps working via 1.03 then you can get them to work via 2.0 Although making sure you have the correct map selected could be an issue.

Foxdie thats the way I have always tuned used map tracer to adjust the values in the rom, save it via evoscan then flash that saved rom via ecuflash.

Not a great issue yet just once Kenneth has ironed out any kinks we may find in the testing stage be good to know how to use map tracer as its much easier to tune out knock with it when we do get to the tuning stage.
getting the shivers thinking about tuning to a tank of E85 :)

Adam.Findlay
29-11-2011, 05:57 AM
Mounted a few switches today on the removable plastic panel underneath the wing mirror adjuster panel.

now to wire them in and test it
49903
49904

pbaron
29-11-2011, 07:48 AM
Hey Adam,

Map Tracer is picky about the names used in the tables, I found that removing the # characters from the names of the two hi octane ignition and fuel tables would allow them to load correctly.

I would load up a copy of the xml def file I was using but it is modified significantly from what Kenneth originally published to attempt to tidy it up and remove unused scalings. Just tweak the table names and see how you get on.

Cheers


Pierre how did you get 1.03 to work in evo scan I could not manage to get it sorted. I can imagine if you can get extended maps working via 1.03 then you can get them to work via 2.0 Although making sure you have the correct map selected could be an issue.

Foxdie thats the way I have always tuned used map tracer to adjust the values in the rom, save it via evoscan then flash that saved rom via ecuflash.

Not a great issue yet just once Kenneth has ironed out any kinks we may find in the testing stage be good to know how to use map tracer as its much easier to tune out knock with it when we do get to the tuning stage.
getting the shivers thinking about tuning to a tank of E85 :)

Adam.Findlay
29-11-2011, 08:32 AM
choice thankyou pierre

Kenneth
17-03-2012, 06:46 AM
I have now attached the files, good luck everyone :)

foxdie
17-03-2012, 10:33 AM
I have now attached the files, good luck everyone :)

Yay :)

Ken:

Have you investigated the minor WGDC issues reported by shtiv (http://www.clubvr4.com/forum/showthread.php?60947-Switched-maps-testers-wanted&p=677783&viewfull=1#post677783)?

Also, whats the recommended way to set load target above 159 on this ROM? Now we've reached a public release status, I'd like to push it even further :)

Everyone else:

Please keep in mind this is serious stuff, unless you REALLY know what you're doing here ask one of us for help. As with all tuning, you could really f*** up your car if you don't know what you're doing. If in doubt, ask questions here and one of us will help it all make sense :)

Also, if anyone wants to know how to implement Anti-Lag / Launch Control / Valet mode let me know :)

Kenneth
17-03-2012, 10:55 AM
Steve confirmed that the ROM is working as per standard (i.e. same behaviour as standard regardless of which map is on) so that should not be an issue.

Target load = Target Load lookup + Boost Desired Load Adder

The standard adder value is 40. 159 + 40 = 199. If you want to go further forward, just increase the adder and adjust your target load lookup.

foxdie
17-03-2012, 11:51 AM
Target load = Target Load lookup + Boost Desired Load Adder

The standard adder value is 40. 159 + 40 = 199. If you want to go further forward, just increase the adder and adjust your target load lookup.

Now you see I've tried that, I've set BDLA as high as 80 but it still error corrects to 159, it's good for a stable 1.0 bar boost through nearly all of the rev range but we know the TD03's are good for a little more.

I'll post up an EvoScan graph when I get home, just taken the puppy for his first vet trip ;)

foxdie
17-03-2012, 04:03 PM
Okay here we go;

51908
The leftmost 2D table is the Target Engine Load with the 1D table above it it showing which 2D table is selected for the current map
The rightmost 2D table is the Wastegate Duty Cycle with the 1D table above it it showing which 2D table is selected for the current map
The bottom 1D table shows exactly what I've got my Boost Desired Load Adder set to
As you can see, I've got target load set to 159 from around 3000 RPM onwards with plenty duty cycle to help build boost, that plus the 80% BDLA it should be trying to make close to 240. I'm willing to accept that maybe the turbos would start to run out of "puff" after 5500 RPM, still, you can see the WGDC doesn't change a fat lot despite the load error remaining roughly constant.

Thoughts?

Kenneth
17-03-2012, 08:59 PM
Are you sure you are on the right map? Are you using the definition I uploaded yesterday? (If not, I suggest you do as I have no intention of supporting the "testing" version)

Your load and WGDC look to be related to each other, just not to the numbers in the tables.

I guarantee you it isn't the ROM modifications.

lateshow
17-03-2012, 10:36 PM
One question to you guys: Do you have the RE85 or E85 ethanol fuel in your countries ? We have here in Finland and a buch of people or actually to be honest one person has managed to create this flexifuel software for evo 8-9 ecus. It has 255 interpolation values but I was thinking that maybe these 8 values would somehow be adequate for flexifuel system if the map changes could be triggered by an ethanol detector (this system has been done for the evos already)

foxdie
17-03-2012, 11:11 PM
Are you sure you are on the right map? Are you using the definition I uploaded yesterday? (If not, I suggest you do as I have no intention of supporting the "testing" version)

I'm still using the test ROM from a few months ago.

At the time that graph was taken, it was using Map 3, I determined this by logging MUT request BD which I have set to return address 0xF645, applying the scaling x+1 (as per this thread (http://www.clubvr4.com/forum/showthread.php?60947-Switched-maps-testers-wanted&p=674825&viewfull=1#post674825)).

The 2D tables above show which 3D tables to use respectively, including those tables. In short, what you see in those tables should be the applied values when the graphs were taken.

Have you changed anything between that release and the one you published yesterday? Edit - Yes something has changed;


MD5 (ECU KS Mods V2.0 - alpha/ECU KS Mods V2.0.hex) = 6fea40bb6a1eef91c20103ae32f20ab9
MD5 (ECU KS Mods V2.0 - alpha/EMKS12.xml) = d8d9d4d01fe23b6c2c3c4a0ebe7d30b8
MD5 (ECU KS Mods V2.0 - alpha/KSModsBase.xml) = 3f10e9d253b88b30384f5a020aad3397

MD5 (ECU KS Mods V2.0 - beta/ECU KS Mods EMKS12.hex) = b86f201858ae547fe6fb24e93e848560
MD5 (ECU KS Mods V2.0 - beta/EMKS12.xml) = 3e82e45c8e654d07002ddce3bf5533ae
MD5 (ECU KS Mods V2.0 - beta/KSModsBase.xml) = 14fae458f249a6b23dd3601d7bcbfd37

Ken can you clarify whats changed? Both ROM and Definitions have changed since release, defs appear to have been cleaned up but curious about the ROM :)


Your load and WGDC look to be related to each other, just not to the numbers in the tables.

Exactly, I found this curious, that's why I tried upping BDLA to see if it'd "push past" it. It's got me baffled, happy to send you my edited copy of the ROM.


I guarantee you it isn't the ROM modifications.

Yeah I'm 99% with you on that, probably something silly has been overlooked somewhere, probably by me :)

Ryan
17-03-2012, 11:15 PM
One question to you guys: Do you have the RE85 or E85 ethanol fuel in your countries ? We have here in Finland and a buch of people or actually to be honest one person has managed to create this flexifuel software for evo 8-9 ecus. It has 255 interpolation values but I was thinking that maybe these 8 values would somehow be adequate for flexifuel system if the map changes could be triggered by an ethanol detector (this system has been done for the evos already)

In New Zealand we have E10 (10% ethanol, 90% 95RON) which is sold at the pump with a 98RON rating.

foxdie
17-03-2012, 11:32 PM
Updated my post above to reflect comparing releases with MD5 tool.

Kenneth
18-03-2012, 02:13 AM
We have E85 in NZ. As far as I know it is only available through one outlet though. Fortunately I don't live too far from it. One of these days ill go get some and see how it goes.

Ryan
18-03-2012, 05:27 AM
http://en.wikipedia.org/wiki/Common_ethanol_fuel_mixtures

Kenneth
18-03-2012, 05:49 AM
Yes, this way of map switching could do all of that.
You can configure a number of fuel and ignition maps (also injector size if necessary) to work with ethanol. How you switch them is totally up to you. If you have an ethanol sensor which can be used to trigger an input on the ECU, it could very easily be automatic.

If you were so inclined and didn't care about high/low octane mapping, you could, in theory, run up to 8 different fuels.


One question to you guys: Do you have the RE85 or E85 ethanol fuel in your countries ? We have here in Finland and a buch of people or actually to be honest one person has managed to create this flexifuel software for evo 8-9 ecus. It has 255 interpolation values but I was thinking that maybe these 8 values would somehow be adequate for flexifuel system if the map changes could be triggered by an ethanol detector (this system has been done for the evos already)

Ryan
18-03-2012, 06:34 AM
We have E85 in NZ. As far as I know it is only available through one outlet though. Fortunately I don't live too far from it. One of these days ill go get some and see how it goes.

Ahh yes, that Exx too /yes - it is Gull Force Pro and is available from Gull Melville (Hamilton). 110RON http://www.gull.co.nz/fuel-products/gull-force-pro/

lateshow
18-03-2012, 09:37 AM
foxdie and kenneth: We already have a system that can give you voltage 0-5V depending on the amount of ethanol in the fuel. Would it be hard to connect this to an analog input and the modify the KS 2.0 to use this value to change the maps. Because 98 costs now something like 1.75 e / litre here im thinking of going E85. Only thing i need is the bigger fuel pump and propably some hoses :) Im thinking of tryinh with stock injector, even reduce boost is it goes over the top....

E85 gives you more power and torque because you can have the best ignition values there is... No problems with knocking.

We need to change the injector values too, because id like to operate in closed loop :)

lateshow
18-03-2012, 09:50 AM
And in addition, there is one special reason why this fuel sounds so good here. It costs 1e / litre because it is done out of trash and litter. The consumption is 20-30% more so it'll cost much less...

Shtiv
18-03-2012, 10:45 AM
Steve confirmed that the ROM is working as per standard (i.e. same behaviour as standard regardless of which map is on) so that should not be an issue.

Target load = Target Load lookup + Boost Desired Load Adder

The standard adder value is 40. 159 + 40 = 199. If you want to go further forward, just increase the adder and adjust your target load lookup.

Yeah the problem was with me not realising how little the error correction table did, it works just like a std rom.

I don't know what Jason's doing wrong but I have close to 200% Load to over 6000RPM in cars I'm tuning and without that WGDC dropoff you have and my WGDC is nothing like 100% anywhere above 2500RPM, that said I'm using a 3 port not the factory solenoid. It's not to do with a reference to a low octane BDEL that we found eearly on is it?

Lauri, slightly off topic but I don't know what duty cycle you're at now but I'm around the 75% mark at full load so I don't think there is that much headroom for E85 without dropping boost somewhat....

lateshow
18-03-2012, 12:08 PM
Yeah the problem was with me not realising how little the error correction table did, it works just like a std rom.

I don't know what Jason's doing wrong but I have close to 200% Load to over 6000RPM in cars I'm tuning and without that WGDC dropoff you have and my WGDC is nothing like 100% anywhere above 2500RPM, that said I'm using a 3 port not the factory solenoid. It's not to do with a reference to a low octane BDEL that we found eearly on is it?

Lauri, slightly off topic but I don't know what duty cycle you're at now but I'm around the 75% mark at full load so I don't think there is that much headroom for E85 without dropping boost somewhat....


Yeah im around that same mark too, maybe little less. I have to use less boost maybe for a while if im going to do this. Evo injectors arent cheap and im poor as usual.

I've been using this mechanical device to control boost and virtually same kind of results. at 6000rpm it cannot produce 200 load. And the mechanical device usually is the best.

foxdie
18-03-2012, 12:11 PM
foxdie and kenneth: We already have a system that can give you voltage 0-5V depending on the amount of ethanol in the fuel. Would it be hard to connect this to an analog input and the modify the KS 2.0 to use this value to change the maps.

I think this is possible, but you can only test if a voltage is above a certain threshold or not. You can't test to see if a voltage is within a particular range.

To use the secondary O2 sensor input (Connector D Pin 5) for map switching, use address F069 for the Memory Address and change the Activation Lookup scaling to Volts5_8bit. If this doesn't work reliably, try the 16bit version.

foxdie
18-03-2012, 12:12 PM
It's not to do with a reference to a low octane BDEL that we found eearly on is it?

It could well be that, refresh my memory what map this affected?

Regardless, I'll try the updated ROM / definitions next week :)

foxdie
19-03-2012, 06:30 PM
Okay, tested the new ROM and definitions;

The good The high octane and low octane target loads were indeed swapped around, now able to set WGDC all the way up to 100% :)
EvoScan now reckons (yes I programmed all the cars details into it) the car is making 276 AWHP - I take this with a pinch of salt, the rolling road in 4 weeks will confirm accuracy
The bad The Bit Mask input has either changed significantly since the alpha or the code is just totally broken
Speed limit appears to be broken too, despite using speed to switch maps, this requires further investigation
The ugly Looking like a prick as I tried to test the new ROM by racing a Seat Leon Cupra R off the lights and hitting the 4000 RPM rev limiter I put in for Valet map because the wrong map was selected /duh
I'm gonna do another test tonight, when I copied stuff from the alpha ROM across I didn't set the scaling, I just copy / pasted values expecting it to paste the raw hex value over the top. I'll update this thread tonight when I get home :)

foxdie
19-03-2012, 09:14 PM
Okay, I updated the scaling yet something very peculiar is going on here, Bit Field map selection just simply does not work for me with the latest release. I'm happy to put my hands up and confess to being a dunce if I am so, but this just does not make any sense and I've been working with this ROM for 3 months.

This is my current setup (green / red indicates whether map is intentionally disabled);

Map Number: Valet mode (Valet Switch on, low load target, little boost, 40 MPH speed limit) (Currently disabled due to no valet switch fitted)
Sport mode first gear torque limiter (Map Switch on, Speed > 4 KPH, GEAR > 120, TPS > 15%, Closed Loop Disabled) (Currently disabled to reduce testing complexity)
Sport mode running (Map Switch on, Speed > 4 KPH, TPS > 15%, Closed Loop Disabled)
Sport mode overrun (Map Switch on, Speed > 4 KPH, Closed Loop Disabled, Rich overrun with negative timing) (Currently disabled due to not working as intended)
Sport mode Anti-lag and Launch control (Map Switch on, TPS > 75%, Clutch down, Closed Loop Disabled)
Sport mode idling (Map Switch on)
Eco mode running (Speed > 10 KPH, low load target, little boost)
Eco mode idling & failsafe
Switches B-11 = Clutch Switch
B-14 = Map Selection Switch
My ECU is stuck on map 6 because the ECU thinks both my input switches (clutch switch for launch control and map selection switch for sport / eco) are enabled. For those questioning if the switch is working, note that both input switches (clutch switch and map switch) are affected, and were working fine this morning with the old testing release of V2.0.

Here's a screenshot of the map selection assignments for map 6;

51991

Note that the first Memory Address test is 0xFFFF (meaning "check switches" before selecting / skipping this map) and the bitfields are configured to activate if switch B-14 is connected to ground. No matter which position the switch was in, the ECU would still think it was connected to ground.

Also, when stationary and in neutral with the clutch pedal up, if I floored the accelerator I could trigger map 5 (anti-lag / launch control). This should only trigger if both B-11 and B-14 switches are connected to ground;

51992

In that map, the first Memory Address test is 0xF07A (Throttle Position Sensor) should match above 75% and the second Memory Address test is 0xFFFF (check switches), with both B-11 and B-14 switches needing to be activated to match this map. Neither switch were activated yet this map would still activate with the vehicle stationary and the throttle floored.

It's also worth noting that Gear Calc (Memory Address 0xF640) and Force Open Loop (KS Mods Setup Bits) are also buggered.

Ken / Steve / Lauri / anyone else, can you verify these findings for me please? I'd like to know I'm not going losing my marbles /Fever

Adam.Findlay
20-03-2012, 12:24 AM
I see to run antilag you have assigned one map purely for antilag/launch control is this because you cannot run it within another map like the previous KSmods rom (which i have currently) where the launch control is activated when the car is stationary and it disables when the abs rings pick up movement from dropping the clutch.

I ask because I would ideally like to have three switches hiden behind the pop out pannel underneath the electric mirror adjusting switch, (the pannel where the tcl swich is on PFL's) hidden away from people fiddling with them and only I know where they are and what they do. but if I need a clutch switch for the launch controller to be used I will wire in 2 switches behing this pannel and one clutch switch

lathiat
20-03-2012, 12:57 PM
I see to run antilag you have assigned one map purely for antilag/launch control is this because you cannot run it within another map like the previous KSmods rom (which i have currently) where the launch control is activated when the car is stationary and it disables when the abs rings pick up movement from dropping the clutch.

Adam, as I understand it:

The way the new KS MODS works is that 'anti lag' and 'launch control' are implemented by making a new map. So for example to get antilag you have a new timing map with retarded ignition in the right areas, for launch control a new map with a different RPM limiter, etc.

There is no longer any specific launch control or anti lag code.


Hence you would have to basically duplicate a map to get the AL/LC feature and use up an extra of your 8 maps.

foxdie
20-03-2012, 02:26 PM
Yep, both pro and con of using KS 2.0 is you're given a blank slate to program the ECU to do specific tasks as you see fit.

People think you need 3 switches to select between 8 maps, this isn't always the case. You can activate maps based on other aspects such as what position the throttle is in. You could implement anti-lag purely without any switches if you wanted to (test to make sure the vehicle is stationary and the accelerator is above 75% and there you go, activate anti-lag, as soon as the vehicle gets above 4 KPH revert to normal operating mode). The simple answer is unless you've got 8 different modes of operation that purely need to be operated via switched, you only realistically need 1 switch dash-mounted, possibly 2 if you want valet mode, and possibly a third switch connected to the clutch.

Incidentally, I found this clutch switch (http://cgi.ebay.co.uk/370474960284) to be an easy fit :)

You can also reuse fuelling and timing tables in multiple maps. To reinforce that point, there are 8 modes of operation (we call them "maps", I'm not sure this is the best word to use) and in addition to that, there are the following number of tables for each of the below;
8x Target Load Tables
8x Wastegate Duty Cycle Tables
8x Load Limit (Boost Cut) Tables
8x Fuel Tables
8x Ignition Timing Tables
The key point here is that there isn't one table per "map" (mode of operation), you can reuse one table in multiple maps, for example you can have 3 fuelling maps (anti-lag, high octane and low octane) and use the high / low octane for most maps (ie. both economy and sport modes) with the anti-lag map only used when in anti-lag mode.

For Anti-Lag, as Trent has outlined, you use one map that activates when Anti-Lag is required, this map would use one ignition timing table with all timing retarded above a certain RPM as well as all fuel set to run stupidly rich above the same RPM. Here is a example of how both tables would be configured for 4000 RPM;

52020

It's worth noting though that this is still a work-in-progress and builds boost most likely too quickly, as demonstrated in this Youtube video (http://www.youtube.com/watch?v=fmUCSKtWYE0).

lateshow
20-03-2012, 08:11 PM
Some clearing questions for Jason and Kenneth:

Im planning to try the E85 soon. Is there a way I can get the switched maps work in away the maps are changed only throught the 3 switches? And how will this work? Which inputs to the ecu? Do i ground the signals. Im planning to have 8 sets of maps for different mixes eg. map number one = 98E and map number eight= E85 and the ones in the middle interpolate between those values. Will this be possible?

lateshow
20-03-2012, 08:17 PM
And another question: Has anyone tested the "fuel primer enrich" because this will be vital with the RE85 fuel....

foxdie
20-03-2012, 10:40 PM
Some clearing questions for Jason and Kenneth:

Im planning to try the E85 soon. Is there a way I can get the switched maps work in away the maps are changed only throught the 3 switches? And how will this work? Which inputs to the ecu? Do i ground the signals. Im planning to have 8 sets of maps for different mixes eg. map number one = 98E and map number eight= E85 and the ones in the middle interpolate between those values. Will this be possible?

Right, in your use case you're only going to get 7 maps, you must reserve one map for "fallback", ie. low octane.

The switches I know to work perfectly are B-11 and B-14 (http://www.clubvr4.com/forum/showthread.php?59222-Definitive-EFI-ECU-Pinout-(KS-Mod-friendly)) that switch to ground, I tried using D-1 but had a bad experience (this signal goes live when the engine is cranked, triggering all injectors firing at the same time).

As we know B-11 and B-14 to be good, I would try the next GND switched pin which would be B-16, or if that's in use, try C-2.

As for actually switching between those maps, you could have 3 switches to select between the maps, but that's clumsy and easy to get wrong. I started to look into either a rotary binary switch (http://uk.farnell.com/lorlin/bcks1001/switch-rotary-hex-no-stop-ip65/dp/1876054) or a microcontroller such as an ATMega85 with a LED output to indicate which map was active, maybe there's an idea there for you? :)

Adam.Findlay
20-03-2012, 11:00 PM
hmm thats a shame as you must have an individual map for antilag for each fuel but thats ok just more fiddling to get setup, will go buy a clutch switch soon and wire in. cheers for clearing that up jason

foxdie
20-03-2012, 11:14 PM
hmm thats a shame as you must have an individual map for antilag for each fuel but thats ok just more fiddling to get setup, will go buy a clutch switch soon and wire in. cheers for clearing that up jason

How many fuel types are you creating maps for??

Just for the purposes of Anti-Lag, I don't foresee you needing multiple versions of the Anti-Lag maps per fuel type, the ignition timing table will be applicable to all fuels (you need to retard the timing to negative figures, that's a certainty), the fuel table is questionable, however as this map doesn't do anything under load you could set the non-antilag parts of the fuel table to averages of all the other fuelling tables in those matching cells, this should hopefully cover all fuel types ;)

Kenneth
20-03-2012, 11:37 PM
As Jason said.

Besides, if you run multiple fuel types with high/low octane maps, you will run out of maps before you run out of configurations. As such, adjust your injector scaling on a free configuration to get loads of fuel and then use the same ignition map across all anti-lag setups.

lathiat
21-03-2012, 03:49 AM
Can someone show me a photo of your clutch switch setup on the pedal?

I stole a brake switch off my wrecked PFL VR-4 but I'm not sure what to do with it.

foxdie
21-03-2012, 09:59 AM
Can someone show me a photo of your clutch switch setup on the pedal?

I stole a brake switch off my wrecked PFL VR-4 but I'm not sure what to do with it.

Oh go on then... this is an animated gif from 2 slightly different perspectives to help you see how I installed this brake switch (http://cgi.ebay.co.uk/370474960284) (click to open / animate)...

52032

lathiat
21-03-2012, 10:11 AM
Ohh you just replaced the factory stopper.. I see.. that should have been obvious.

foxdie
21-03-2012, 11:03 AM
Ohh you just replaced the factory stopper.. I see.. that should have been obvious.

52033 (http://www.youtube.com/watch?v=JD9d0ZrBnLE)

:evilgrin:

lateshow
24-03-2012, 06:11 PM
Right, in your use case you're only going to get 7 maps, you must reserve one map for "fallback", ie. low octane.

The switches I know to work perfectly are B-11 and B-14 (http://www.clubvr4.com/forum/showthread.php?59222-Definitive-EFI-ECU-Pinout-(KS-Mod-friendly)) that switch to ground, I tried using D-1 but had a bad experience (this signal goes live when the engine is cranked, triggering all injectors firing at the same time).

As we know B-11 and B-14 to be good, I would try the next GND switched pin which would be B-16, or if that's in use, try C-2.

As for actually switching between those maps, you could have 3 switches to select between the maps, but that's clumsy and easy to get wrong. I started to look into either a rotary binary switch (http://uk.farnell.com/lorlin/bcks1001/switch-rotary-hex-no-stop-ip65/dp/1876054) or a microcontroller such as an ATMega85 with a LED output to indicate which map was active, maybe there's an idea there for you? :)


We are trying to build a device that converts the ethanol % sraight into a mix of three outputs that can be grounded?

What about low octane fuel, how does low octane fuel and ignition work in KS 2.0. If i get knock what does ecu do, which map number it uses for interpolation?

Jason: are we still using chat, if so, log on someday and we can discuss this matter?

foxdie
24-03-2012, 09:16 PM
We are trying to build a device that converts the ethanol % sraight into a mix of three outputs that can be grounded?

What about low octane fuel, how does low octane fuel and ignition work in KS 2.0. If i get knock what does ecu do, which map number it uses for interpolation?

Jason: are we still using chat, if so, log on someday and we can discuss this matter?

Will answer these soon, making a flowchart :)

Adam.Findlay
05-04-2012, 05:56 AM
foxdie what metal inserts did you use to insert into the blank pin holes of the green ecu plugs.
I installed my clutch switch today and removed my ecu but couldnt pull one of the stock connectors out. hopefully scott still has his cut loom lying around so i can poach some inserts off that

foxdie
05-04-2012, 09:09 AM
Adam.Findlay I took them from an old wiring loom, far easier and accessible in quite a few Mitsubishis / Toyotas / Hyundais / Possibly even Mazdas :)

Adam.Findlay
05-04-2012, 09:24 AM
sweet i tried pillaging some from the spare loom from my flatmates mk3 supra but they were the wrong size. will go and get some from scott has he has a loom in bits. Thanks!

foxdie
05-04-2012, 10:25 AM
Adam.Findlay I believe I spotted on the net once the Supra looms were near identical to ours, be aware there's 2 pin sizes, large ones near the edges of connectors for high current purposes, and lower current smaller pins in the middle. It's the smaller ones you need for the switch inputs.

Adam.Findlay
05-04-2012, 10:35 AM
Yip i know that. the stock mk3 supra connectors were all the large type ones. maby you looked up mk4 supra ones.

lathiat
11-04-2012, 03:06 PM
The connectors are the same as Magna in Australia, might be able to pick up some connectors/harness cheap.. I had to destroy my connector to get the pins out.. seemed impossible to get them out.

I'd be happy to finish cutting up my connectors and post people out a set of 4 for $10 PP.

Adam.Findlay
14-04-2012, 04:09 AM
Hey Adam,

Map Tracer is picky about the names used in the tables, I found that removing the # characters from the names of the two hi octane ignition and fuel tables would allow them to load correctly.

I would load up a copy of the xml def file I was using but it is modified significantly from what Kenneth originally published to attempt to tidy it up and remove unused scalings. Just tweak the table names and see how you get on.

Cheers
pbaron could you please post your def files for evoscan Im having real trouble getting map tracer to show the extended maps want to tune for my cams ASAP

pbaron
14-04-2012, 05:50 AM
Here is one of the cutdown versions I was using, I just checked and this loads kens 1.03 image in maptracer.

You should be able to tweak it for the 2.0 image or use it as a guide. The 2.0 image is not available to download so I could not confirm that this def will work with it.

Cheers

52710


pbaron could you please post your def files for evoscan Im having real trouble getting map tracer to show the extended maps want to tune for my cams ASAP

foxdie
17-04-2012, 10:08 PM
More documentation time!

Although Ken is working on a Windows app to help automate setting up his ROM, the following documentation should help people in the short term understand how certain complicated parts of this ROM tick. Hope it helps someone :)

Download link:
http://dl.dropbox.com/u/36481366/ECU/ksmod2flow.pdf

Preview:
52860

scott.mohekey
17-04-2012, 10:10 PM
Link is broken!

foxdie
17-04-2012, 10:13 PM
Fixed, seems the forum software decided to turn the PDF into an image, d'oh :)

Kenneth
24-04-2012, 04:51 AM
Update:

Jason was right, the image I had up was FUBAR. It has been corrected now.

I have also added a little program (Requires .Net framework 4.0 or it won't work). The program isn't finished and I make no guarantees about it working. Use it if you like.

Some notes on the program

You can change the configuration names on the matrix tab
Some of the values have scalings (such as tps) which add stuff like a % sign. When editing the value, don't put a % sign or it wont work. And don't prefix hex with 0x.
In theory you can change the names of the maps too, but I haven't finished that yet.


The idea is that it makes it easier to setup the maps as you can better see what you have done. I wrote the program for myself but thought someone else might find it useful.

scott.mohekey
24-04-2012, 05:25 AM
The new app looks good Kenneth. I'm going to have to reread all of this heavily when it comes time to setup and tune my car with the extra turbo etc. But you've made it more than possible to go to ridiculous extremes like I'm planning with my car using the stock ecu, and for that I thank you! I'll definitely be flicking you some money when it comes time to get everything up and running.

Adam.Findlay
24-04-2012, 08:05 AM
cheers Pbaron didnt end up needing it carl and i got it all sorted and switched maps are go! just need to spend some serious petrol money on tuning the maps..

Kenneth
25-04-2012, 10:04 AM
feck. Another error found.

I am currently writing more code in the configuration program and since it actually does the same sort of thing as the ECU to do lookups, its finding typos :(

I'll amend the first post when it is fixed. In the mean time, don't use WGDC map 5 :P

foxdie
25-04-2012, 10:21 AM
In the mean time, don't use WGDC map 5 :P

Although it'd be good to have fixed for completeness, I doubt this'll be a hassle to anyone Ken, it's not like they've not got another 7 WGDC maps to play with ;)

DsrVR4
11-05-2012, 11:37 AM
Hello guys, i have made a setup with TD04 13G ( GTO turbos ) in my VR4 and now i'm trying to tune this one with the KS Mod V2 but i need the STARTING IPW ADDER vs TEMP because i use E85 and i have a very bad starting.
I don't find this map in the Ks Mod V2, she is available ???

It is this MAP
53340


Thanks

SAF68
17-05-2012, 11:39 PM
Hey all !!

No ansewer on last post??

For all please , i would like to know if 'im right :

For the scaling:

<scaling name="IPW mcsec" units="mcSec" toexpr="x*432/1000" frexpr="x/432*1000" format="%.0f" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<scaling name="StartupIPWTime" units="ms" toexpr="x*0.008" frexpr="x/0.008" format="%.1f" min="0" max="500" inc="1" storagetype="uint16" endian="big"/>

For the table:

<table name="Cranking Enrichment IPW Adder (Main)" category="Fuel" type="2D" level="2" scaling="TimeInjCranking">
<table name="Coolant Temperature" type="Y Axis" elements="8" scaling="Temp"/>
</table>

<table name="Cranking Enrichment IPW Adder " category="Fuel" type="2D" level="2" scaling="TimeInjCranking">
<table name="Coolant Temperature" type="Y Axis" elements="8" scaling="Temp"/>
</table>

If yes , it will be nice , because cold start with E85 is little hard!

Thank's all

Saf

BCX
18-05-2012, 12:18 AM
i believe the table your after is already defined in my defs... just haven't applied a scaling to it.

If not, i can have a look for it.

Kenneth
18-05-2012, 04:05 AM
Table names and scaling names / formulae are courtesy of a definition for E5/6 compiled by Merlin

<scaling name="Start_IPW_Coefficient" units="mSec" toexpr="x*0.3858" frexpr="x/0.3858" format="%.3f" min="0" max="111" inc="0.386" storagetype="uint8" endian="big"/>

<table name="Cranking IPW" address="115f0" category="Fuel" type="2D" scaling="Start_IPW_Coefficient">
<table name="Engine Temperature" address="2d0be" type="Y Axis" elements="9" scaling="Temp"/>
</table>


<scaling name="Start_IPW_Shot" units="mSec" toexpr="x*0.004" frexpr="x/0.004" format="%.3f" min="0" max="262.14" inc="0.004" storagetype="uint16" endian="big"/>

<table name="Cranking IPW Extra-Shot" address="1033a" category="Fuel" type="1D" scaling="Start_IPW_Shot"/>

BCX
18-05-2012, 04:37 AM
Cheers mate, i'll amend my defs to apply the scaling... hope to have a new version published soon (will try and incorporate KSMods too)

Off topic: i have some stuff defined for 7201 roms.

SAF68
18-05-2012, 10:56 AM
Table names and scaling names / formulae are courtesy of a definition for E5/6 compiled by Merlin

<scaling name="Start_IPW_Coefficient" units="mSec" toexpr="x*0.3858" frexpr="x/0.3858" format="%.3f" min="0" max="111" inc="0.386" storagetype="uint8" endian="big"/>

<table name="Cranking IPW" address="115f0" category="Fuel" type="2D" scaling="Start_IPW_Coefficient">
<table name="Engine Temperature" address="2d0be" type="Y Axis" elements="9" scaling="Temp"/>
</table>


<scaling name="Start_IPW_Shot" units="mSec" toexpr="x*0.004" frexpr="x/0.004" format="%.3f" min="0" max="262.14" inc="0.004" storagetype="uint16" endian="big"/>

<table name="Cranking IPW Extra-Shot" address="1033a" category="Fuel" type="1D" scaling="Start_IPW_Shot"/>

Thank's a lot Sir . I add this code on your KSModsBase and i'll try this afternoon on the car ...

Big thank's

Saf

Kenneth
18-05-2012, 08:43 PM
Let us know how it goes.

Please also post up your values for E85, It would be a great help for those of us considering going with E85.

SAF68
18-05-2012, 09:22 PM
Which value do you want?

Saf

foxdie
19-05-2012, 10:56 PM
Speaking of values, can someone outline the functions behind Coil Settings 1, 2 & 3? I need to increase dwell to hopefully resolve an intermittent spark blowout issue, a couple of the above tables seem to be time vs voltage with values in the regions of what I am looking for, but as there is no definition behind each table I'm not willing to risk it without a second opinion :)

SAF68
20-05-2012, 11:23 AM
Hello Foxdie , Go with HKS dli , if you've missfire !

The Twin Power Ignition Amplifier is an easy-to-install ignition upgrade that continuously monitors the charge condition of the coil to allow the system to recharge to its maximum capacity without overcharging. The Twin Power provides optimum spark duration and voltage output resulting in crisper throttle response & more horsepower. it is a combination of CDI (Capacitive Discharge Ignition) and Transistor ignition in one package. The CDI segment is effective a producing high voltage, but only for a short time period, like most performance ignitions on the market. Therefore, the Transistor segment controls current to the coil (impedance matching circuit) & promotes a longer spark duration. The combination of the CDI & Transistor system creates higher RPM horsepower & lower RPM throttle response. This system amplifies the stock ignition, but does not replace your existing system.


Saf

Kenneth
20-05-2012, 10:01 PM
All of the settings in various tables for running E85 would be nice, if you don't mind sharing them.


Which value do you want?

Saf

BCX
21-05-2012, 03:41 AM
Speaking of values, can someone outline the functions behind Coil Settings 1, 2 & 3? I need to increase dwell to hopefully resolve an intermittent spark blowout issue, a couple of the above tables seem to be time vs voltage with values in the regions of what I am looking for, but as there is no definition behind each table I'm not willing to risk it without a second opinion :)

I can look at the disassmbly and let you know exactly what each table is doing... if you want to increase dwell, i'd play with coil table 2 from memory.

Also note - Shtiv's played with these tables, there is a hidden adder of about 1ms or something like that from what the table show you. It's on my to-do list to workout whats actually going on here (and how the three tables are related), but he scoped it and the timings are 1ms out. he might be able to elaborate on this more.

Kenneth
21-05-2012, 05:27 AM
Again, thanks to Merlin for the Evo definitions which gave the names and scalings.

I still can't find any adder, though I haven't spent a LOT of time on it.


<scaling name="BatteryVoltage" units="Volts" toexpr="x*75/1024" frexpr="x*1024/75" format="%.2f" min="0" max="18.75" inc="0.5" storagetype="uint16" endian="big"/>
<scaling name="ChargeCurrent" units="Alternator Max Charge Current - Ampere" toexpr="x*80/256" frexpr="x*256/80" format="%.1f" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<scaling name="ChargeTime" units="mS" toexpr="x*0.064" frexpr="x/0.064" format="%.2f" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<scaling name="ChargeTimeOffset" units="mS" toexpr="x/256" frexpr="x*256" format="%.3f" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>



<table name="Ignition Coil - Dwell Time" category="Ignition Parameters" address="11fba" type="2D" scaling="ChargeTime">
<table name="Battery" address="2cec4" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil - Dwell Correction RPM" category="Ignition Parameters" address="10524" type="1D" scaling="RPMLimit_16bit"/>

<table name="Ignition Coil - Dwell Time Correction 2" category="Ignition Parameters" address="11fd6" type="2D" scaling="Percent128_8bit">
<table name="Battery" address="2cec4" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil - Dwell Time Correction 1" category="Ignition Parameters" address="11fc8" type="2D" scaling="ChargeTimeOffset">
<table name="Battery" address="2cec4" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

SAF68
21-05-2012, 10:07 AM
All of the settings in various tables for running E85 would be nice, if you don't mind sharing them.

For sure , but now , i'm try to obtain a solid LTFT & STFT ... NEED times :(

Saf

foxdie
21-05-2012, 10:58 AM
I actually started looking into this last night, doing a lot of reading and finally settling on the following as being the best possible definitions for the tables (these were published by Merlin literally 3 months ago to the day) and is the result of a lot of work by some smart guys on evolutionm.net (http://forums.evolutionm.net/ecuflash/451887-coil-dwell-stock-ecu-again.html).

I can't guarantee these are instantly compatible with our cars, but should serve as a great reference point to update the defs, usage info is after the following XML;


<!-- SCALINGS -->

<scaling name="ChargeTime" units="mS" toexpr="x*0.064" frexpr="x/0.064" format="%.2f" min="0" max="16.32" inc="0.064" storagetype="uint8" endian="big"/>

<scaling name="BatteryVoltage" units="Volts" toexpr="x*75/1024" frexpr="x*1024/75" format="%.2f" min="0" max="18.75" inc="0.5" storagetype="uint16" endian="big"/>

<scaling name="CF256" units="Correction Factor" toexpr="x/256" frexpr="x*256" format="%.3f" min="0" max="2" inc="0.0039" storagetype="uint8" endian="big"/>

<scaling name="Percent128" units="%" toexpr="x/1.28" frexpr="x*1.28" format="%.0f" min="0" max="100" inc="1" storagetype="uint8" endian="big"/>

<scaling name="BattVoltDwell%" units="%" toexpr="x*75/1024" frexpr="x*1024/75" format="%.2f" min="0" max="18.75" inc="0.5" storagetype="uint16" endian="big"/>

<scaling name="RPMLimit" units="RPM" toexpr="7500000/x" frexpr="7500000/x" format="%.0f" min="0" max="9000" inc="60" storagetype="uint16" endian="big"/>


<!-- Coil settings for Evo6, ROM ID 25570000 -->

<table name="Ignition Coil, Dwell-Time" address="1229e" category="Timing" type="2D" scaling="ChargeTime">
<table name="Battery" address="2c7c8" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Reduction RPM" category="Timing" address="10A46" type="1D" scaling="RPMLimit"/>

<table name="Ignition Coil, Dwell-Time Reduction Factor" address="122ac" category="Timing" type="2D" scaling="CF256">
<table name="Battery" address="2c7c8" type="Y Axis" elements="9" scaling="BatteryVoltage"/>
</table>

<table name="Ignition Coil, Dwell-Time Correction 2" address="122ba" category="Timing" type="2D" scaling="Percent128">
<table name="Battery" address="2c7c8" type="Y Axis" elements="9" scaling="BattVoltDwell%"/>
</table>

And to summarise use as I now understand it;

Ignition Coil, Dwell-Time is a baseline for what coil dwell (charge duration) should be, this is used up until 2800 RPM without any adjustments. Above 2800 RPM the ECU starts to apply a reduction factor (because the theory being the coils will now have less time to charge), this is controlled via Ignition Coil, Dwell-Time Correction 2 and Ignition Coil, Dwell-Time Reduction Factor. The faster the engine spins, the more the reduction factor is applied.

So to summarise, Ignition Coil, Dwell-Time will be the maximum dwell time across the board, with the other two tables controlling how quickly dwell drops off. It's a little more involving than that, but those are the basics. How this translates to our current definitions is speculative based on what I've seen on the other forums..

53748

Coil Settings 1 = Ignition Coil, Dwell-Time Reduction Factor
Coil Settings 2 = Ignition Coil, Dwell-Time
Coil Settings 3 = Ignition Coil, Dwell-Time Correction 2

As I say, that is speculative and there's a good chance it could possibly be wrong. I'm gonna plot the actual formulas in a graph and post the results to see if it all tallies up.

foxdie
21-05-2012, 02:16 PM
So after further investigation, I'm now utterly confused. I could do with some disassembly advice from BCX or Kenneth to complete the following;

53760

As you can see, it tails off way too quickly. The formula I used is the one Merlin posted on EvolutionM.net (http://forums.evolutionm.net/9995179-post81.html), Correction 2 (ms) doesn't get used for example. It's all a bit hairy-fairy and I'd like to nail this down :)

BCX
21-05-2012, 03:27 PM
From an disassembly perspective, the values in these tables are loaded directly into the timer used to drive the coils.

When i get a chance, i'll have a look at how the timer is configured and work backwards from that.

Kenneth
21-05-2012, 10:52 PM
Jason, the definition I posted a few posts back is exactly those 3 tables, you can cross reference the table addresses in the original VR-4 definition to find out which were which.

I did this by disassembling the Evo5/6 ROM, finding the code which deals with the coil timings (fairly close to the VR-4 code actually) and renaming/scaling the VR-4 ones as per the Evo ones.

If the evo ones are correct, so are the ones I posted. (Which were from Merlin)

BCX
22-05-2012, 12:47 AM
Had a quick look at the disassembly, prescaler for timer is set to divide by 64 (CPU clock is the reference)

H8 is clocked at 16mhz, means each time the counter decrements, time is 4uS (microseconds). Values in table(s) are loaded into timer, then timer counts back to 0.

For example, if value is 5 then 5 x 4 = 20uS coil is set to dwell.

while the timer is counting, relevant pin in held high. timer has 4 i/o, one is used as interupt from a sensor (cant remember what sensor, have to check my notes, it's not CAS), other three pins drive each coil.

I've run out of time atm, should be doing work :p but i'll post up how the coil timings are calculated and what the three tables do from a disassembly perspective.

Kenneth
25-05-2012, 03:48 AM
Have updated the ROM again and should have fixed the WGDC map 5.

Kenneth
09-07-2012, 09:53 PM
may have been a bit ahead of myself... will do some checking first :P

Kenneth
09-07-2012, 10:18 PM
False alarm, the scaling has been updated previously to show the - symbol when timing is after TDC

Davezj
15-03-2013, 01:14 AM
this is for you guys that want to use kenneth's map switching for running ethanol based fuel and petrol based fuel without having to empty the tank before you fill up with the other fuel.
appartently it is done with an external sensor that monitors the percentage of ethanol to pertol and this is feed into the ecu which interpolates between the petrol and ethanol fuel and ignition maps
to give you the correct configuration depending on what mix of fuel you have in the tank.
well that is how i read it.

this is from the evolutionM.net web site and it seems to be quite a good write up, i thought the bones of it could be used and ported accross and used rather than building from scratch.
http://forums.evolutionm.net/ecuflash/629073-freefuel-ecu-patch-flex-fuel-implementation-evo-ecu.html

hope this helps someone.

Kenneth
15-03-2013, 02:05 AM
If you want to go with flexi-fuel, you should also look at this thread: http://www.clubvr4.com/forum/showthread.php?67117-E85-fuel-mods&highlight=flexifuel

Davezj
15-03-2013, 11:04 AM
sorry post in wrong thread.

rotorB
21-05-2013, 12:26 PM
Hi everyone, what address for Minimum IPW is in that ROM?

rotorB
26-05-2013, 04:56 PM
116af address for "Injector Latency v Battery Voltage" in def file is wrong, the correct address is 115a2.

Grid
06-03-2017, 11:08 AM
Post removed, reason: PEBKAC

Grid
10-03-2017, 10:21 AM
Can anybody shed some light on the coil settings - I can see two dwell tables, what is the difference?
76848

Davezj
10-03-2017, 02:23 PM
Can anybody shed some light on the coil settings - I can see two dwell tables, what is the difference?
76848

have you looked at post 88 in this thread.

Grid
10-03-2017, 03:41 PM
have you looked at post 88 in this thread.

Just did... some info, but it seems that the discussion was never concluded :(

Grid
10-03-2017, 03:48 PM
I will be putting in a COP kit in the weekend. I found some specs on the dwell time for the coils I am about to install, but no clear idea how to put the value into the KS2.0 ROM. Table 2 is a starting point, but the role of tables 1 and 3 is unclear when reading back in this thread. Getting the dwell time wrong is an easy way to either have weak spark or to fry the coils.

merlin
26-04-2017, 11:02 AM
The first table in the coil group is the Dwell Time, in mSeconds.

The second table is the Reduction Factor, reducing the values in this table will result in more Dwell Time at redline.
Most COP coil on plug setups can be run with this table set to zero ie no Dwell reduction.


This table shown here (the third table in the coil group)

<table name="Ignition Coil, Dwell-Time Correction 2" address="122ba" category="Timing" type="2D" scaling="Percent128">

Is just the maximum Dwell percent that will be applied, regardless of any other settings in the other two tables.

Grid
08-04-2018, 11:28 PM
Is just the maximum Dwell percent that will be applied, regardless of any other settings in the other two tables.

Cheers for answering. Also I managed to make the tables and scalings look the part. https://www.clubvr4.com/forum/showthread.php?77455-Coil-settings-in-ECUFlash

Next topic I want to figure out is the alternator maps... I saw some of your posts on MLR about this for Evo 6. Have you ever found the right location in a VR-4 ROM?

For reference, Evo 6:

<scaling name="ChargeCurrent" units="Alternator Charge Current - Ampere" toexpr="x*80/256" frexpr="x*256/80" format="%.1f" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>

<scaling name="AltDeadZone" units="Charge Efficiancy %" toexpr="x/2.56" frexpr="x*2.56" format="%.0f" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<table name="Alternator Charge Current" category="Alternator" address="4643" type="3D" swapxy="true" scaling="ChargeCurrent">
<table name="Load" address="71d0" type="X Axis" elements="9" scaling="Load16"/>
<table name="RPM" address="6106" type="Y Axis" elements="10" scaling="RPM"/>
</table>

<table name="Alternator G Terminal Dead Zone" category="Alternator" address="46a4" type="2D" scaling="AltDeadZone">
<table name="RPM" address="6106" type="X Axis" elements="10" scaling="RPM"/>
</table>

Davezj
12-07-2021, 12:08 AM
The first table in the coil group is the Dwell Time, in mSeconds.

The second table is the Reduction Factor, reducing the values in this table will result in more Dwell Time at redline.
Most COP coil on plug setups can be run with this table set to zero ie no Dwell reduction.


This table shown here (the third table in the coil group)

<table name="Ignition Coil, Dwell-Time Correction 2" address="122ba" category="Timing" type="2D" scaling="Percent128">

Is just the maximum Dwell percent that will be applied, regardless of any other settings in the other two tables.

I have fitted a coil on plug kit which is still used in wasted spark configuration.
i understand the description of the first two tables but i dont know what is meant by the description of the 3rd table.

This table shown here (the third table in the coil group)

<table name="Ignition Coil, Dwell-Time Correction 2" address="122ba" category="Timing" type="2D" scaling="Percent128">

Is just the maximum Dwell percent that will be applied, regardless of any other settings in the other two tables.

percentage of what? and if it is not related to either of the two tables in this group what is it related to?

jahooli
12-07-2021, 11:16 PM
I have a PFL and would love the FL ecu and a good map, do you guys still do these?
Cheers
Paul

Confused
13-07-2021, 07:51 AM
I have a PFL and would love the FL ecu and a good map, do you guys still do these?
Cheers
Paul

Hi Paul, we're having a dyno day on Saturday 11th September, foxdie is still doing mapping, and I think he's still got some FL ECUs available - get in touch with him and I'm sure he'll sort you out.

jahooli
13-07-2021, 11:26 AM
Hi Paul, we're having a dyno day on Saturday 11th September, foxdie is still doing mapping, and I think he's still got some FL ECUs available - get in touch with him and I'm sure he'll sort you out.

Will do, could I add my attendance on the Saturday if there are places left, I cant do sunday and can I bring my young un?

Confused
13-07-2021, 11:27 AM
Will do, could I add my attendance on the Saturday if there are places left, I cant do sunday and can I bring my young un?

Sure, all the details are here: https://www.clubvr4.com/forum/showthread.php?80451-Garage-Weekend-11-12-September-2021

Xaxasv6
13-04-2024, 08:15 PM
Cheers mates,

I finally upgraded my ecu to 2.0... And now I want my launch control back. Is there a Rom file with launchcontrol and antilag(I dont think a vr4 will run antilag like a evo8 right?) ? Did someone manage to create one as a base to work with?

Greets from Germany
Philipp