From 8a200331489623fc2935c2004f240551c5d9f669 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sat, 8 Jan 2022 22:52:28 -0500 Subject: [PATCH] limp ClearReason --- firmware/controllers/limp_manager.cpp | 5 +++-- firmware/controllers/limp_manager.h | 6 +++--- firmware/tunerstudio/rusefi.input | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/firmware/controllers/limp_manager.cpp b/firmware/controllers/limp_manager.cpp index 648ac129ab..5d52eb9e96 100644 --- a/firmware/controllers/limp_manager.cpp +++ b/firmware/controllers/limp_manager.cpp @@ -8,6 +8,7 @@ void LimpManager::updateState(int rpm, efitick_t nowNt) { // User-configured hard RPM limit if (rpm > engineConfiguration->rpmHardLimit) { + warning(CUSTOM_OBD_NAN_INJECTION, "Hit hard limit %f", engineConfiguration->rpmHardLimit); if (engineConfiguration->cutFuelOnHardLimit) { allowFuel.clear(ClearReason::HardLimit); } @@ -111,7 +112,7 @@ LimpState LimpManager::allowInjection() const { return {false, m_allowInjection.clearReason}; } if (!m_transientAllowInjection) { - return {false, ClearReason::Fatal}; + return {false, m_transientAllowInjection.clearReason}; } return {true, ClearReason::None}; } @@ -121,7 +122,7 @@ LimpState LimpManager::allowIgnition() const { return {false, m_allowIgnition.clearReason}; } if (!m_transientAllowIgnition) { - return {false, ClearReason::Fatal}; + return {false, m_transientAllowIgnition.clearReason}; } return {true, ClearReason::None}; } diff --git a/firmware/controllers/limp_manager.h b/firmware/controllers/limp_manager.h index d0994067dd..f933e17757 100644 --- a/firmware/controllers/limp_manager.h +++ b/firmware/controllers/limp_manager.h @@ -8,7 +8,7 @@ enum class ClearReason : uint8_t { None, // 0 Fatal, Settings, - HardLimit, + HardLimit, // 3 FaultRevLimit, BoostCut, // 5 OilPressure, @@ -78,8 +78,8 @@ private: Clearable m_allowIgnition; Clearable m_allowTriggerInput; - bool m_transientAllowInjection = true; - bool m_transientAllowIgnition = true; + Clearable m_transientAllowInjection = true; + Clearable m_transientAllowIgnition = true; bool m_hadOilPressureAfterStart = false; }; diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 03bd2f99a9..8a88cc5afa 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -3137,7 +3137,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" field = "!https://rusefi.com/s/debugmode" field = "Debug mode", debugMode - dialog = limits, "Limits" + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit field = "RPM hard limit", rpmHardLimit, { cutFuelOnHardLimit || cutSparkOnHardLimit } @@ -3154,7 +3154,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" field = "Failed MAP sensor fallback", failedMapFallback, { !enableMapEstimationTableFallback } dialog = limitsAndFallback, "Limits and fallbacks" - panel = limits + panel = limitsSettings panel = etbLimits panel = fallbacks