Adding anti-lag launch control and no-lift shift
From Nefmoto
Special thanks to Chris @ Eurodyne, Julex, and Setzi for this feature.
Overview
Anti lag is a mode of operation where ECU interrupts spark every so many ignition cycles as long as the RPM are above set limit causing previously unburned fuel to burn in manifold as soon as RPMs fall and mixture ignites. This results in turbos spooling while the engine doesn't raise RPMs while you sit at the strip waiting for lunch. No lift shift kicks in when you press a clutch and is active for a preset amount of time.
Video examples 1 and 2 of anti-lag launch control.
Implementing
These steps outline adding anti-lag and no-lift shift for an M-box ECU
- Download the XDF definition that contains the configuration maps for steps #2 and #3.
- 0x1A34B: Change FTOMN "minimum opening time" to 0 to enable anti-lag and no-lift shift.
- 0x17E00 to 0x17E08:
- 0x17E00: Speed Threshold - Limits the speed where AntiLag is active. If vehicle speed is < SpeedThreshold, the AntiLag is enabled. Normally set to a low value, e.g. 3 km/h. To disable AntiLag, set the SpeedThreshold to zero.
- 0x17E02: Launch RPM - Sets the launch engine speed. If engine speed is higher than the LaunchRPM, the ignition is interrupted. To disable this function, set LaunchRPM to a high value, e.g. 15000 rpm
- 0x17E04: IgnitionCutDuration - This sets the time for which the ignition is cut while clutch is pressed (NoLiftShift), if also the following conditions are fulfilled:
- Brake is not engaged
- Engine speed is higher than RPMThreshold
- Accel Pedal is engaged more than AccPedalThreshold
Set IgnitionCutDuration to zero to disable the NoLiftShift function.
- 0x17E06: RPM Threshold - Sets the minimum engine speed threshold for the NoLiftShift function. If the engine speed is lower than RPMThreshold, NoLiftShift is disabled.
- 0x17E08: AccPedalPosition - Sets the minimum accelerator pedal angle for NoLiftShift. If the accel. pedal is engaged lesser than AccPedalThreshold, NoLiftShift is disabled.
- 0x8B3A6 to 0x8B3A9: Redirect call to alternate custom routine:
- Replace
F3 F8 F3 8A
- With
DA 88 00 E8
- Replace
- 0x8E800 to 0x8E88D: Replace the empty space with the new routine:
9A2B1380F2F4408ED7008100F2F9007E40499D0BF2F47AF8D7008100F2F9027E4049FD03F78EAC8D0D2F9A2B29808A2B2260F2F47AF8D7008100F2F9067E4049FD1AC2F4028BD7008100C2F9087E4049FD12D7003800F2F4F04FD7008100F2F9047E40499D11F78EAC8D0841D7003800F7F8F04F0D09D7003800F68FF04F0D04D7003800F68EF04FF3F8F38ADB00