diff --git a/firmware/controllers/actuators/idle_thread.cpp b/firmware/controllers/actuators/idle_thread.cpp index 664821e530..7ce630b5d7 100644 --- a/firmware/controllers/actuators/idle_thread.cpp +++ b/firmware/controllers/actuators/idle_thread.cpp @@ -735,10 +735,8 @@ void startPedalPins(DECLARE_ENGINE_PARAMETER_SIGNATURE) { } void stopPedalPins(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - brain_pin_markUsed(CONFIG(clutchUpPin), "clutch" PASS_ENGINE_PARAMETER_SIGNATURE); - brain_pin_markUsed(CONFIG(clutchDownPin), "clutch" PASS_ENGINE_PARAMETER_SIGNATURE); - brain_pin_markUsed(CONFIG(throttlePedalUpPin), "th_pedal" PASS_ENGINE_PARAMETER_SIGNATURE); - brain_pin_markUsed(CONFIG(brakePedalPin), "brake" PASS_ENGINE_PARAMETER_SIGNATURE); - + brain_pin_markUsed(activeConfiguration.clutchUpPin, "clutch" PASS_ENGINE_PARAMETER_SUFFIX); + brain_pin_markUsed(activeConfiguration.clutchDownPin, "clutch" PASS_ENGINE_PARAMETER_SUFFIX); + brain_pin_markUsed(activeConfiguration.throttlePedalUpPin, "th_pedal" PASS_ENGINE_PARAMETER_SUFFIX); + brain_pin_markUsed(activeConfiguration.brakePedalPin, "brake" PASS_ENGINE_PARAMETER_SUFFIX); } - diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index c3b0580ac1..b22b2cab83 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -311,25 +311,7 @@ void applyNewHardwareSettings(DECLARE_ENGINE_PARAMETER_SIGNATURE) { stopHip9001_pins(); #endif /* EFI_HIP_9011 */ -#if EFI_PROD_CODE && (BOARD_EXT_GPIOCHIPS > 0) - stopSmartCsPins(); -#endif /* (BOARD_EXT_GPIOCHIPS > 0) */ - -#if EFI_VEHICLE_SPEED - stopVSSPins(); -#endif /* EFI_VEHICLE_SPEED */ - -#if EFI_LOGIC_ANALYZER - stopLogicAnalyzerPins(); -#endif /* EFI_LOGIC_ANALYZER */ - -#if EFI_EMULATE_POSITION_SENSORS - stopTriggerEmulatorPins(); -#endif /* EFI_EMULATE_POSITION_SENSORS */ - -#if EFI_AUX_PID - stopVvtControlPins(); -#endif /* EFI_AUX_PID */ + stopHardware(PASS_ENGINE_PARAMETER_SIGNATURE); if (isConfigurationChanged(is_enabled_spi_1)) { stopSpi(SPI_DEVICE_1); @@ -488,6 +470,28 @@ void initHardwareNoConfig(DECLARE_ENGINE_PARAMETER_SIGNATURE) { #endif // EFI_FILE_LOGGING } +void stopHardware(DECLARE_ENGINE_PARAMETER_SIGNATURE) { +#if EFI_PROD_CODE && (BOARD_EXT_GPIOCHIPS > 0) + stopSmartCsPins(); +#endif /* (BOARD_EXT_GPIOCHIPS > 0) */ + +#if EFI_VEHICLE_SPEED + stopVSSPins(); +#endif /* EFI_VEHICLE_SPEED */ + +#if EFI_LOGIC_ANALYZER + stopLogicAnalyzerPins(); +#endif /* EFI_LOGIC_ANALYZER */ + +#if EFI_EMULATE_POSITION_SENSORS + stopTriggerEmulatorPins(); +#endif /* EFI_EMULATE_POSITION_SENSORS */ + +#if EFI_AUX_PID + stopVvtControlPins(); +#endif /* EFI_AUX_PID */ +} + /** * This method is invoked both on ECU start and configuration change */ diff --git a/firmware/hw_layer/hardware.h b/firmware/hw_layer/hardware.h index 0647dd0eec..03572e343b 100644 --- a/firmware/hw_layer/hardware.h +++ b/firmware/hw_layer/hardware.h @@ -10,6 +10,7 @@ #include "global.h" void startHardware(DECLARE_ENGINE_PARAMETER_SIGNATURE); +void stopHardware(DECLARE_ENGINE_PARAMETER_SIGNATURE); #if HAL_USE_SPI