ALS: Timer added

(cherry picked from commit 1c88ef4dc682622bbf15ae7de6ad87d6b1fee2b4)
This commit is contained in:
TurboMarian 2023-01-21 16:41:57 +00:00 committed by rusefillc
parent 63fb0cf5f9
commit c0ef3eff2b
2 changed files with 12 additions and 1 deletions

View File

@ -59,6 +59,12 @@ bool AntilagSystemBase::isALSMaxThrottleIntentCondition() const {
return engineConfiguration->ALSMaxTPS > throttleIntent; return engineConfiguration->ALSMaxTPS > throttleIntent;
} }
bool AntilagSystemBase::isInsideALSTimerCondition() {
auto ALStime = ALStimer.getElapsedSeconds();
return ALStime < engineConfiguration->ALSMaxDuration;
}
bool AntilagSystemBase::isAntilagConditionMet(int rpm) { bool AntilagSystemBase::isAntilagConditionMet(int rpm) {
@ -68,19 +74,23 @@ bool AntilagSystemBase::isAntilagConditionMet(int rpm) {
ALSMaxCLTCondition = isALSMaxCLTCondition(); ALSMaxCLTCondition = isALSMaxCLTCondition();
ALSMaxThrottleIntentCondition = isALSMaxThrottleIntentCondition(); ALSMaxThrottleIntentCondition = isALSMaxThrottleIntentCondition();
ALSSwitchCondition = isInsideALSSwitchCondition(); ALSSwitchCondition = isInsideALSSwitchCondition();
ALSTimerCondition = isInsideALSTimerCondition();
return ALSMinRPMCondition && return ALSMinRPMCondition &&
ALSMaxRPMCondition && ALSMaxRPMCondition &&
ALSMinCLTCondition && ALSMinCLTCondition &&
ALSMaxCLTCondition && ALSMaxCLTCondition &&
ALSMaxThrottleIntentCondition && ALSMaxThrottleIntentCondition &&
ALSSwitchCondition; ALSSwitchCondition &&
ALSTimerCondition;
} }
void AntilagSystemBase::update() { void AntilagSystemBase::update() {
int rpm = Sensor::getOrZero(SensorType::Rpm); int rpm = Sensor::getOrZero(SensorType::Rpm);
isAntilagCondition = engineConfiguration->antiLagEnabled && isAntilagConditionMet(rpm); isAntilagCondition = engineConfiguration->antiLagEnabled && isAntilagConditionMet(rpm);
if (!ALSMinRPMCondition) {ALStimer.reset();}
#if EFI_ANTILAG_SYSTEM #if EFI_ANTILAG_SYSTEM
fuelALSCorrection = getFuelALSCorrection(rpm); fuelALSCorrection = getFuelALSCorrection(rpm);
#endif // EFI_ANTILAG_SYSTEM #endif // EFI_ANTILAG_SYSTEM

View File

@ -22,6 +22,7 @@ public:
bool isALSMaxCLTCondition() const; bool isALSMaxCLTCondition() const;
bool isALSMaxThrottleIntentCondition() const; bool isALSMaxThrottleIntentCondition() const;
bool isInsideALSSwitchCondition(); bool isInsideALSSwitchCondition();
bool isInsideALSTimerCondition();
/* enabled and all conditions above */ /* enabled and all conditions above */
bool isAntilagConditionMet(int rpm); bool isAntilagConditionMet(int rpm);
}; };