diff --git a/firmware/controllers/actuators/idle_thread_io.cpp b/firmware/controllers/actuators/idle_thread_io.cpp index b04e686722..817452a840 100644 --- a/firmware/controllers/actuators/idle_thread_io.cpp +++ b/firmware/controllers/actuators/idle_thread_io.cpp @@ -211,7 +211,9 @@ void startIdleThread() { // Force the idle controller to use 0 offset, as this is handled by the open loop table instead. engineConfiguration->idleRpmPid.offset = 0; - engine->module().unmock().init(); + IdleController *controller = &engine->module().unmock(); + + controller->init(); #if ! EFI_UNIT_TEST // todo: we still have to explicitly init all hardware on start in addition to handling configuration change via @@ -219,9 +221,9 @@ void startIdleThread() { initIdleHardware(); #endif /* EFI_UNIT_TEST */ - engine->module().unmock().idleState = INIT; - engine->module().unmock().baseIdlePosition = -100.0f; - engine->module().unmock().currentIdlePosition = -100.0f; + controller->idleState = INIT; + controller->baseIdlePosition = -100.0f; + controller->currentIdlePosition = -100.0f; #if ! EFI_UNIT_TEST