Tuning Software for MS-II™ v3.8

DRAFT! This document is under construction.
Use only with great caution! Refer to the INI and the forums for more information.

TunerStudioMS Help Index

Introduction to TunerStudioMS Installation File Options
Data Logging Fuel Set-Up Other Fuel Set-Up Ignition Set-Up
Basic Tables
'Basic Tables' are displayed as 12x12 'spreadsheets' to allow easy viewing of the numbers in the tables. This is best for setting up the tables. For tuning the tables in the vehicle or on a dyno, see the 'Tuning' menu item.
These can be indexed to MAP or MAP/Baro.
Basic Tables
These can be indexed to MAP or MAP/Baro.
Basic Tables
This can be indexed to MAP or MAP/Baro.
Other Tables
Tuning
Tuning offers a 3-D view of the table a a number of gauges simultaneously, so is a good place to be when actually tuning.
Cylinder trims X-Tau Tuning Other Tuning
Communications Tools Help

The cross-platform Java software application you use to tune and configure your MegaSquirt® or MegaSquirt-II is Tuner Studio by Phil Tobin. You also need a computer (a laptop or notebook computer if you want to tune in the car) and a conventional serial port to communicate with MegaSquirt-II™. 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. This document covers the use of the 3.8 versions of embedded software (aka. "code") on MegaSquirt-II™.

Overview

This documentation, while written for the Sequencer™ controller, also applies to MicroSquirt® controllers using v3.x code, and differences in configuration have been noted where applicable. As of Feb 10th, 2013 the latest code version is v3.830 and it is to this code that this document applies.

The Sequencer™ controller consists of three parts: a MicroSquirt®-like section containing the main processor, a routing processor, and a Complex Programmable Logic Device (CPLD) that is configured by the routing processor and then does the spark routing when directly triggered by the IGN1, 2 signals from the main processor. The routing processor also handles routing of the fueling outputs, which are triggered from the main processor by sending a tach pulse for each cylinder or cylinder pair injection, followed by an INJ1 pulse whose duration compresses the actual pulse width to the nearest +/- 6 microseconds. Both Sequencer™ controller and MicroSquirt® controller V3.0 pcb incorporate a new, more robust VR circuit.

The new 3.x code is the only code that can be used with the Sequencer™ controller and it can also be used with any MicroSquirt® controller. Between these two ECUs, the following engine configurations can be supported:

  1. Older engines with distributors. You must use MicroSquirt® controller for these and code 2.9x is sufficient, but 3.x code is compatible also. In this mode you would generally not use the Dual Spark option (Disable it) and the setup is closer to MS-II, so these engines will not be covered in this document.
  2. 1 and 2 cylinder engines with toothed trigger wheels. For these engines best performance is achieved with the Dual Spark mode, 3.x code, in either wasted or sequential modes. Only the MicroSquirt® controller will handle these engines, the Sequencer™ controller will not.
  3. Newer, non-distributor engines with toothed trigger wheels and 3-8 cylinders (excluding 7). The Sequencer™ controller, with Dual Spark mode, should be used for these engines. For an even number of cylinders (4,6,8), it provides either wasted or fully sequential fuel and spark. For an odd number of cylinders (3,5) you must use sequential mode only, meaning a cam sync must be provided. Only 3.x code will run on the Sequencer™ controller.

Summary of Sequencer™ controller V1.04/ MicroSquirt® controller V3.0/ Code V3.x Upgrades/ Input Notes

This summary and the following section on model based code are most meaningful for people who are already familiar with MegaSquirt® and MicroSquirt® controllers and code. For those who are new, you can skip these sections and come back to them later, after starting on input configuration and tuning.

