From ee513cf452e2255da3fade6db29a008064ce1c04 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Thu, 7 Sep 2023 15:32:21 -0400 Subject: [PATCH] boost control runs in fast callback --- firmware/controllers/actuators/boost_control.cpp | 8 ++++---- firmware/controllers/algo/engine.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/firmware/controllers/actuators/boost_control.cpp b/firmware/controllers/actuators/boost_control.cpp index 216a707c3d..ca2409a7f9 100644 --- a/firmware/controllers/actuators/boost_control.cpp +++ b/firmware/controllers/actuators/boost_control.cpp @@ -147,7 +147,7 @@ percent_t BoostController::getClosedLoopImpl(float target, float manifoldPressur return 0; } - return m_pid.getOutput(target, manifoldPressure, SLOW_CALLBACK_PERIOD_MS / 1000.0f); + return m_pid.getOutput(target, manifoldPressure, FAST_CALLBACK_PERIOD_MS / 1000.0f); } expected BoostController::getClosedLoop(float target, float manifoldPressure) { @@ -181,11 +181,11 @@ void BoostController::setOutput(expected output) { void BoostController::update() { if (!hasInitBoost) { - return; + return; } - m_pid.iTermMin = -50; - m_pid.iTermMax = 50; + m_pid.iTermMin = -20; + m_pid.iTermMax = 20; rpmTooLow = Sensor::getOrZero(SensorType::Rpm) < engineConfiguration->boostControlMinRpm; tpsTooLow = Sensor::getOrZero(SensorType::Tps1) < engineConfiguration->boostControlMinTps; diff --git a/firmware/controllers/algo/engine.cpp b/firmware/controllers/algo/engine.cpp index fa33ceeacf..b49ebb629e 100644 --- a/firmware/controllers/algo/engine.cpp +++ b/firmware/controllers/algo/engine.cpp @@ -160,10 +160,6 @@ void Engine::periodicSlowCallback() { updateFans(module().unmock().isAcEnabled()); -#if EFI_BOOST_CONTROL - engine->boostController.update(); -#endif // EFI_BOOST_CONTROL - #if (BOARD_TLE8888_COUNT > 0) tle8888startup(); #endif @@ -554,6 +550,10 @@ void Engine::periodicFastCallback() { tachSignalCallback(); engine->engineModules.apply_all([](auto & m) { m.onFastCallback(); }); + +#if EFI_BOOST_CONTROL + engine->boostController.update(); +#endif // EFI_BOOST_CONTROL } EngineRotationState * getEngineRotationState() {