diff --git a/firmware/controllers/idle_thread.cpp b/firmware/controllers/idle_thread.cpp index f70d38a328..131e9438e8 100644 --- a/firmware/controllers/idle_thread.cpp +++ b/firmware/controllers/idle_thread.cpp @@ -295,7 +295,9 @@ private: if (CONFIGB(clutchDownPin) != GPIO_UNASSIGNED) { engine->clutchDownState = efiReadPin(CONFIGB(clutchDownPin)); } - engine->acSwitchState = getAcToggle(PASS_ENGINE_PARAMETER_SIGNATURE); + if (hasAcToggle(PASS_ENGINE_PARAMETER_SIGNATURE)) { + engine->acSwitchState = getAcToggle(PASS_ENGINE_PARAMETER_SIGNATURE); + } if (CONFIGB(clutchUpPin) != GPIO_UNASSIGNED) { engine->clutchUpState = efiReadPin(CONFIGB(clutchUpPin)); } diff --git a/firmware/controllers/sensors/allsensors.cpp b/firmware/controllers/sensors/allsensors.cpp index d61d5408df..f28a81d94d 100644 --- a/firmware/controllers/sensors/allsensors.cpp +++ b/firmware/controllers/sensors/allsensors.cpp @@ -18,6 +18,10 @@ void initSensors(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX) { initFlexFuelSensor(); } +bool hasAcToggle(DECLARE_ENGINE_PARAMETER_SIGNATURE) { + return engineConfiguration->acSwitchAdc != EFI_ADC_NONE; +} + // todo: move this somewhere else? maybe. bool getAcToggle(DECLARE_ENGINE_PARAMETER_SIGNATURE) { /** diff --git a/firmware/controllers/sensors/allsensors.h b/firmware/controllers/sensors/allsensors.h index cf601082ac..f6029a41f0 100644 --- a/firmware/controllers/sensors/allsensors.h +++ b/firmware/controllers/sensors/allsensors.h @@ -27,6 +27,7 @@ void initSensors(Logging *sharedLogger DECLARE_ENGINE_PARAMETER_SUFFIX); +bool hasAcToggle(DECLARE_ENGINE_PARAMETER_SIGNATURE); bool getAcToggle(DECLARE_ENGINE_PARAMETER_SIGNATURE); #endif /*SENSORS_H_*/