From f470d93cca3cc257fcdddaf8bcfaac5b9a0b2975 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Tue, 18 Jan 2022 20:57:06 -0500 Subject: [PATCH] On m_event vs lobe vs scheduling #3804 --- .../controllers/engine_cycle/high_pressure_fuel_pump.cpp | 5 +++-- .../controllers/engine_cycle/high_pressure_fuel_pump.txt | 2 +- .../engine_cycle/high_pressure_fuel_pump_generated.h | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/firmware/controllers/engine_cycle/high_pressure_fuel_pump.cpp b/firmware/controllers/engine_cycle/high_pressure_fuel_pump.cpp index d4650eac41..b3f8430409 100644 --- a/firmware/controllers/engine_cycle/high_pressure_fuel_pump.cpp +++ b/firmware/controllers/engine_cycle/high_pressure_fuel_pump.cpp @@ -128,16 +128,17 @@ void HpfpController::onFastCallback() { // Pressure current/target calculation int rpm = engine->rpmCalculator.getRpm(); - isHpfpActive = rpm < rpm_spinning_cutoff || + isHpfpInactive = rpm < rpm_spinning_cutoff || engineConfiguration->hpfpCamLobes == 0 || engineConfiguration->hpfpPumpVolume == 0 || !enginePins.hpfpValve.isInitialized(); // What conditions can we not handle? - if (isHpfpActive) { + if (isHpfpInactive) { m_quantity.reset(); m_requested_pump = 0; m_deadtime = 0; } else { + efiAssertVoid(OBD_PCM_Processor_Fault, "Too few trigger tooth for this number of HPFP lobes", engine->triggerCentral.triggerShape.getSize() > engineConfiguration->hpfpCamLobes * 6); // Convert deadtime from ms to degrees based on current RPM float deadtime_ms = interpolate2d( Sensor::get(SensorType::BatteryVoltage).value_or(VBAT_FALLBACK_VALUE), diff --git a/firmware/controllers/engine_cycle/high_pressure_fuel_pump.txt b/firmware/controllers/engine_cycle/high_pressure_fuel_pump.txt index 76e084d5f9..4bbcdc5f25 100644 --- a/firmware/controllers/engine_cycle/high_pressure_fuel_pump.txt +++ b/firmware/controllers/engine_cycle/high_pressure_fuel_pump.txt @@ -5,7 +5,7 @@ float fuel_requested_percent float fuel_requested_percent_pi bit noValve bit angleAboveMin -bit isHpfpActive +bit isHpfpInactive angle_t nextLobe angle_t nextStart diff --git a/firmware/controllers/engine_cycle/high_pressure_fuel_pump_generated.h b/firmware/controllers/engine_cycle/high_pressure_fuel_pump_generated.h index 2a3d738a6d..04664072f9 100644 --- a/firmware/controllers/engine_cycle/high_pressure_fuel_pump_generated.h +++ b/firmware/controllers/engine_cycle/high_pressure_fuel_pump_generated.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/engine_cycle\high_pressure_fuel_pump.txt Tue Jan 18 10:07:25 EST 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/engine_cycle\high_pressure_fuel_pump.txt Tue Jan 18 20:53:30 EST 2022 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -26,7 +26,7 @@ struct high_pressure_fuel_pump_s { bool angleAboveMin : 1 {}; /** offset 12 bit 2 */ - bool isHpfpActive : 1 {}; + bool isHpfpInactive : 1 {}; /** offset 12 bit 3 */ bool unusedBit_6_3 : 1 {}; @@ -126,4 +126,4 @@ struct high_pressure_fuel_pump_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/engine_cycle\high_pressure_fuel_pump.txt Tue Jan 18 10:07:25 EST 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/engine_cycle\high_pressure_fuel_pump.txt Tue Jan 18 20:53:30 EST 2022