Instructions to change fuel maps on 14CUX Griffith, Chimaera

Instructions to change fuel maps on 14CUX Griffith, Chimaera

Author
Discussion

davep

1,143 posts

284 months

Thursday 2nd February 2017
quotequote all
Frol said:
Hello! No, i mean this- TABLE 1-5 MAF Scalar Offset at 0x1C7 in prom.
That data section offset contains a predefined data value ($001E) used to determine if range clipping is required on the Row Index value:

Calculate Fuel Map Load Value (Row Index)
This value is calculated from both air flow and engine speed. The Linearized MAF is calculated above and is stored in the normal
X204D/4E locations and the X00CA/CB temporary location. The row index value is clipped low at 0x00 and high at 0x70 so that it
is confined to the range of the 8 row fuel map table.

ldd ignPeriod ; load 16-bit ignition period (instantaneous)
jsr mpy16 ; call 16-bit mpy routine, mpy ignPeriod by mafLinear
subd $C1C7 ; data value is $001E (subtract this)
bcc .LDF61 ; branch ahead if value is still positive
clra ; else, clear A
bra .LDF6F ; and branch

.LDF61 lsrd ; logical shift right double
tsta ; test A for zero
bne .LDF6D ; branch ahead to load $70
ldaa $200A ; X200A gets initialized from fuel map byte offset $10A
mul
cmpa #$70 ; compare A with $70
bcs .LDF6F ; if A <= $70, branch to store as fuel map row index

.LDF6D ldaa #$70 ; else store $70

.LDF6F staa fuelMapLoadIdx ; store value as 'fuelMapLoadIdx'


Frol

16 posts

87 months

Thursday 2nd February 2017
quotequote all
davep said:
That data section offset contains a predefined data value ($001E) used to determine if range clipping is required on the Row Index value:

Calculate Fuel Map Load Value (Row Index)
This value is calculated from both air flow and engine speed. The Linearized MAF is calculated above and is stored in the normal
X204D/4E locations and the X00CA/CB temporary location. The row index value is clipped low at 0x00 and high at 0x70 so that it
is confined to the range of the 8 row fuel map table.

ldd ignPeriod ; load 16-bit ignition period (instantaneous)
jsr mpy16 ; call 16-bit mpy routine, mpy ignPeriod by mafLinear
subd $C1C7 ; data value is $001E (subtract this)
bcc .LDF61 ; branch ahead if value is still positive
clra ; else, clear A
bra .LDF6F ; and branch

.LDF61 lsrd ; logical shift right double
tsta ; test A for zero
bne .LDF6D ; branch ahead to load $70
ldaa $200A ; X200A gets initialized from fuel map byte offset $10A
mul
cmpa #$70 ; compare A with $70
bcs .LDF6F ; if A <= $70, branch to store as fuel map row index

.LDF6D ldaa #$70 ; else store $70

.LDF6F staa fuelMapLoadIdx ; store value as 'fuelMapLoadIdx'
Thank You!!!!

jjohnson23

699 posts

113 months