The most significant upgrades in Sequencer™ controller and MicroSquirt® controller with the new code v3.x are as follows:

  1. Auto Trigger Option. A major improvement in v3.x code is the Auto Trigger option. This option, while leaving the previous code logic intact, greatly simplifies the Dual Spark setup for the user. It automatically calculates trigger offset, Delay_Teeth, and Skip_Teeth. The user only needs to follow some simple instructions at: www.megamanual.com/seq/autotrig.htm.

    This code also simplifies the Fuel Injection Timing logic by allowing the user to enter start of injection in crank degrees relative to TDC compression of cylinder 1. The same relative timing will automatically be applied to all other cylinders, taking account, with some limitations, of odd-fire offset.

    Finally, this option also adds the capability of entering separate sampling angles, in crank degrees relative to TDCC1, for MAP and MAF. This sampling is now separate from injection start angle.

  2. Preliminary Model Based features, such as manifold filling and residual gas models were added.

  3. Extended Odd-Fire angle logic for 4, 6 and 8 cylinders, as well as 2 cylinders, in both wasted and fully sequential modes.

  4. Fuel and Spark Trims. These will work for 1-8 cylinders and are meant to be trims, but they have been tested to fairly large values like 100% and 40 degrees. The resolution is 0.1% and 0.1 deg. A ±5% fuel trim is implemented by adding/subtracting 5% to/from the normally calculated VE correction. (For pure MAF VE would be 100% plus or minus the trim) The spark trim is added to the normally calculated spark advance, so a negative trim number will retard spark. NOTE: trims are not used in any wasted spark mode, since you do not know which is the actual cylinder being fired. In a wasted to sequential mode, for example, a missing tooth crank wheel with cam synch, the trims will not take effect until the processor declares cam/synch/ sequential mode. (A wasted/sequential indicator has been added to the engine status bits and is displayed on the bottom of the tuning software.)

  5. Cam_Tooth: This is a user specified tooth number on the crank wheel with the significance that the cam synch must come after this tooth and before the first (real) tooth after the gap. Details for how to configure this for both MicroSquirt® and s may be found in the Auto Trigger documentation.

  6. Cranking Pulsewidth Option. There are 3 Cranking Pulsewidth options (nskipCPW) which appear under the 'Fuel Menu, Start→Afterstart' selection. These are described as follows:
    1. No cranking PW: This bypasses cranking and uses the normal calculated PW, with each cylinder firing once (or twice in wasted) per 720 deg engine cycle
    2. Sequential CPW: For the Sequencer™ controller, this option is the same as the preceding, but uses the existing CPW (2-point or table values as a function of coolant temperature) instead of calculating PW from the VE table. For MicroSquirt® controllers this option provides the same fueling as in pre-v3.x code, that is, there is simultaneous injection of both cylinder banks on every tach cycle.
    3. Simultaneous CPW: This is only used with Sequencer™ controller hardware and is the same as the second option, except all cylinders are injected simultaneously. In addition, a new input, nskpCPW, allows the user to specify the number of tach events between simultaneous injections.
      • 0 or 1 means simultaneous injections every tach event;
      • 2 means every other event;
      • 3 means inject every 3rd event, skipping 2;
      • etc.
      This is illustrated in the figure below:

    Note that you must cycle power afterward if CPWOption is changed. Note also that there is no control of when injections begin during cranking when the simultaneous CPW option is used (because it makes no sense). Another thing to note is that fuel trim is not added into the cranking pulse width. Finally, when the mode changes from wasted to sequential during cranking, simultaneous CPW continues until past cranking rpm.

  7. The input tie1_2cyl: this is an option: (=1) to tie Ign1,2 outputs together either after the ignition drivers or through a diode gate combining the 2 Ampseal outputs; or(=0) leave them separate and ignore one. Only applies for MicroSquirt® controllers in dual spark/ toothed wheel mode to 1 cylinder engines and 2 cylinder engines with wasted spark. See MicroSquirt 1,2 cyl Dual Spark Configuration for detailed guidance.

  8. Improved range of MAF airflow calculation and corrected calculation of injector pulse width:

    Old Equation:

    PW = Topen + MAP x VE x ReqFuel

    New Eq (model-based):

    PW(sec) = Topen + ((MAF(g/s) x (120 / Rpm) / No_cyl) / AFRTGT) / InjFlowRate(g/s)

    This is important because now AFRTGT has a big effect on fueling and ReqFuel is used only with MAP.

  9. Expanded dual table options to: use VE1, AFRTGT1 tables only; use VE1,2 and AFRTGT1,2 for engine banks 1,2; use VE2, AFRTGT2 tables only. These options, in conjunction with an added FlexFuel pin option, allow the user to switch VE and AFRTGT tables based on an external switch wired to the FlexFuel Ampseal pin. In this mode,

  10. Two AFTStoich Values: Another addition to the Flex Fuel capability was to provide two user entries for AFRStoich value: one for the lowest FF sensor reading fuel (generally gasoline) and one for the highest reading (generally pure ethanol). The actual AFRStoich value is then interpolated based on the sensor % readback.

  11. Added fixed width and duty cycle input options for tachout pulses.

  12. A soft rev limit was added as a third option. This starts randomly cutting fuel to the cylinders starting at Rpm1, with complete fuel cut by Rpm2.

  13. Restored capability to compensate Χ-Τau parameters for coolant temperature during the warmup period. The coolant compensation should NOT be made more than about 2 or 3 times (200-300%) for Τau, and Χ, after coolant compensation, should generally not exceed 60-70%. This in no way replaces the normal warmup enrichment, which compensates for poor fuel mixing and poor combustion - which are separate effects from wall wetting.

