diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index 47ad33760d..360496aedd 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -94,7 +94,7 @@ public: AcState acState; bool enableOverdwellProtection = true; bool isPwmEnabled = true; - int triggerActivitySecond = 0; + int triggerActivitySecond = -99; const char *prevOutputName = nullptr; diff --git a/firmware/controllers/core/fsio_impl.cpp b/firmware/controllers/core/fsio_impl.cpp index a352ec3c7d..cd23faea2a 100644 --- a/firmware/controllers/core/fsio_impl.cpp +++ b/firmware/controllers/core/fsio_impl.cpp @@ -720,7 +720,9 @@ void runHardcodedFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE) { } // see FUEL_PUMP_LOGIC if (isBrainPinValid(CONFIG(fuelPumpPin))) { - enginePins.fuelPumpRelay.setValue((getTimeNowSeconds() < engine->triggerActivitySecond + engineConfiguration->startUpFuelPumpDuration) || (engine->rpmCalculator.getRpm() > 0)); + int triggerActivityOrEcuStartSecond = maxI(0, engine->triggerActivitySecond); + + enginePins.fuelPumpRelay.setValue((getTimeNowSeconds() < triggerActivityOrEcuStartSecond + engineConfiguration->startUpFuelPumpDuration) || (engine->rpmCalculator.getRpm() > 0)); } enginePins.o2heater.setValue(engine->rpmCalculator.isRunning());