Started looking at this...
// No-Lift-Shift
if (B_kuppl)
{
if (! B_brems && nmot_w > RPMThreshold && wped > AccPedalThreshold)
{
// NoLiftShift is active
if (counter_NoLiftShift < IgnitionCutDuration)
{
tsrldyn = 0; // Interrupt ignition
counter_NoLiftShift++;
}
}
else
{
// Other conditions not true, don't allow ignition interruption
// until clutch is released and pressed again
counter_NoLiftShift = 0xFFFF;
}
}
else
{
// Clutch released -> re-arm NLS
counter_NoLiftShift = 0;
}
}
One thing I don't get - why disable ignition cut completely if RPM falls below threshold until the clutch is depressed again?
In fact, I don't see the entire logic between locking out the ignition cut at all.
Before it cuts ignition, it checks if all the conditions are met. If any of them are not met, it should IMO just reset the counter and that's it. At least that's how I did it on the older ECU's.
Am I missing something obvious here?