Shiftmaster Specific

tuner crashes

Thomas, what version of the ShiftMaster software are you running ? Also

check and see what the file attributes (date size) are on the tuner.dll

in ALL of your programs that access the Tuner (ShiftMaster, GUI, etc.).

I've seen people get caught in a "loop" where one version of their

software has the wrong tuner.dll, but the ShiftMaster has the correct

one. So when they do a Verify Tuner it says the board needs to be

upgraded so they click OK. Then download their mods with another program

that has the old .dll. That program hoses up the Tuner and the whole

thing starts over again.

I would bet, from what I've seen that *almost* every Tuner problem stems

from this. There is the occasional bad board, or "noisy" electrical

system too, but the above problem appears to be rampant.

The

tuner.dll from Shiftmaster 2.08 is what I copied over into GUI per

Raymond's e-mail. It is dated 3/31/2001 and had a file size of 160k. I

overwrote what was in there, but it had an earlier date, buy a month or so,

and if I recall it was 156k in size.

How to read in banks 1 and 8?

Download EEC Editor. It will download both EEC-V banks simultaneously while you work in the

foreground. Time to download is around 2 minutes. Filenames will be "eecb1.bin" and

"eecb8.bin" Another alternative is to read the following sequentially using the EEC Tuner

v2.08.

Barry, since I've been a nice guy, good you please send those bins to me. I've got a well

prepped 351 that could stand some Saleen style tuning.

BIN8 = Start: 0x2000 Length:0xE000

BIN1 = Start: 0x12000 Length:0xE000

Paul

How to read the shiftmaster screen

Robert, the timing tables are RPM vs load. RPM increases left to right

and load increases bottom to top. Also in our trucks MAP = Load.

GUI Specific

Shiftmaster to GUI idle air converstion

Gui Units Lbm/min

21.4748/IdleAirConstant = .7891

Idle Conversion Factor, Shiftmaster to GUI = 21.4748/.7891 = 27.214294766

TP Counts vs. Volts

TP does mean throttle position in the GUI, where 1023 is WOT, 1/2

throttle is ~510, and etc. To convert to volts divide the TP number by

1023 then multiply by 5 like this:

1023/1023*5 = 5v

640/1023*5 = 3.128v

Reading BANK8

The current directions on guieectuner.com is INCORRECT! Well, it's

correct except for one part. When you do step 1, which is to read

BANK8, it says to use 0x8000. That is only 32kb of data. That's

the wrong length.

You must enter 0xE000 for the length of both banks. So just change

the starting addresses to 0x2000 (BANK8) and 0x12000 (BANK1).

Writing to BANK8

------

The current GUI EEC Tuner software at is out

dated. It may be the latest .exe file, but the TUNER.DLL is NOT!

You must download the most recent TUNER.DLL file and place it into

the GUI EEC Tuner directory to WRITE to BANK8! The older tuner.dll

file can not write to BANK8.

You may be able to read Bank8, but you won't be able to make any

changes. It's in the files section, or at under

Software Updates. The March version is the one that is fixed.

I found out both of these problems the hard way... Beating my head

senseless for 5 days!!!

Normalizer Defined

A normalizer is what defines the X and Y axis in the GUI, same thing as a scalar in

ShiftMaster's software.

tuner crashes

Thomas, what version of the ShiftMaster software are you running ? Also

check and see what the file attributes (date size) are on the tuner.dll

in ALL of your programs that access the Tuner (ShiftMaster, GUI, etc.).

I've seen people get caught in a "loop" where one version of their

software has the wrong tuner.dll, but the ShiftMaster has the correct

one. So when they do a Verify Tuner it says the board needs to be

upgraded so they click OK. Then download their mods with another program

that has the old .dll. That program hoses up the Tuner and the whole

thing starts over again.

I would bet, from what I've seen that *almost* every Tuner problem stems

from this. There is the occasional bad board, or "noisy" electrical

system too, but the above problem appears to be rampant.

The

tuner.dll from Shiftmaster 2.08 is what I copied over into GUI per

Raymond's e-mail. It is dated 3/31/2001 and had a file size of 160k. I

overwrote what was in there, but it had an earlier date, buy a month or so,

and if I recall it was 156k in size.

GUIEEC ERRORS

There are some system files installed when you run the full

installation. Copying an installation to another PC will cause the

GUI to crash. I suggest deleting the

HKEY_CURRENT_USER/Software/GUIEECVT registry tree BEFORE doing a

fresh install. Make sure you keep your .cal and .dat files :)

David

Entering Injector Values in Gui

Donnie,

