[https://github.com/rusefi/rusefi/issues/2244](https://github.com/rusefi/rusefi/issues/2244) - Limp mode affecting the unit tests
[https://github.com/rusefi/rusefi/issues/932](https://github.com/rusefi/rusefi/issues/932) - Limp mode for MAP failure
[https://github.com/rusefi/rusefi/issues/2125](https://github.com/rusefi/rusefi/issues/2125) - Fail second ETB when other is down
[https://github.com/rusefi/rusefi/issues/2258](https://github.com/rusefi/rusefi/issues/2258) - Time since boot should be included in main relay logic
[https://github.com/rusefi/rusefi/issues/2073](https://github.com/rusefi/rusefi/issues/2073) - Try to check which trigger wheel the signal is coming from to allow limp from second trigger
[https://github.com/rusefi/rusefi/issues/2058](https://github.com/rusefi/rusefi/issues/2058) - better handling of FSIO fails
[https://github.com/rusefi/rusefi/issues/1604](https://github.com/rusefi/rusefi/issues/1604) - Allow negative values for the TPS
[https://github.com/rusefi/rusefi/issues/1535](https://github.com/rusefi/rusefi/issues/1535) - Rev limit with ETB
[https://github.com/rusefi/rusefi/issues/1444](https://github.com/rusefi/rusefi/issues/1444) - Use pin input to trigger a log
[https://rusefi.com/forum/viewtopic.php?f=5&t=1900&p=39412](https://rusefi.com/forum/viewtopic.php?f=5&t=1900&p=39412) - Limp Home and Engine Protection
One of the most critical things in terms of driver feedback is making the error warnings as clear as possible. In a critical engine protection situation the last thing you want is the driver not being sure what he needs to do.
Because of this the EML light should have 2 stages:
Current status - Knock sensors work, we have reliable logging of signals, we have some level of noise threshold working, we have know windowing working, we have auto calculation of the second harmonic?
2 ways to do this, either close ETB or open wastegate (or both).
Should be designed to be user configurable as to the level of intervention and which method to take.
Requires: max allowed pressure reduction by ETB, toggle option for etb, toggle option for wastegate, maybe a max pwm duty cycle increase for wastegate.
Should remain on until driver lifts throttle to prevent surging. Should be the next action after the enrichment if knock still present.
I.e. above user defined EGT spark max retard is reduced to user defined level and meth is activated as soon as knock is detected.
Requires: flag "has water meth", user defined EGT limit, maybe water meth pin assignment, user defined water meth pwm? Trigger water meth from gpio table?
5. Extreme case cut fuel and ignition for x cycles to reduce the in cylinder temperatures before re-enabling as a last ditch to keep auto ignition down.
As we schedule events individually we could cut the cylinder that was detected to be high, this would require killing the injector for just that cylinder or for the batch.
Main thing to avoid here is leanout, fuel pressure compensation is going to deal with a lot of the problem as the pressure drop but at some point it will reach the max injector duty cycle.
Possible ways to mitigate this are to limit RPM, limit boost and/or limit pedal to achieve the previous.
As these are "fatal" we should likely treat them as such and perform a controlled shutdown.
In this case it would be to deactivate injection and ignition and close ETB.
This MUST only be the case for truly fatal errors where the consequences of keeping the engine running are worse than leaving someone with a total loss of power (even if it is done in a controlled fashion), again this is a case where a flashing EML is needed.