Notes on New Input Variables

  1. In TunerStudio, you must,for the Sequencer™ controller, verify that “MS2_SEQ” is activated under the Settings tab in the 'File/Project Properties' menu of TunerStudio. This must be deactivated if using a MicroSquirt® controller.

  2. To make the ReqFuel and duty cycle values correct in the tuning software, it is necessary for the only, to set the following parameters:

  3. The 'Calculated' option should be used for the cranking trigger – trigger rise is not supported and is not needed with a toothed wheel. It may work, but there may be extra pulses that may cause backfires.

  4. As with the MicroSquirt® controller, there is no injector PWM option in .

  5. Spark output polarity is High to Low in the , same as MicroSquirt® controller. The Sequencer™ controller is intended to be used only with COP coils or with external ignition drivers. Both of these use a 'high' output for dwell, 'going-low' output for spark, so there is no choice.

  6. Ignition option should be set to 'Standard Coil', you cannot use EDIS with the Sequencer™ controller.

  7. Χ-Τau works the same as previously, but during the transition from wasted to sequential, the time between squirts will double. This will result in a richer pulse width for a brief period because if the tau value is too short and the rpm too low when it happens, you will get a rich spike due to the fact that the cylinder is much drier when you squirt because it has waited twice as long for the sequential squirt. This is correct behavior, but if the engine has been tuned for wasted, you may have to increase tau a bit at the transition rpm.

  8. Ports A0 and M3 cannot be used as spare ports for the Sequencer™ controller because they are used as control lines by the ECU to signal the Router processor when synch has been lost and when a new tach cycle begins. These have been replaced by 2 new spare outputs (they can even be used as PWM outputs once code is written for this function).

    These pins are on the Router processor and using them is completely transparent to the user. You use them just as you did A0 and M3, but wire to pins 31 (old A0) and 20 (old M3) on the Red (output) Ampseal. They can also both be turned on/off via a CAN message from the main processor to the Router.

    In addition, a third GPIO input from the Router, with 5 Volt pull-up, was added on Ampseal pin 30 for possible future use. This could also be used as a PWM output controlled via a CAN message to the Router, but the pull-up would have to be removed. The following table summarizes this:

    Outputs
    Function
    Control
    Router PT0
    (Red Ampseal R-PW0, pin 31)
    GPIO
    PWM
    ECU, CAN device
    CAN device
    Router PT1
    (Red Ampseal R-PW1, pin 20)
    GPIO
    PWM
    ECU, CAN device
    CAN device
    Router PT3, w/ pull-up
    (Red Ampseal SEQ-PT3 pin 30)
    GP Input
    PWM
    (remove pull-up if output)
    CAN device
    CAN device

  9. Added option to put second EGO on either ADC6 or ADC7.

  10. The CAN Id = 14 for the router processor. This CAN id should not be used for GPIO devices.

  11. Removed the automatic reboot feature when leaving Injector Test Mode. It is now necessary to cycle power to return to normal mode. Specific Instructions are provided at: www.megamanual.com/ms2/Injection_Test_Mode_Procedure.rtf