Double click on the tag value and a window should popup.

The input you put in is in lbs/hr like the popup window says.

Functions

MAF Transfer Function

Mass Air Flow Tuning

Taken from one of David Posea's great posts !!

*********************************************

OK, there are three stages to this, and you'll need a wide-band and

some means to log MAF voltage or A/D counts.

First we'll tackle the idle. Enter your transfer function, and crank

the car. Turn off the adaptive fuel control. When the car idles, look

at the MAF voltage. If you can datalog look at short term fuel trim.

If not, look at the wideband. Now adjust the MAF function so the fuel

trim is 0% (as close as you can get anyway), or the wideband is

14.64:1 . You'll want to adjust the transer function right at the MAF

voltage you logged. Now set the idle speed a few hundred rpms higher,

and do the same thing. Smooth out the points in between your target

points for a smooth curve. Increase the idle rpm again (with the

tuner, not your foot) and repeat. You can get up to about 2000 rpms

that way.

Now we do the same thing except we go to part throttle. A dyno would

be really helpful here!!! Hold the rpms steady to get the data, then

adjust the transfer function. Notice we are working from the bottom

up, so the upper calibration isn't important (yet!!!). Once you get

short term trim near 0 at part throttle it's time to tackle WOT.

For WOT you can either look at the commanded A/F ratio (lambda) on a

datalog, or set all of the WOT adders to 0 and the multipliers to 1.

You want the EEC to use the A/F ratio set by the stabilized open loop

table. Set those values to what you want the A/F ratio to be.

Now make a dyno pull and log the actual A/F ratio. You'll also need

to know the MAF voltage at various rpms.

Look at your A/F chart and write down the MAF voltage every 1000

rpms. Above that write the commanded A/F ratio. Divide the commanded

ratio by the actual ratio and adjust the MAF function at that voltage

point by the result. If we commanded 12:1 and got 10:1 we have to

adjust the transfer function by 12/10, or 12%. Smooth the points in

between the ones you calculate. It shouldn't take more than 3 or 4

pulls to get the transfer function dialed in.

BTW, set the global spark adder to -10 or so to be safe until the A/F

ratio is dialed in.

I watched this done about 12 times over the weekend, and it yielded

nearly flat A/F curves on all of the cars And they idled pretty

good too.

MAF TRANSFER FUNCTION

The EEC does not need four references to the same break point, but it

does need to have the function table completely filled. The number of

break points in the MAF transfer function table is fixed. If you

don't want to take advantage of every break point in the table then

it is best to have the unused break points at the end of the table.

The maximum MAF voltage value is 5.0 volts. The A to D

converter has 10 bits of information and the voltage is stored in a

16 bit register. The 16 bit register goes to 16 volts and still

contains all 10 bits of information from the 0 to 5 volt A to D

conversion.

--- In EECTuner@y..., "wildhorse91" <wildhorse91@y...> wrote:

> WHY ARE THE LAST 4 ( ) FILLED W/ (0, 13.6242) AND THE FIRST ONE

>(15.998, 835.509). I DON'T UNDERSTAND WHY THE EEC WOULD NEED 4

REFERENCES OF THE SAME CONVERSIONS

NEWMAF.xls

The <NEWMAF.xls> was a modification to

<MAF_curve_fitting_and_load_calcuations.xls> in the files section which

subsequently changed. The NEWMAF.xls spreadsheet was not changed after the

other was and consequently still has the previous instructions. It's a

great tool to help tweak the MAF curve. The creator of that original

spreadsheet has a good write up on info he got from Pro-M here and the

reason for the change to the calculated values.

ration%20sheet%2097.doc

It worked for me.

KG/HR Conversion

Now, I'll answer your question directly. To convert from a binary file value

to kg/hr do

this for a typical A9L.

DATA STORED = 2637 or 0x0A4D

GUI = 2637 / 2^31 = 0.00000122794881 LB/TIC

KG/HR = lb/tic x 1 tic /2.4 ms x 1000000ms/sec x 60 sec/ min x 60 min/hr x 1

kg/2.2 lb

90mm Lightning MAF Transfer Function

Volts Kg/Hr

5.00481121701 1728.13688568924

5.00000000000 1728.13688568924

4.64320625611 1463.33601395229

4.44770283480 1291.75297046035

4.25219941349 1136.01271416635

4.05669599218 994.70071049904

3.86119257087 866.68533180142

3.66568914956 750.55204350226

3.47018572825 645.73503177305

3.27468230694 550.96121549968

3.07917888563 465.52332739652

2.88367546432 388.85555363508