Thursday 2nd February 2017
quotequote all
Hello all,its been a while since i`ve been on here so its good to see there is plenty activity.
One of the things I have noticed on other sites is the statement that the 14cux is not able to deal with spercharged engines.I can only assume that this is because the ecu will not cope with the non linear airflow (a 3.9 engine may be drawing a 5.0l engines airflow under boost)into the engine and of course does not use a map sensor.
Is this true or is it a case that it can be done but is difficult to do?
By the way,keep up the good work Colin,Dan,Steve et al.

stevesprint

Original Poster:

1,114 posts

179 months

Thursday 2nd February 2017
quotequote all
Frol
Welcome and thanks for your interesting questions, your English is great.

Your 3604 prom is new to me and I would appreciate a copy for my collection, is your Discovery 1 originally Russian and what tune do you run?

0x1C7 is the AFM / Row centre offset and there is only one per prom unlike the AFM / Row scalar with 1 per fuel map.

You should be able to leave the row offset at 1E and simply change the AFM / Row scalar so the active row hovers between the last two rows on full load, Increasing the row scalar expands the active row down the table and decreasing it holds it higher up the table.

Row scalar extends and shrinks the usable range of the table and the offset moves the centre point of the usable range up and down and could be used to keep idle on row 2.

To increase the frequency & rpm range of RoverGauge’s active row/column turn off all unnecessary RoverGauge sensors in Options –> Edit Settings, for an even more accurate row/column reading turn on logging and check the highest value of currentFuelMapRow, I personally aim for 6.9 instead of 7 because that maximises the table and you also know it doesn’t overshot.

Sorry I don’t know what the 3 x 8 MAF table at C196 is used for but I’m pleased you’ve asked as it will be fun to investigate and could be useful.

For starting at –32C is might be worth trying Land Rover’s final (Operation Pride) R3652 cold weather prom.

The COTrim is only effective in maps 1,2 & 3 up 3,400rpm. Its basically manual control of the Lambda long term trim and its effect gradually decays towards 3,400rpm.

Good Luck
Steve

spitfire4v8

3,991 posts

181 months

Friday 3rd February 2017
quotequote all
jjohnson23 said:
Hello all,its been a while since i`ve been on here so its good to see there is plenty activity.
One of the things I have noticed on other sites is the statement that the 14cux is not able to deal with spercharged engines.I can only assume that this is because the ecu will not cope with the non linear airflow (a 3.9 engine may be drawing a 5.0l engines airflow under boost)into the engine and of course does not use a map sensor.
Is this true or is it a case that it can be done but is difficult to do?
By the way,keep up the good work Colin,Dan,Steve et al.
Hi, for low level boost you can certainly use the 14CUX .. I've mapped a handful of cars now on supercharger and turbo. Obviously the ignition timing can't be altered on boost unless you run a boost retard vacuum/pressure module, but on light boost it's not been required on the cars I've done (5-6psi).
During the mapping process i've just approached it as I would a normally aspirated car .. even the std fuel regulator is 1:1 adding above boost pressure on light boost. Don't use high boost without a proper boost-specific reg though, the std ones just shut full closed at high boost and the fuel pressure goes through to the pump max.

Frol

16 posts

87 months

Friday 3rd February 2017
quotequote all
stevesprint said:
Frol
Welcome and thanks for your interesting questions, your English is great.

Your 3604 prom is new to me and I would appreciate a copy for my collection, is your Discovery 1 originally Russian and what tune do you run?

0x1C7 is the AFM / Row centre offset and there is only one per prom unlike the AFM / Row scalar with 1 per fuel map.

You should be able to leave the row offset at 1E and simply change the AFM / Row scalar so the active row hovers between the last two rows on full load, Increasing the row scalar expands the active row down the table and decreasing it holds it higher up the table.

Row scalar extends and shrinks the usable range of the table and the offset moves the centre point of the usable range up and down and could be used to keep idle on row 2.

To increase the frequency & rpm range of RoverGauge’s active row/column turn off all unnecessary RoverGauge sensors in Options –> Edit Settings, for an even more accurate row/column reading turn on logging and check the highest value of currentFuelMapRow, I personally aim for 6.9 instead of 7 because that maximises the table and you also know it doesn’t overshot.

Sorry I don’t know what the 3 x 8 MAF table at C196 is used for but I’m pleased you’ve asked as it will be fun to investigate and could be useful.

For starting at –32C is might be worth trying Land Rover’s final (Operation Pride) R3652 cold weather prom.

The COTrim is only effective in maps 1,2 & 3 up 3,400rpm. Its basically manual control of the Lambda long term trim and its effect gradually decays towards 3,400rpm.

