LC Guide
Overview
This guide will attempt to explain the OEM launch control logic and provide a basic set up / how-
to guide. Another possible solution is to use the SwitchPatch LC custom logic, which is
currently the only solution for MT owners, but also works for DSG cars, but requires some
additional setup considerations.
The OEM launch control logic is DSG only and both ECU and TCU file changes are needed to
enable / tweak it.
Method 1: 1.8 cars, GTIs, and A3s’ OEM LC implementation simply closes the throttle plate to
maintain target RPM. This is called slow path intervention (throttle closure to control
torque/revs). The TCU calibration sets this target RPM, as well as the request for slow path
intervention. The ECU receives this request and adjusts TPS in order to meet the temp
torque/rev limiter imposed by the TCU.
Method 2: On stock Gof Rs, S3s and similar variants, the same basic logic is used, but there’s
an additional layer on top. The TCU still sets the target RPM and requests slow path
intervention, but in addition the ECU recognizes this is a LC condition and imposes its own fast
path intervention at the same time. Fast path intervention is the use of retarded ign advance
and SCC to limit torque/revs. SCC is single cylinder cutoff (fuel cut) where the ECU can fuel cut
individual cylinders based on the amount of torque reduction requested or required. The end
result of all this is a more aggressive LC where some boost is made and the throttle
opens/closes to keep revs in check. Generally speaking, when working correctly, this works
pretty well for stock turbos and smaller hybrids and gives you a desirable 5-10psi on launch and
works well in most conditions on street tires, etc.
Method 3: Lastly, it’s possible to achieve LC on OEM logic using only fast path intervention. In
this scenario, the TCU sends the requested rev limit and requests fast path intervention. The
ECU will only attempt to lower torque with SCC and spark retard, but within the limits imposed
on it by the ECU calibration itself. Throttle remains wide open. It’s actually very similar to the
condition of a gearshift. With this implementation, it’s possible the ECU won’t have sufficient
authority to maintain a stable RPM and could generate a lot of boost and potentially damage the
engine, so with this method it’s especially important to pay attention, understand the logic and
do some trial and error to get it right.
Method 4: SwitchPatch LC is very similar to the fast path only LC as described above, except
that it’s all implemented on the ECU side only and has a different set of tables to adjust to get
the desired outcome.
OEM LC - Method 1/2
Option 1 and Option 2 are closely related and use the same tables, while Option 3 is
unique/different, so it will be discussed separately.
The biggest advantage of this option is that it gives you control over SCC, spark and throttle and
several LC-specific tables, such as boost targets, ign targets, SCC mode requests. The biggest
disadvantage is that this particular logic is not covered in the FR, so the logic and tables aren't
fully understood. In other words, it’s pretty nice when it works, but when it’s not, it’s difficult to
diagnose, troubleshoot or fix. For cars that come with Option 2 in stock form, it’s usually a good
solution and can be easily tweaked “up or down” as required for most setups. For cars that did
not come with it, it’s hit or miss in my experience, depending on the box code. I’ve had good
success adapting it to 5G0906259L cars for example, but those changes do not often translate
over into other box codes (8V0906264M, for example).
Tables of interest on the ECU side to enable this mode are apart of the CordTqIntv Function:
Table Name Explanation
Configuration state to activate torque reserve Bitmask to enable Torque Reserve in AMAX
depending on state of maximum acceleration (CordTqIntv_tqResvMax_aMaxCtl_M_VW).
control (CordTqIntv_st_aMaxCtl_C_VW) Unknown exactly what they all do but enabled
OEM values are set to “2”
Configuration switch for interventions on set Bitmask to enable interventions on set path.
path (CordTqIntv_swiSelSetIntv_C_VW) “Set path” = fast path (I believe). Unknown
exactly what they all do but enabled OEM
values are set to “192”
Demanded ignition efficiency by maximum Requested ignition efficiency for LC. 0 = min
acceleration control spark, 1= base spark. Generally want this set
(CordTqIntv_effIgDem_aMaxCtl_C_VW) to 0, unless you want less boost.
Demanded injection cut off efficiency by Requested injection cut off efficiency, which
maximum acceleration control translates to a specific SCC cylinder cutoff
(CordTqIntv_effInjCutOffDem_aMaxCtl_C_V value. Normally set to 0.55 which in most
cals translates to 2 cylinder cutoff
W)
Maximum torque reserve from maximum Max torque reserve in AMAX (LC). Set to
acceleration control 500 in OEM enabled tunes.
(CordTqIntv_tqResvMax_aMaxCtl_M_VW)
8V0906259K values for reference:
These values generally don’t need to be edited if it’s a car that came with this style LC in stock
form. If you’re trying to implement it on another box code, I would start with these values but
you may need to experiment from there. CordTqIntv_swiSelSetIntv sometimes has an
undesired effect and leaving it as 0 may work better. You need to try lower values in
CordTqIntv_rqResvMax_amaxCtl, such as 100-150nm.
SCC pattern depending on SCC efficiency (ID_NR_PAT_SCC)
Translates the requested injection cut off efficiency value to an actual SCC value. In this
example, 0.55 = 2 cylinder shutoff in LC.
Boost pressure setpoint factor for race start
(IP_FAC_PUT_SP_BOL_ATJS & IP_FAC_PUT_SP_BOL_ATJS_4WD)
Sets the target PUT_SP in LC. Note the values are in pressure ratio. Some older box codes do
not have the 4WD version
TCU: Stall speed LC approach (KusLaunchNstall_kl & KusLaunchNstallESP_kl)
Tuning tips:
● Primary “up or down” adjustments will be RPM, spark and PUT_SP target
● To run lower spark in LC, adjust the appropriate min spark tables depending on port flap,
VVL, combustion mode, etc.
● Evaluate both PUT and MAP in logs– some throttle closure is expected, just because
MAP or “boost” is lower doesn’t mean that turbo isn’t getting spooled up
● Every setup is different, expect some trial and error.
● Keep conditions as consistent and/or realistic as possible. I’ve seen pretty big
differences on the same day, low vs high IAT (hood closed idling for extended periods).
OEM LC - Method 3
This method uses fast path only intervention as a means to control engine RPM and build boost.
It’s not all that different from Option 2 described above, but many of the ECU’s LC-specific
tables and logic is not used, so different tables must be altered. In addition, the ECU treats this
LC method more or less the same as a gearshift, so the changes made to the tables can/will
affect gearshift operation as well.
This method also lacks the “safety net” that option 2 has with slow path/throttle intervention and
some of the LC-specific tables. So, extra care must be taken when going this route and expect
some trial and error to get it dialed in initially.
Boost control or PUT_SP in this LC logic is very simple and there are no LC-specific tables. It
follows the normal Torque Request to final PUT_SP logic for whatever gear and RPM you’re in.
Note that some vehicles report either Gear 0, 1 or 2 in LC and it will follow whatever the
reported gear is. You can set a lower PUT_SP limit to limit boost, however note that it will
maintain that boost target during rollout. The other option is keep your normal/full PUT_SP
target/limits in place, and instead tweak SCC and spark and RPM to get the final result you’re
looking for. If your car reports Gear 0 this is desired, as you can set an independent LC target.
The basic toggle to enable this method is in the TCU tune. (DQ250 Only right now)
Type of engine intervention when limiting engine speed (mmr_eingriff_art_ko_NMotBegr)
This value is a bitmask that sets the type of engine intervention that is used for multiple
conditions and TunerPro and EcuEdit only display it as a single byte, so it’s a little confusing to
understand.
mmr_eingriff_art_ko_NMotBegr is specifically bit 0x8 or bit 3. To better understand what it’s set
to and what we are changing it to, this is decimal value of 188 displayed as binary:
1 = slow path intervention
0 = fast path intervention
In this example, it is set to slow path intervention (1) for engine speed limiting
To change this to fast path intervention or make bit 3 a value of 0, the decimal value is now 180
Your original value may be something other than 188. You probably just need to set the value
to 8 less than original, but it’s always wise to check (I use Windows Calc in Programmer mode).
Other than normal RPM adjustment in the TCU file, the only other changes you may need to
make on the TCU side are the PID controller gains for engine speed limiter. Like in the previous
LC methods, the TCU sends a torque ratio cut request to the ECU, the value will depend on if
the engine speed is above or below target. You may want to increase the P and I value to give
the controller more authority or if it responds too slowly or too quickly.
I-factor for speed limit controller (KusNBegr_Ki_ko)
P-factor for speed limit controller (KusNBegr_Kp_ko)
On the ECU side, there are several tables that affect the SCC and spark behavior in LC, and
they are mostly different from the Option 2 method described above. As mentioned previously,
the logic and tables are more or less the same as when in gearshift. If you’re previously fine
tuned for shifting behavior or “DSG farts”, it’s possible some of those changes will conflict with
the process described below and you’ll have to find another LC solution or find an acceptable
compromise (but I know DSG farts are lyfe for many of you).
● SCC pattern depending on SCC efficiency (ID_NR_PAT_SCC)
● Minimum efficiency setpoint for single cylinder shut-off in case of gear shift in Sport
mode (ID_EFF_SCC_SP_MIN_SPT)
Two ID_EFF_SCC_SP_MIN_SPT tables included for illustration purposes.
Keep in mind that this table is the minimum efficiency setpoint, so higher values can still be
commanded. In this example in Sport, the ECU would be able to command SCC of 0, 1 or 2.
The table on the left may work OK for a setup with a pretty large, laggy turbo, but for most
setups would result in climbing engine revs and high boost. To allow for up to 3 cylinder cut,
you could set the bottom DCT row to a value of 0.20 (table on the right).
2 additional tables that need to be disabled or set to values depicted below, or else they will
attempt to preemptively re-enable cylinders to “help torque recover faster”, but for the purposes
of LC, will not give you the behavior you are trying to command.
● Factor to re-enable a number of cylinders by increasing torque request (to re-enable e.g.
1 cyl. for a 4 cyl. engine factor has to be set to 0.25) (C_FAC_TQI_ADD_SCC_CYL)
● Torque gradient (offset between 2 recurrence steps) limit to re-enable cylinders during
gear shift (C_TQI_OFS_GS_DEC_SCC)
Spark is generally going to be min spark + spark correction maps in gearshift. You DSG fart
guys have probably already spent a lot of time with these.
Correction map for IGA_MIN_BAS_TMP in case of external request in sport mode
(IP_IGA_ADD_MIN_GS_REQ_SPT)
Ensure that “Activation of functionnality for IGA_ADD_MIN_EXT_REQ in sport mode”
(LC_IGA_ADD_MIN_GS_ACT_SPT) is set to 1, so that the above table is actually used when in
Sport mode, otherwise it will default to the normal version.
Finally, you can use this table so the above spark correction map IS used in gearshift but NOT
USED in LC. For example, you want around -10 ign in LC (min spark), but want around -20 to -
25 in gearshift (farts and all that).
Correction factor for IGA additive minimum external request
(IP_FAC_IGA_ADD_MIN_EXT_REQ)
Tuning tips:
● Primary “up or down” adjustments will be RPM, SCC and spark
● In early testing, good idea to lower torque request / PUT_SP at LC operating point to
avoid possible overboost condition or damage
● To run lower spark in LC, adjust the appropriate min spark tables depending on port flap,
VVL, combustion mode, etc. OR gearshift spark table and/or scaling factor tables
● Log SCC efficiency setpoint and Cyl shutoff to confirm SCC is behaving as desired
● Every setup is different, expect some trial and error.
● Keep conditions as consistent and/or realistic as possible. I’ve seen pretty big
differences on the same day, low vs high IAT (hood closed idling for extended periods).
SP LC - Method 4
Overview
Target RPM: Pick a starting RPM close to the minimum RPM you can keep your turbo spooled
throughout a launch without bogging. This needs to remain 150 rpm or more under your DSG
launch control, if applicable. Be aware that higher values can cause the clutch to actually
engage softer, as engagement rates are set by clutch torque apply rates/time.
Target TQ: This is directly correlated with the boost at which the car will cut cylinders to prevent
boost continuing to rise on LC. This requires trial and error, as what boost this means will
change due to torque modeling and rpm, as well as seemingly car to car on the same files. Note
that torque is pretty arbitrary and ATT and TTA can have large impacts on both this and clutch
engagement; for fine tuning, consider skewing ATT in LC areas to adjust the clutch engagement
as needed if you have the LC set as you want and are having to work around an undesirable
clutch engagement rate.
Timing during RPM Limiter and Rampout: This sets the timing the ECU commands while the
turbo is spooling and sets the start point timing wise for your ramp out set by Ramp Out cycles.
More negative will spool the turbo faster on LC and allow you to make higher boosts there, but
there is a balancing act to maintain here as the more aggressively you pull timing the more the
ecu will have to cut once reaching “Target TQ” which can cause boost spikes and inconsistent
launches. As you go to higher rpms launch, you will need less negative timing here.
Ramp Out Cycles: This sets the rate at which the ecu will ramp timing between the timing set
in the above table and your final timing. Note that this ramp begins when you let off the brake,
not when the car actually launches. This has a couple affects.
1. You have to have this set longer than the delay it takes for the car to leave for it to have an
effect on the engine output on leave
2. Clutch engagement rate is indirectly proportional to the torque the engine reports, and
torque reporting uses timing in its calculations. This means that running these ramp out cycles
into the launch can cause the clutches to engage less aggressively, which can be useful in
some cases.
3. Lower timing spools turbos. By running timing during rampout low and dragging the ramp
out out long enough, you can spool turbos aggressively after you let off the brake. This is useful
on stock haldex hard tire cars which often hook better with that smooth torque onset this brings,
or bigger turbo cars trying to leave at a lower boost.
Release RPM limiter speed: Speed in kph that the ecu will keep the limiter set in Target RPM
active until to prevent spinning to limiter on launch.