2.73704789834 336.51777449903

2.59042033236 288.56505253385

2.44379276637 245.28029465377

2.29716520039 207.93658197292

2.15053763441 175.68519374855

2.00391006843 147.53595578079

1.85728250244 123.20596115538

1.71065493646 101.84648912959

1.56402737048 83.31608624629

1.41739980450 67.33184559123

1.27077223851 53.18649987879

1.12414467253 41.02150256609

0.97751710655 30.55394673888

0.85532746823 23.05691351128

0.73313782991 16.55005448356

0.63538611926 12.87226459832

0.56207233627 11.03336965571

0.00000000000 0.00000000000

MAF FUNCTION Theory

This is what I found. Note, all data is in hex and for my own sanity is somewhat

abbreviated:

When first cranked, the eec will start searching at address 8DE2 for a voltage match. Lets

say, the A/D channel input from the

MAF meter is $3300. ( roughly 0.997v). (NOTE: On the very next loop, it will remember the

pointer to the last MAF voltage location, thus

speeding up interpolation and location of the next search) You could theoretically log $032E

to trace the last known maf location that was used.

STEP 1:

The following math is accomplished. The term VOLT is used to reference what is stored in

the x column of the xfer function:

VOLT = ($3300 x $2800)/$7FC0 = FF7. Note, in the table below, FF7 is greater than 0DCB

but less than 108D. For simplicity I have only

included the two points that will be used for the interpolation.

STEP 2:

Note, the eec code then advances by 4 bytes until it reaches a voltage that is

less than what it just received. In this case, 0DCB @ $8E46.

ADDR VOLT AIRFLOW

$8E42 108D 00AF

$8E46 0DCB 0088

STEP 3:

Then, it finds the VOLT, then AIRFLOW differences between the points. (ie LINEAR

interpolation has started). Since the interpolation

is done by linear methods, the further you spread your maf points apart, the more error will

occur in the interpolation. Significant, probably not, but worth a

note. I would hate to see the code if done using a 6th order equation!!

VOLT DIFF = 108D - 0DCB = 2C2

AIRFLOW DIFF = 00AF- 0088 = 027

STEP 4:

Now, substract CURR VOLT - LOW VOLT to find the fractional difference of original voltage.

fraction to interpolate is FF7 - 0DCB = 22C = INTER VOLT FRACT

STEP 5:

AIRFLOW DIFF * INTERP VOLTAGE FRACT/VOLT DIFF = fraction or interpolated amount of airflow.

027 * ( 22C / 2C2 ) = 1E

STEP 6:

AMOUNT OF AIRFLOW INTERPOLATED = 1E + 0DCB = 00A6

STEP 7:

THIS DATA IS SAVED TO $250, which many of you log as the KG/HR data we see.

In summary, I would like to mention several points. 1) The only time the entire MAF range

is used is when a) the engine is started or b) if

the maf actually uses that range of voltage. Note, in the first step, we started at 8DE2.

Guess what point this is? Yes, 15.998v. I believe this

is nothing more than "infinity" for the eec alogrithm and is used as a safety net. You

could theoretically use this as a valid maf point.

Once the engine is running, the eec establishes tracking of the last MAF location. Thus, it

is always alble to quickly interopolate

the next data point, whether the engine uses the entire maf curve or not. ( I actually

disprove my own theory in my last email ).

On the other hand, consider that the tighter the points get to your actual maf range, the

more interpolations

will be needed, thus more eec time. How does this affect performance, I don't know, ( I

don't even have a running car right now ) but

I think a review of the spread of the stock voltages is recommended.

I know this was interesting for me, hope you enjoy the info. Also, thanks to John

Worthington for his assistance w/locating the MAF code and an

excellent program, SIM1.EXE.

Tables

Load Explanation

Anywhere you see load (like a load based table) it will be what the

computer is calculating.

You can scale load by changing displacement, but all you are doing is

making yourself feel better :>) Not more or less accurate just

different...... You could also re-scale your tables if you need a more

granular approach. 6 of one 1/2 a dozen of the other.

The scalars build the X and Y axis of the table they represent. Like I

mentioned on the functions you can do whatever in between just don't

mess with the highest and lowest values. You are correct in that the

programming will interpolate anything between the row or column values

and if it is past the highest number (like 5000 for RPM) it will keep

using the last entry in the table. But like Fred mentioned you might

want to tune in those higher areas so you can re-scale your table.

Normalizer Functions

I've never used the shiftmaster software for tuning, but in the GUI

it's pretty easy. Pull up a spark table, and the normalizer functions

