diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 946de624dc..9a6ea0d934 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -642,7 +642,6 @@ static void updateFuelResults() { engine->outputChannels.baseFuel = engine->engineState.baseFuel * 1000; // Convert grams to mg engine->outputChannels.fuelRunning = engine->engineState.running.fuel; - engine->outputChannels.actualLastInjection = engine->actualLastInjection[0]; engine->outputChannels.fuelFlowRate = engine->engineState.fuelConsumption.getConsumptionGramPerSecond(); engine->outputChannels.totalFuelConsumption = engine->engineState.fuelConsumption.getConsumedGrams(); diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index 73242852c3..44c36455f1 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -344,9 +344,6 @@ public: float stftCorrection[STFT_BANK_COUNT] = {0}; - // Stores the actual pulse duration of the last injection for every cylinder - floatms_t actualLastInjection[MAX_CYLINDER_COUNT] = {0}; - // Standard cylinder air charge - 100% VE at standard temperature, grams per cylinder float standardAirCharge = 0; diff --git a/firmware/controllers/can/can_verbose.cpp b/firmware/controllers/can/can_verbose.cpp index e8d8a6a271..6565b9a565 100644 --- a/firmware/controllers/can/can_verbose.cpp +++ b/firmware/controllers/can/can_verbose.cpp @@ -133,7 +133,7 @@ struct Fueling { static void populateFrame(Fueling& msg) { msg.cylAirmass = engine->engineState.sd.airMassInOneCylinder; msg.estAirflow = engine->engineState.airflowEstimate; - msg.fuel_pulse = engine->actualLastInjection[0]; + msg.fuel_pulse = (float)engine->outputChannels.actualLastInjection; msg.knockCount = engine->module()->getKnockCount(); } diff --git a/firmware/controllers/engine_cycle/main_trigger_callback.cpp b/firmware/controllers/engine_cycle/main_trigger_callback.cpp index 33938b03b9..fda4c535a0 100644 --- a/firmware/controllers/engine_cycle/main_trigger_callback.cpp +++ b/firmware/controllers/engine_cycle/main_trigger_callback.cpp @@ -207,7 +207,9 @@ void InjectionEvent::onTriggerTooth(int rpm, efitick_t nowNt, float currentPhase engine->engineState.fuelConsumption.consumeFuel(injectionMassGrams * numberOfInjections, nowNt); - engine->actualLastInjection[this->cylinderNumber] = injectionDuration; + if (this->cylinderNumber == 0) { + engine->outputChannels.actualLastInjection = injectionDuration; + } if (cisnan(injectionDuration)) { warning(CUSTOM_OBD_NAN_INJECTION, "NaN injection pulse");