Important Notice!

Note that for 3.8 Code, the first thing you must do after loading code is set the ECU Type (under 'Fuel Set-Up/General') to match your hardware (MS-II™ or MicroSquirt® controller), TunerStudioMS will not let you change anything else until you do this. Do not change settings, expect the stimulator to work, load an MSQ, etc., until you have set the ECU Type (MS-II™ = 1, MicroSquirt® = 2, the MS-II Sequencer™ controller™ will be 3). This setting applies to MS-II™ derivatives with code 2.8 or higher code only.

ECU Type setting was inserted to head off the potential MicroSquirt® problems due to the coils being turned on with the old default configuration. As of the 2.8+ code, if ECU Type is not set, the code will put the ignition outputs in a safe state (cycling the tach display from 0 to 8000 rpm, and also flashing the fuel pump LED) and wait until a known ECU type is put in by the user.

Introduction to TunerStudioMS

TunerStudioMS is a cross-platform Java-based MegaSquirt® configuration editor software. It is written by Phil Tobin, and it used for the MegaSquirt® and MegaSquirt-II EFI controller. It allows all of the tuning and set-up parameters to be modified and has a real-time VE table editor, which allow a vehicle passenger to tune the engine while driving.

General Advice and Operation Some general principles to follow when setting the configuration parameters are:

Some Warnings

Note that it is possible to damage your engine by choosing inappropriate tuning or set-up parameters in TunerStudioMS. Be sure to read this document, and all associated tuning documents that apply to your engine, vehicle, and tuning circumstances. In particular, read the safety precautions.

How to Tune Using TunerStudio

Information on tuning using tuning software with MegaSquirt® or MegaSquirt-II is listed separately from this section, and depends on the processor you have.

Installing TunerStudioMS

Note: for installing TunerStudio, please see the TunerStudio web site: www.efianalytics.com/TunerStudio/

Return to help index

Communications/Settings You need to set the appropriate communications parameters to communicate between the PC and the controller. You do this in a dialog on the TunerStudioMS menu called 'Communications/Settings':

Signature Errors

There are two parts for any firmware release:

  1. the .s19 file that contains the firmware for the MegaSquirt, and
  2. the INI file that describes the firmware to TunerStudioMS.