are listed at the top. You want the one for load, which will be

spark_???_y (y axix). Now pull up that fucntion. The right hand side

has integers in it. These are row values. So you map the left hand

side (LOAD) to new row values. The spark tables are 8 rows high, so

the top number must be 7 and the bottom one 0. You can set the others

however you like. Then go back to the spark table and your changes

will be there in the scaling.

David

HEGO_Delay

> ive got 1 5/8 mac long tube heades. what should the exhast pulse

> delay rate be?

14 for all values, 16-18 for 1 3/4 LTs.

Injector_offset_vs_battery_voltage

Hmmm, any idea what the units are?

It's milliseconds.

Scalars

TPS explained

TP voltage at the connector is NOT what the EEC uses.

The EEC calculates WOT by TP_REL. To get TP_REL, the EEC takes the

voltage at closed throttle when the key

is turned on. It then takes this voltage and subtracts it from the

actual voltage from the sensor to get voltage relative to

closed throttle. This voltage is then convertered into A/D counts

from 0 to 1020. If you have .8 volts at closed throttle, and

actual voltage from the sensor is 2.8 volts, you subtract .8 from 2.8

and get 2 volts. You take 2volts/5 volts (the max

possible voltage) and mulitply by 1020. In this example, you

get .4*1020 or 408 TP_REL counts. If you just remember to

add the voltage at closed throttle (.8v) to the WOT_VOLTAGE 2.44144

you get WOT activated at 3.24144v.

cid_airmass_for_one_cylinder

> The correct way to calculate this value is

> (4.425392491467*10E-5)*(cubic inch displacement of 1 cylinder)

> KD

Hego_Bias

I can't help much with HEGO Amplitude, but HEGO Bias is the mechanism for

adjusting the a/f ratio during closed loop. The formula is :

A/F=Lambda*(1-HEGO bias). =14.64(1-HEGO bias)

Turn off Smog Stuff

EGR Multiplier1

EGR Sys Type2

Thermactor Present0

Mass Air Check Max RPM

This value is only for the failure management code. If the maf

exceeds a certain voltage (AD count) while the RPM is below that max

value, then the MAF is considered to be not working correctly and a

different stategy is used.

This max RPM value should not limit your rpm nor affect the A/F

calculation when the rpm's exceed this value.

Tranny Shifting

For the trans shifting early problem, you need to change the

trans_base_RPM/VSS parameter, which should equal ((axle ratio*336)/tire

diameter). I had the same problem with OD and my 3.73 gears. BTW, with my

3.73's, the rpm/vss parameter worked out to 49, but yours may be different

if you're using a different sized rear tire than me (275/40-17).

Also, for WOT, you should match your WOT_RPM shift point to the MPH you're

running at that WOT_RPM. For instance, my WOT_RPM for 1st gear is 5800, so

my UPSHIFT_SPEED_VS_TP_1_2 @ WOT ( 4.98047, 41.8 ).

load_limit_open_loop

As open-loop is a fuel-strategy, this lovely function works on "fuel

load" or Percent Load (scaled version of true load).

--- In EECTuner@y..., John Blanchet <pjblanchet3@y...> wrote:

> I'm rescaling my fuel loads again and see this tag

> load_limit_open_loop_vs_ECT in the a9l. Is this fuel load or spark

load?

> Thanks,

> John

Fuel Shut Off Decel

In CalEdit, there is a scalar titled "Fuel Shut-off Deceleration RPM". I changed it from the

stock setting of 950 to 1500-1600. It is a subtle change, but I think it did change the very

light throttle decel. characteristics of the engine.

-Ken

jstauffe2000 wrote:

> Whadja tweak to do this?

mass_air_check_min_AD_cnt / Error 66 - MAF voltage too low

In the GUI using the exp_a9l.dat you can lower the

mass_air_check_min_AD_cnt. Stock is 75 which converts to roughly .4

volts. Just keep lowering it until the CE goes away or just set it to 0.

Trans_Type_Switch

Subject: Re: Can I run a C4 with the A9L?

--- triplexracing <> wrote:

> I currently am running a stock Mustang T-5 (5-speed) trans and would

> like to convert to a C4. Does anyone know if I will have any issues

> in using a 5-speed computer on an C4 automatic?

Yes, you can. In fact the a9l has switches to allow it to run with

non-electronic transmissions. You'll only see the tag in GUI. Look for

the scalar trans_type_switch and use one of the following.

Trans type:

4 = non-electronic automatic.

3 = T5 with neutral/clutch switch

0 = no neutral/clutch switches