The Windows 9x/ME/XP/Vista software applications you use to tune and configure your MegaShift™ hardware are called TunerStudioMS by Phil Tobin. You also need Java capable on a computer (a laptop or notebook computer if you want to tune in the car) and a conventional serial port to communicate with a MegaShift™ controller. A USB/serial converter may work, and many people have reported that they have been successful using a USB-serial adapter. Just about any computer that is capable of booting Windows 95 (or better) will be fast enough, but get the fastest laptop computer you think is reasonably priced, obviously.
There are two parts for any firmware release:
If you download a different .s19 file (i.e., a different embedded code version) to your MegaShift™ EFI Controller, then you must install the corresponding INI file in the place expected by MegaTune.
If the INI file does not correspond to the code you have load, TunerStudioMS will generate an error message when starting. The error you see is telling you that the signature in the INI doesn't match what TunerStudioMS is receiving from MegaShift. This can be for a number of reasons, the most common are:
Also, be SURE to set the CODE_VARIANT (to MS-II) as well as activating the appropriate INI file, both actions are necessary.
Creating and Selecting New Projects
TunerStudio allow you to manage data for multiple MegaShift™ installations on the same computer. First you must use the installer to build yourself a default setup.
When you have only a single car directory, TunerStudioMS assumes that you want to use that one, so starts there automatically. When you have more than one, TunerStudioMS will present use the last one, but if it doesn't match whet it sees from the controller, it will ask you to choose another project or start a new one.
The INI file has a large number of gauges defined. The defaults start with a lowercase letter, the general use non-defaults to uppercase (so they appear near the top of the listing, and are easiest to select, then the 'debug' gauges in lowercase as well - prefaced with "x_". Some gauges are essentially duplications of the indicators, but are included for troubleshooting the indicator set-up.
MegaShift has a large number of parameters that can be set up to configure the code for your transmission, and tune the shift behavior. these parameters are described below.
MegaTune can store and retrieve set-up files, both entire set-ups (.msq files), and gear or line pressure table files (.vex).
The datalogged variables are:
seconds | Clock, time is seconds since last restart, reset, or 'roll-over' of the clock to zero (from 65535 seconds) | |||||||||||||||||||||||||||
os_rpm | Current output shaft rpm, as determined from the VSS sensor output | |||||||||||||||||||||||||||
speedo | Cuurent vehicle speed (in mph or kph, depending on Metric_Units) | |||||||||||||||||||||||||||
odo | Trip odometer - since last restart/reset | |||||||||||||||||||||||||||
auto_mode | Current shift mode: 0=manual, 1=auto (table), 2=auto (sequential) | |||||||||||||||||||||||||||
upshift_request | Shift up requested (i.e. button presses have exceeded threshold to request a shift) | |||||||||||||||||||||||||||
downshift_request | Shift down requested (i.e. button presses have exceeded threshold to request a shift) | |||||||||||||||||||||||||||
manual_gear | Manual gear lever position determined from switch manifold (GM style) or switch voltage (Ford style) | |||||||||||||||||||||||||||
current_gear | Current selected gear determined from state of shift solenoids and output tables | |||||||||||||||||||||||||||
target_gear | Gear to shift to determined from shift table. This is still reported if in manual gear, but isn't used, of course | |||||||||||||||||||||||||||
lock_TCC | Torque converter clutch state: 0 = unlocked torque converter clutch, 1 = locked clutch | |||||||||||||||||||||||||||
engine_rpm | Current engine rpm (from MS-II™ CAN or using ISS/tach input circuit or estimated from VSS and gear) | |||||||||||||||||||||||||||
error | error code:
| |||||||||||||||||||||||||||
LOAD | Engine load reported from MS-II™ using CAN, or determined using local circuit | |||||||||||||||||||||||||||
clt | Transmission fluid temperature | |||||||||||||||||||||||||||
brake | Brake status: 0 = brakes off, 1 = brakes on | |||||||||||||||||||||||||||
ic1_per_avg | Average period (time between teeth) of last 20 VSS teeth in milliseconds per tooth | |||||||||||||||||||||||||||
LOAD_short | Short term LOAD average | |||||||||||||||||||||||||||
LOAD_long | Long term LOAD average | |||||||||||||||||||||||||||
aux_volts | Axillary data channel (used for load if no CAN) | |||||||||||||||||||||||||||
PC_duty | Pressure Control valve duty cycle (% for PWM) | |||||||||||||||||||||||||||
converter_slip | Slippage between engine rpm and input shaft rpm | |||||||||||||||||||||||||||
loop_count | Main loop counter | |||||||||||||||||||||||||||
vss_teeth | Cumulative VSS tooth counter | |||||||||||||||||||||||||||
line_pressure | Line pressure in pounds per square inch | |||||||||||||||||||||||||||
CANtx, CANrx | CAN transmit & receive counters. These do not necessarily have to be equal, and often won't be. | |||||||||||||||||||||||||||
dbug | Spare debugging variable brought out in MegaTune/TunerStudio (default is VSS tooth error count) | |||||||||||||||||||||||||||
vBatt | Battery voltage from MS-II™ via CAN | |||||||||||||||||||||||||||
upbutton | Up-shift button status (not necessarily a shift request) | |||||||||||||||||||||||||||
downbutton | Down-shift button status (not necessarily a shift request) | |||||||||||||||||||||||||||
is_rpm | Calculated or measured input shaft rpm | |||||||||||||||||||||||||||
sp1 | Spare port 1 status, 1=on, 0=off | |||||||||||||||||||||||||||
sp2 | Spare port 1 status, 1=on, 0=off | |||||||||||||||||||||||||||
swADC | Manual gear lever position ADC count for swA (processor pin PAD00 on GPIO board circuit EGT4 using Ampseal pin 26) | |||||||||||||||||||||||||||
swBDC | Manual gear lever position ADC count for swB (processor pin PAD01 on GPIO board circuit GPI2 using Ampseal pin 6) | |||||||||||||||||||||||||||
swCDC | Manual gear lever position ADC count for swC (processor pin PAD03 on GPIO board circuit EGT3 using Ampseal pin 25) | |||||||||||||||||||||||||||
FWD | 2WD or 4WD for speedo adjustment - 0 = FWD, 1 = 2WD | |||||||||||||||||||||||||||
adv_deg | Ignition advance from MS-II™ via CAN | |||||||||||||||||||||||||||
solst | The state of SolA (output1) is logged as the first (0,1) bit of solst. The state of SolB (output2) is logged as the second (2,3) bit of solst. The state of the 3/2 solenoid output (output3) is logged as the third (4,5) bit of solst. Zero in any position means off, 1 means on. So:
000 = 0 - solA off, solB off, 3/2 off | |||||||||||||||||||||||||||
mileage | Fuel efficiency in miles per U.S. gallon | |||||||||||||||||||||||||||
tps | TPS value from MS-II™ over CAN | |||||||||||||||||||||||||||
ic2_per_avg | Average period of last 20 ISS teeth in milliseconds per tooth |
This allows you to export a gear or line pressure table. You can export or import VEX files into any of the gear or line pressure tables. These are saved in the VEX format. Be sure to give your saved files descriptive names. With MegaSquirt-II, you load the files from the tables menu.
This allows you to import a gear or line pressure table. You can export or import VEX files into any of the gear or line pressure tables. These are saved in the VEX format. The table will import VEX files of different sizes and automatically adjust them to match the current table size. With MegaShift™, you load the files from the tables menu.
This will close TunerStudioMS.
You must enter the gear ratios built into the transmission.
Note that fully variable PWM is enabled only on the PC (pressure control) valve in the default 4L60E configuration. This valve has a 1N4001 diode installed externally between the solenoid power supply and the line to the GPIO board to recirculate the flyback current generated by the PWM. If you enable PWM on Output1, Output2, or Output3, you MUST install an external diode between that solenoid's voltage supply and the line going to the GPIO board. The banded end of the diode goes to the voltage supply wire, the non-banded end of the diode goes to the line to the GPIO board. Install the diode as close to the solenoid as is convenient. The 1N4001 diode is installed externally to avoid bringing high-voltage noise into the GPIO. 1N4001 diodes are available at virtually any electronics supply shop. Without this external diode in the PWM circuits, you may damage some internal components.
Some PWM solenoids uses a deliberately low PWM percent, but refresh the solenoid with a burst at 100% before it can close. As well, some pressure control solenoids use a cleaning pulse (called a 'dither') to ensure adequate fluid flow through the system to keep the system clean. You can set both of these up in this dialog.
Load = ('Multiplier' * deviceVolts) + 'Load at 0 Volts'
Where M = multiplier (aka. "slope" in math terms), x is the Volts, B = Load at zero Volts, and y = load.
M is the slope, which is the 'rise' divided by the 'run':
M = (Load2 - Load1)/(Volts2 - Volts1)
and B = Load1 - M * Volts1
For example, if your device puts out 1.2 Volts at 20% load, and 4.4 Volts at 100% load, then the values you would use are:
Multiplier = (100-20)/(4.4-1.2) = 80/3.2 = 25
Load at 0 Volts = B = y - Mx = Load1 - 25*Volts1 = 20 - (25*1.2) = -10
The equation then becomes Load = (25 * Volts) - 10
This dialog lets the user specify the activation patterns of three outputs for solenoids (Output1=SolA, Output2=SolB, and the Output3=32sol on the 4L60E), as well as the three inputs (SwA, SwB, SwC on the 4L60E) to determine the manual gear lever position.
Two of these outputs (Output 1 & Output 2) must uniquely specify the gear in forward gears (so that the transmission can shift to the right gear!), the other output (3) is free (Output 3 is both on/off AND the PWM% can be set when on).
"on" means the solenoid is grounded (allowing current to flow in the controlled solenoid), "off" means it is not grounded (no current flows in the solenoid).
The OutputX patterns are used for two purposes:
Note that the code does not currently distinguish between neutral and park. This is because the 4L60E (and some other transmissions) use the same input pattern for P and N. As a result, the same output pattern (in bit 2 = N) is used for both manual gear lever positions. If it becomes necessary to distinguish between these, this could be added to the code quite easily.
There are two 'spare' ports (SP1/SP2) that are an ANDed combination of speed, rpm, load, and current gear (with hysteresis). These can be used to control external devices like fans (ex. shut off above a specified speed), or ancillary trans functions.
For example, if you set:
For example, if you set: