Add setBoostDutyAdd function to control only boost duty #4900

This commit is contained in:
rusefillc 2022-12-19 12:05:06 -05:00
parent dca3b46896
commit 74e8291327
2 changed files with 9 additions and 3 deletions

View File

@ -34,6 +34,7 @@ void BoostController::init(IPwm* pwm, const ValueProvider3D* openLoopMap, const
void BoostController::resetLua() {
luaTargetAdd = 0;
luaTargetMult = 1;
luaOpenLoopAdd = 0;
}
void BoostController::onConfigurationChange(pid_s* previousConfiguration) {
@ -84,9 +85,10 @@ expected<percent_t> BoostController::getOpenLoop(float target) {
efiAssert(OBD_PCM_Processor_Fault, m_openLoopMap != nullptr, "boost open loop", unexpected);
openLoopPart = m_openLoopMap->getValue(rpm, tps.Value);
openLoopPart = luaOpenLoopAdd + m_openLoopMap->getValue(rpm, tps.Value);
#if EFI_TUNER_STUDIO
// todo: why do we still copy this data point?
engine->outputChannels.boostControllerOpenLoopPart = openLoopPart;
#endif

View File

@ -733,14 +733,18 @@ void configureRusefiLuaHooks(lua_State* l) {
});
#if EFI_BOOST_CONTROL
lua_register(l, "setBoostAdd", [](lua_State* l) {
lua_register(l, "setBoostTargetAdd", [](lua_State* l) {
engine->boostController.luaTargetAdd = luaL_checknumber(l, 1);
return 0;
});
lua_register(l, "setBoostMult", [](lua_State* l) {
lua_register(l, "setBoostTargetMult", [](lua_State* l) {
engine->boostController.luaTargetMult = luaL_checknumber(l, 1);
return 0;
});
lua_register(l, "setBoostDutyAdd", [](lua_State* l) {
engine->boostController.luaOpenLoopAdd = luaL_checknumber(l, 1);
return 0;
});
#endif // EFI_BOOST_CONTROL
#if EFI_IDLE_CONTROL
lua_register(l, "setIdleAdd", [](lua_State* l) {