From fc50e09c388b38b0fc9099c9b39d0a6432c21f95 Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 4 Jun 2017 18:53:43 -0400 Subject: [PATCH] refactoring --- firmware/controllers/injector_central.cpp | 46 ------------------- firmware/controllers/system/efiGpio.cpp | 54 +++++++++++++++++++++++ 2 files changed, 54 insertions(+), 46 deletions(-) diff --git a/firmware/controllers/injector_central.cpp b/firmware/controllers/injector_central.cpp index 7cf62ca662..193fec45e1 100644 --- a/firmware/controllers/injector_central.cpp +++ b/firmware/controllers/injector_central.cpp @@ -232,52 +232,6 @@ void OutputPin::unregisterOutput(brain_pin_e oldPin, brain_pin_e newPin) { } } -void EnginePins::stopIgnitionPins(void) { - for (int i = 0; i < IGNITION_PIN_COUNT; i++) { - NamedOutputPin *output = &enginePins.coils[i]; - output->unregisterOutput(activeConfiguration.bc.ignitionPins[i], - engineConfiguration->bc.ignitionPins[i]); - } -} - -void EnginePins::stopInjectionPins(void) { - for (int i = 0; i < INJECTION_PIN_COUNT; i++) { - NamedOutputPin *output = &enginePins.injectors[i]; - output->unregisterOutput(activeConfiguration.bc.injectionPins[i], - engineConfiguration->bc.injectionPins[i]); - } -} - -void EnginePins::startIgnitionPins(void) { - for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) { - NamedOutputPin *output = &enginePins.coils[i]; - // todo: we need to check if mode has changed - if (boardConfiguration->ignitionPins[i] != activeConfiguration.bc.ignitionPins[i]) { - output->initPin(output->name, boardConfiguration->ignitionPins[i], - &boardConfiguration->ignitionPinMode); - } - } - // todo: we need to check if mode has changed - if (engineConfiguration->dizzySparkOutputPin != activeConfiguration.dizzySparkOutputPin) { - enginePins.dizzyOutput.initPin("dizzy tach", engineConfiguration->dizzySparkOutputPin, - &engineConfiguration->dizzySparkOutputPinMode); - - } -} - -void EnginePins::startInjectionPins(void) { - // todo: should we move this code closer to the injection logic? - for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) { - NamedOutputPin *output = &enginePins.injectors[i]; - // todo: we need to check if mode has changed - if (engineConfiguration->bc.injectionPins[i] != activeConfiguration.bc.injectionPins[i]) { - - output->initPin(output->name, boardConfiguration->injectionPins[i], - &boardConfiguration->injectionPinMode); - } - } -} - void runIoTest(int subsystem, int index) { scheduleMsg(logger, "IO test subsystem=%d index=%d", subsystem, index); diff --git a/firmware/controllers/system/efiGpio.cpp b/firmware/controllers/system/efiGpio.cpp index ea465260e0..e81f8e6f34 100644 --- a/firmware/controllers/system/efiGpio.cpp +++ b/firmware/controllers/system/efiGpio.cpp @@ -122,6 +122,60 @@ void EnginePins::reset() { } } +void EnginePins::stopIgnitionPins(void) { +#if EFI_PROD_CODE || defined(__DOXYGEN__) + for (int i = 0; i < IGNITION_PIN_COUNT; i++) { + NamedOutputPin *output = &enginePins.coils[i]; + output->unregisterOutput(activeConfiguration.bc.ignitionPins[i], + engineConfiguration->bc.ignitionPins[i]); + } +#endif /* EFI_PROD_CODE */ +} + +void EnginePins::stopInjectionPins(void) { +#if EFI_PROD_CODE || defined(__DOXYGEN__) + for (int i = 0; i < INJECTION_PIN_COUNT; i++) { + NamedOutputPin *output = &enginePins.injectors[i]; + output->unregisterOutput(activeConfiguration.bc.injectionPins[i], + engineConfiguration->bc.injectionPins[i]); + } +#endif /* EFI_PROD_CODE */ +} + +void EnginePins::startIgnitionPins(void) { +#if EFI_PROD_CODE || defined(__DOXYGEN__) + for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) { + NamedOutputPin *output = &enginePins.coils[i]; + // todo: we need to check if mode has changed + if (boardConfiguration->ignitionPins[i] != activeConfiguration.bc.ignitionPins[i]) { + output->initPin(output->name, boardConfiguration->ignitionPins[i], + &boardConfiguration->ignitionPinMode); + } + } + // todo: we need to check if mode has changed + if (engineConfiguration->dizzySparkOutputPin != activeConfiguration.dizzySparkOutputPin) { + enginePins.dizzyOutput.initPin("dizzy tach", engineConfiguration->dizzySparkOutputPin, + &engineConfiguration->dizzySparkOutputPinMode); + + } +#endif /* EFI_PROD_CODE */ +} + +void EnginePins::startInjectionPins(void) { +#if EFI_PROD_CODE || defined(__DOXYGEN__) + // todo: should we move this code closer to the injection logic? + for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) { + NamedOutputPin *output = &enginePins.injectors[i]; + // todo: we need to check if mode has changed + if (engineConfiguration->bc.injectionPins[i] != activeConfiguration.bc.injectionPins[i]) { + + output->initPin(output->name, boardConfiguration->injectionPins[i], + &boardConfiguration->injectionPinMode); + } + } +#endif /* EFI_PROD_CODE */ +} + NamedOutputPin::NamedOutputPin() : OutputPin() { name = NULL; }