If you download a different .s19 file (i.e., a different embedded code version) to your MegaSquirt® EFI Controller, then you must install the corresponding INI file in the place expected by TunerStudioMS.

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 MegaSquirt. This can be for a number of reasons, the most common are:

  • Data Logging allows you to turn on the logging of real-time variables to a file on your PC. Once you have enabled datalogging, TunerStudioMS polls the MegaSquirt® controller when any of the front page, runtime display or tuning screen are active, and writes this data to a file. The datalog file may be used as input to Phil Tobin's excellent MegaLogViewer program to view the parameters as graphs (even in real time), as well as automatically correct your VE table. Get the MegaLogViewer at www.ideasandsolutions.biz/MegaLogViewer/download/. MegaLogViewer will process your datalog, automatically detecting which type of log is being read and acting accordingly. When datalogging is enabled, the second box in the status bar on bottom of the front page contains a bold "LOGGING" indicator.

    For the 3.8 code version, the datalogged variables are:

    Datalog LabelINI VariableCode Variable
    (outpc.)
    Description
    TimetimenoneThis is a time variable generated by TunerStudioMS that counts up with the tuning PC's clock. It is helpful for spotting gaps in the datalog (which can be caused by changing dialog pages (datalogs are not recorded if the user is on some pages) or communications issues.)
    SecLsecondssecondsThis is the internal CPU clock from the controller's processor.
    RPMrpmThis is the engine rpm (revolutions per minute).
    MAPmapmapThe engine intake manifold kPa from the Manifold Absolute Pressure (MAP) sensor.
    Tbl IndxkpaixkpaixThe current MAP value (above) divided by the current baro value to be used as an alternative load index. Baro pressure is not in the default datalog (the baro correction amount, Gbaro is, but not the baro value the correction is based on). Baro can be added by including the line:

    entry = baro, "baro", float, "%.1f"

    in the [Datalog] section of the INI.

    MAFmafmafThis is the Mass Air Flow value determined from the MAF sensor feedback and the MAF table.
    TPthrottletpsThrottle opening position in %, 0% is closed, 100% is WOT, if the TPS has been calibrated properly.
    vBattbatteryVoltagebattThis is the battery voltage as measured at MegaSquirt-II.
    if NARROW_BAND_EGO
    O2

    elif LAMBDA
    Lambda

    else
    AFR

    egoVoltage

    lambda1

    afr1

    ego1,
    ego2
    This is the ego sensor output voltage (if a narrow band sensor is selected).
    IATmatmatThe intake air temperature in °F or C, depending on your settings.
    CLTcoolantcltThe coolant temperature in °F or C, depending on your settings.
    EngineengineengineEngine Operating/Status variables - bit fields for "engine" variable. This value will tell you if the engine was accelerating, warming-up, etc., and can be used to troubleshoot by telling you if accel enrichment, warm-up, etc. was active at any given time.
    FieldBit (decimal value)Values
    ready:0 (1) 0 = engine not ready; 1 = ready to run (fuel pump on or ignition pulse)
    crank:1 (2) 0 = engine not cranking; 1 = engine cranking
    startw:2 (4) 0 = not in startup enrichment; 1 = in startup enrichment
    warmup:3 (8) 0 = not in warmup; 1 = in warmup
    aen:4 (16) 0 = not in acceleration mode; 1 = acceleration mode
    den:5 (32) 0 = not in deceleration mode; 1 = in deceleration mode
    Here are examples of what some of the various values mean:

    Note that running and cranking are allowed at the same time, so you will normally see 3, not 2, while cranking.
    GegoegoCorrectionegocor1This is the percentage correction to the fuelling pulse width used to adjust the pulse width calculated from the fuelling equation based on EGO sensor feedback.
    GairairCorrectionaircorThis is the percentage correction to the fuelling pulse width used to adjust the pulse width calculated from the fuelling equation based on intake air temperature (IAT) density correction and the ideal gas law.
    GwarmwarmupEnrichwarmcorThis is the warm-up percentage correction to the fuelling pulse width used to adjust the pulse width calculated from the fuelling equation based on coolant temperature (CLT) and the warm-up enrichment table (WUE).
    GbarobaroCorrectionbarocorThis is the barometric pressure percentage correction to the fuelling pulse width used to adjust the pulse width based on the user's setting for baro correction (2-point, table; start-up, real-time, etc.).
    GammaegammaEnrichgammaeThis is the 'net' percentage correction to the fuel pulse width from the other gammas - air density, warmup and barometric corrections (but not including accel enrichments).
    AccelEnrichaccDecEnrichtpsaccelThis is the 'net' correction (in milliseconds) to the fuel pulse width of accel enrichments, including TPSdot, MAPdot, and X-Tau, where used.
    GveveCurr1vecurr1This is the current interpolated VE value used for the fuelling equation for injector driver #1 (and #2 if not using dual tables), based on the current rpm and MAP value (or alpha-N conversion table, where appropriate).
    PWpulseWidth1pw1This is the injector pulse width time in milliseconds (including the opening time) for injector driver #1 (and injector driver #2 unless you are using the dual table option).
    DutyCycle1dutyCycle1computed by TunerStudioMSThis is the duty cycle of injector driver #1 (and injector driver #2 if dual tables option is not selected). The duty cycle is the percentage of the time available that the injector is opening or squirting. Values over 100% are not physically possible, and indicate that the settings in TunerStudioMS exceed the capabilities of the injectors (which may be too small).
    Gve2veCurr2vecurr2This is the current interpolated VE value used for the fuelling equation for injector driver #2 if using dual tables, based on the current rpm and MAP value (or alpha-N conversion table, where appropriate).
    PW2pulseWidth2pw2This is the injector pulse width time in milliseconds (including the opening time) for injector driver #2 if you are using the dual table option. Otherwise it has no meaning.
    DutyCycle2dutyCycle2computed by TunerStudioMSThis is the current interpolated VE value used for the fuelling equation for injector driver #2 if using dual tables, based on the current rpm and MAP value (or alpha-N conversion table, where appropriate).
    SparkAdvadvanceadv_degThe spark advance as seen at the crank shaft, including the all the factors such as trigger offset, spark table value, temperature corrections, etc. It is what you should see on a timing light, if you have set everything up correctly.
    knockRetknockRetardknk_rtdThis is the current amount of ignition retard being subtracted from the spark advance table 'look-up' value when knock is detected. It is determined from the user inputs.
    ColdAdvcoldAdvDegcold_adv_degThis is the current amount of ignition advance being added to the spark advance table 'look-up' value advance when the coolant temperature is low. It is determined from the user inputs.
    Dwelldwellcoil_durThis is the actual computed dwell output, including all corrections. Does not apply to Ford EDIS.
    tpsDOTtpsDOTtpsdotThis is the current rate of change of the throttle position sensor - TPS - output (%/sec).
    mapDOTmapDOTmapdotThis is the current rate of change of the manifold absolute pressure (MAP) sensor output (kPa/sec)
    IACiacstepiacstepThis is the current position (number of steps) of the stepper motor from the fully retracted position.
    deltaTdeltaTdt3The time delta (interval, aka. ΔT) between rpm pulses in microseconds. It is the time between skip teeth - the processor is interrupted every time a tooth arrives, when it counts 12 teeth, as in your case, it calculates deltaT as the difference between present CPU clock time and the saved clock time 12 teeth ago. It is accurate to within better than a microsecond, because all the times are stored at the time the tooth arrives, even if the interrupt isn't entered until a bit later because there was another interrupt at that instant.
    Trigger±trig_fixtrig_fixThe code for toothed wheels checks for missing or extra teeth and handles them if they occur, but only allows one or 2 corrections in a row. More than two corrections and it re-synchs.

    The code works like this: when a tooth input arrives, the code checks the new time between teeth against the previous time between teeth. The processor compares the time between teeth = present time - last tooth time, with the previous time between teeth. If the new tooth time is within PulseTol % of the old, it is accepted. If it is out of tolerance too long, the trigger± counter counts down (missing tooth), if too short it counts up (extra tooth). Account is taken of whether it is time for the missing tooth, so the counter is not changed in this case. Also, if 1 tooth is missed, it adds in a virtual tooth, and if there is an extra tooth it ignores it. But it only does this one time in a row, then the next time between teeth must be in tolerance or the ignition input resynchs. However this cycle can repeat indefinitely as long as there is a good tooth after the bad tooth.

    This will tell users when they have noise or weak signal issues.

    When trigger± counts down it means that it is losing tooth pulses, that is,a pulse is coming in much slower than the previous two, as if there were a missing tooth, but the missing tooth is not where its supposed to be. If this only happened once in a great while, the ECU would insert a tooth and keep going, but if it happens twice in a row it declares resynch (and forces rpm to 0), then it waits to get two regular teeth, then looks for the missing tooth, etc. It works like this precisely because the timing can get very screwed up if the controller were to keep putting in teeth, so there is a lot of error checking and if things don't look right, the safest course is to resynch. When it resynchs the timing goes back to normal, so at worst you might miss a tooth, go back to sync, miss a tooth, etc, but you won't end up 180° out of time.

    If trigger± counts up, it means the controller is seeing noise, that is extra teeth that don't really exist. It discards these extra teeth signals.

    Sync StatsynchsynchThis is the sync status.
    tachCounttachCounttachCountCounts tach pulses for use in correlating datalog values with tach pulses (at low rpm).
    XTau1xTauFuelCorr1XTfcor0This is the current X-tau fuel correction for injector driver #1 (and injector driver #2 if not using the dual table option).
    XTau2xTauFuelCorr2XTfcor1This is the current X-tau fuel correction for injector driver #2 if using the dual table option.
    E85fuelCorrfuelCorrectionfuelcorThis is the current fuelling correction based on the fuel composition sensor feedback and the flex fuel settings.
    Ethanol%fuelCompositioncomputed in TunerStudioMS from default valuesThis is the current calculating ethanol percentage in the fuel based on the flex fuel sensor feedback.
    AFRtrgt1afrtgt1afrtgt1This is the current target value from the AFR table for the current operating conditions (rpm and MAP kPa).
    knck-VknockknockThis is the current knock signal voltage.

    Note that there are a number of other items that could be included in a datalog, these are shown in the [OutputChannels] section of the INI.

    Return to help index

  • Exit

    This will close TunerStudioMS.

  • Return to help index

  • Fuel Set-Up

  • 2-Point Barometric Correction - if you have selected two-point corrections, you can set the baro corrections here (if you have selected 'tables. baro correction is set under 'Tables/Barometric Correction'). Correction for barometric effects is performed using the linear function:

    Barometric_correction = At_total_vacuum + (Rate * barometer) / 100

    Using the default values of 147 and -47, we see that for a barometer of 100 kPa, we have 100% correction (i.e., no correction). Barometric_correction = 147 + (-47*100) / 100 = 100%. Note that the values of 47 and 147 are not coincidental - they cancel at 100 kPa to give no baro correction, as you would expect.

  • Flex Fuel is where you can set up your GM style flex fuel sensor for use with MegaSquirt-II (V2.5+). There more information here: www.megamanual.com/flexfuel.htm.

  • EGO Control

    These parameters define the closed loop behavior of MegaSquirt. You must have a either a narrow band or wide band EGO sensor/controller that will work with v3.8 of controller code. To disable closed loop operation altogether, set the EGO Step value to zero.

    Wide Band Controller Settings

  • Other Fuel Set-Up

  • Other Fuel Settings:

    Return to help index

  • Ignition Set-Up

    Return to help index

  • Basic Tables

    Return to help index

  • Other Tables

  • Tuning
  • X-Tau Tuning

    The concept of "X-Tau" compensation is very simple: for every squirt of the fuel injector, the majority of the fuel makes it into the cylinder, but some of the fuel from the squirt collects on the wall of the intake manifold and intake valve. In simplistic terms, a certain percentage of fuel (1-X) gets into the cylinder, the remainder sticks to the walls (X), hence the term 'wall wetting'.

    The fuel that sticks to the walls eventually evaporates back into the airstream and is drawn into the cylinder. This is a time variable, call it Tau, which is the amount of time it takes to get the fuel clinging to the wall back into the cylinder.

    Both X and Tau can be a function of RPM/MAP, coolant temp, etc. X value is pretty much constant but the Tau is a function of several parameters.

    Note that if the injection pulse width is the same, and if it arrives with a fixed time interval (i.e. same RPM) then a equilibrium is reached where the amount of fuel sticking to the walls is in equilibrium with the wall film dissipating back into the airstream. However, a change in pulse width or a change in the time between injections upset this equilibrium, requiring an "adjustment" in the delivered fuel if one wants to compensate, hence the term "transient fuel compensation".

    There is more on X-Tau here: www.megamanual.com/ms2/xtau.htm.

    There are a number of user-configurable settings for X-Tau. If X-Tau is enabled under 'Settings/General/X-Tau Usage', then you'll find:

  • Other Tuning

  • Communications
  • Return to help index

  • Tools

    Return to help index

  • MS-II General Info


    © 2013 Lance Gardiner - All rights reserved. MegaSquirt® and MicroSquirt® are registered trademarks.