Good Luck
Steve
Thank You!
Your web is down, i didn't find Your e-mail. I will send to you copy of prom made by RoverGauge.
I don't know history of my car, but my proposal that it's not for Russian market. Most possible it came from Europe. I get this car in terrible condition, when i both it hiway gasoline consumption at 90 km\h was 30 L\100km ))))) Now I have aprox 16. Engine 3.9 9.35CR it was map 5 with dead O2 sensors and total wrong ignition timing. Also previos owner try to connect Zr-O2 sensors to ECU. Fuel pressure was 3-3.5 and not original injectors.
Injectors and pressure regulator was from Russian car- GAZ.
Now ignition and pressure OK. But still to reach. COtrim 0.04. Map 2. Injectors Bosch 0 280 158 107 . So I want to adjust AFR with these injectors.
I asking about AFM / Row centre offset because i don't like that at speed 110 km'h ECU use row 5-6. And at idling it's ok, row 2.
It's good idea to use R3652. I will do it.
Thank you for your answers! Now COtrim is clear!

stevesprint

Original Poster:

1,114 posts

179 months

Friday 3rd February 2017
quotequote all
Sorry about my website, it was attacked but now restored and safe, please use this link.
http://www.stevesprint.com/remap-14cux/bins

Thanks for offering to email me your 3604 tune, I’m very interested as it could contain the final code but without the cold weather data like R3652.

As your PistonHeads profile doesn’t accept private messages please send me a private message via Pistonsheads and I’ll reply with my email address, I don’t publish my email address to stop spam/junk email, sorry.

I’m impressed with all the work you’ve done on your Discovery.
Thanks and good luck.

Frol

16 posts

87 months

Saturday 4th February 2017
quotequote all
May be Dan can help with these 3x8 MAF table?

Edited by Frol on Saturday 4th February 11:35

stevesprint

Original Poster:

1,114 posts

179 months

Sunday 5th February 2017
quotequote all
jjohnson23 said:
Hello all,its been a while since i`ve been on here so its good to see there is plenty activity.
One of the things I have noticed on other sites is the statement that the 14cux is not able to deal with spercharged engines.I can only assume that this is because the ecu will not cope with the non linear airflow (a 3.9 engine may be drawing a 5.0l engines airflow under boost)into the engine and of course does not use a map sensor.
Is this true or is it a case that it can be done but is difficult to do?
By the way,keep up the good work Colin,Dan,Steve et al.
Welcome back and thanks.

The Italian market had a de-stroked supercharged 2000cc Rover V8 in the TVR S that produced 223bhp. It was featured in a magazine back in summer 1991 so there is a good chance it ran with a 14CUX and would be a very interesting bin/tune file to see.

Stroke: 40.25mm
bore: 88.9mm
C/R: 8.1
Supercharger:1.8 bar
http://www.pistonheads.com/gassing/topic.asp?h=0&a...
http://www.mg-cars.net/mgb-gt-v8-technical-bbs/200...

There was also a short run of non-factory Sprintex supercharged 350SX & 400SX Wedges made by the Northern TVR Centre in the mid-1980s that were definitely fuel injected but must have been the earlier flapper 4CU system.
https://en.wikipedia.org/wiki/TVR_350i

The MAF table Frol is enquiring about looks like it might control the airflow linearization and is an area Dan is considering improving with an additional look up table.

Also the airflow linearization of the Bosch airflow meter that Mark Adams uses is difference to the standard 5AM and I assume he adjusts the main fuel table cells to compensate. I would have thought your biggest issue is not having mappable ignition timing but at least there are a few options.
Cheers, Steve

jjohnson23

699 posts

113 months

Sunday 12th February 2017
quotequote all
Thanks for the replies,useful information is always welcome.

danbourassa

246 posts

137 months

Monday 13th February 2017
quotequote all
Frol said:
May be Dan can help with these 3x8 MAF table?
Hi Frol,
If you are referring to the table at 0x1CA, this uses the air flow measurement to calculate a value which is stored in 'shortTrimAddValue'. I would guess that this is adjusting the rate of trim correction which apparently needs to be changed over the load range for stability reasons.

davep

1,143 posts

284 months

Tuesday 14th February 2017
quotequote all
danbourassa said:
Frol said:
May be Dan can help with these 3x8 MAF table?
Hi Frol,
If you are referring to the table at 0x1CA, this uses the air flow measurement to calculate a value which is stored in 'shortTrimAddValue'. I would guess that this is adjusting the rate of trim correction which apparently needs to be changed over the load range for stability reasons.
Guys, here's my take on the table: The code shows the 3x8 MAF Table being used together with current airflow values to calculate a variable called shortTrimAddValue that forms part of the MAF related Short Term Trim adjustment on the left or right injector bank, it is stored in Internal RAM at $0069 and initialised to $32. It (shortTrimAddValue) appears to be only used in the 'fuel lean' condition. The Short Term Trim value, to which shortTrimAddValue is added, has a range of 0 to 65,535 with a mid point at 32,768 (not sure where the decimal point goes in this time range value, 0 to 6.5 mS, or 0 to 655 uS). An increment from the shortTrimAddValue ensures fuel is added; since the default value is, as a minimum, 50 or 54.

Using the most recent high and low readings from the MAF (ADC Channel 2) an air flow range value is calculated and linearised:

Take an example range of 450 - 978, these two values are added and the result subjected to three shifts to the right, giving 178 in our example. The value 178 is transferred to the MSB accumulator and the number of columns, 8, is loaded in the LSB. It is this 16 bit value that is used in determining the MAF Table column number (0 to 7) via a compare and < loop function within the indexIntoTable subroutine.

A Short Term Trim 16 bit value is then determined by first subtracting the column cell ($7C from row 0, column 3, for example) from the air flow range value (178); this is loaded into the double accumulator as the MSB. The code then steps down to row 2 in the same column (giving $30), and this is loaded as the LSB. The MSB is now multiplied by the LSB giving a product of 2592 dec, which is then multiplied by four, so the total is now 10,368. To this value the cell contents from row 1 are added ($36 for example) giving a final value of 10,422, the MSB of which is now stored at $0069.

In the example, we're below the mid-point and in the region of fuel reduction but because the lean condition has been detected shortTrimAddValue corrects this by adding more fuel.

I think that's right. I've yet to figure out the significance/logic of the row 2 and row 1 assigned values (especially row 1).


Edited by davep on Monday 6th March 09:12

stevesprint

Original Poster:

1,114 posts

179 months

Sunday 19th February 2017
quotequote all
Finally the weather was good enough to get the Griff taxi out today and give RoverGauge’s new features a test drive.

You can see Colin has added two new settings, Road Speed Multiplier and offset which allow you to recalibrate RoveGauge’s Speedometer if required. The two settings worked as expected, so for example a multiplier of 2 doubles RoverGauge’s speedometer reading and the offset is added, or subtracted if negative. When the road speed is recalibrated there is a warning message below the speedo which you can see in the second screen shot. Please note RoverGauges's speedometer doesn't work on Griff 500s or Chimaeras as they are fitted with TVR fixed road speed signal generator.


Here's the new window showing the battery saved parameters that the ECU learns and saves even when the ignition is turned off.


A few of the main settings
Lambda Trims 42 & 46
High Fuel Temp 48
Fault Codes 49 –> E4
Stepper Motor Value 4F
Throttle POT Min Position 51


Colin,
Thanks again for the new features, plus I see you've also improved the logs & static data as required. RoverGauge keeps getting better & better, you're a star !!!

Edited by stevesprint on Sunday 19th February 21:44

davep

1,143 posts

284 months

Monday 20th February 2017
quotequote all
Thanks for road testing and showing the latest RoverGauge features Steve, they look good.

A couple of questions: What is the Road Speed Offset for? How do you determine what value to select and whether it's positive or negative?

Now the battery backed values can be viewed these can be checked as part of the 'disconnect/reconnect ECU' remedy, which is recommended by many for clearing errors causing starting problems, for example. wink

spitfire4v8

3,991 posts

181 months

Monday 20th February 2017
quotequote all
How are people getting on with the later versions of RG ? I can't get anything later than 084 to work .. apparently this coincides with a fundamental change in the way Colin updated it and not working with certain versions of windows?
It's not a problem as the earlier versions do everything I need and more thumbup just wondered how people are getting the later versions to work?

blitzracing

6,387 posts

220 months

Monday 20th February 2017
quotequote all
Not had a problem so far on windows 7 or windows 10. Whats it doing that stops it from working?

spitfire4v8

3,991 posts

181 months

Monday 20th February 2017
quotequote all
I'm on Vista .. I get as far as extracting the files from the zip folder but get faced with this :








the previous versions have all extracted perfectly

stevesprint

Original Poster:

1,114 posts

179 months

Monday 20th February 2017
quotequote all
spitfire4v8 said:
How are people getting on with the later versions of RG ? I can't get anything later than 084 to work .. apparently this coincides with a fundamental change in the way Colin updated it and not working with certain versions of windows?
It's not a problem as the earlier versions do everything I need and more thumbup just wondered how people are getting the later versions to work?
Joolz
I’ll bet you a beer its because you’re not also unzipping the sub-directory “platforms” that contains qwindows.dll which changed after version 8.4.

RoverGauge does not have an installation program so you can simply download and unzip http://www.remap-14cux.info/rovergauge-0.9.2-Windo... including the sub directories into a new folder anywhere on your computer. You do not have to delete your current working version, just use a new location and then create a link to the new version.


=== EDIT ====


Joolz
I've just seen your reply, looks like a windows file permission issue with platforms, I would try installing into a new location and then eventually try deleting the old. Are you logged on with administrator rights? Also, try immediately after a reboot.

Edited by stevesprint on Monday 20th February 20:58

jjohnson23

699 posts

113 months

Thursday 2nd March 2017
quotequote all
Regarding the TEMPERATURE FUEL MULTIPLIER TABLE.
I take it the top row is degrees F.
What do the two rows below show exactly?
Only asking as I find the engine will not tick over from a cold start but once its been running about a minute its fine.I can only think its a tad too lean when its stone cold as its fine when warmed up.
Thanks in advance,PJ.

spitfire4v8

3,991 posts

181 months

Thursday 2nd March 2017
quotequote all
jjohnson23 said:
Regarding the TEMPERATURE FUEL MULTIPLIER TABLE.
I take it the top row is degrees F.
What do the two rows below show exactly?
Only asking as I find the engine will not tick over from a cold start but once its been running about a minute its fine.I can only think its a tad too lean when its stone cold as its fine when warmed up.
Thanks in advance,PJ.
make sure all your basic mechanical settings are good to start with, it should hold a high rpm on cold start anyway so a poor tickover is possibly something more mechanical than ecu trim related. It could also be too rich rather than too weak of course ..
certainly on the tvrs the startup is very rich, 10afr from initial first start then weakening off.
ive found though that the load sites around idle (ie 700-1500rpm but load sites further down the fuel table because the stepper is open) are mapped too rich anyway, so you're running on an artificially rich part of the map, plus the richness of the warmup overfulling effect. Many tvrs exhibit a throttle-opening stalling effect from cold start which many think is a weak mix but is in fact the engine bogging down on too much fuel. You can see all this if you fit a wideband in the exhaust and look at what is actually happening to the mixture during the warm up period before the lambdas start cycling.
Make sure you've mapped the load sites around idle and 700-1500rpm / larger throttle openings properly before you get involved with modifying the warmup table, i've been pleasantly surprised how much the startup and warm up improves when you've got the basic fuel table correct, suggesting rthe startup and warmup tables arent that far out in reality.. at least on the sample of cars i've seen so far.