From 86c561c651cc82c4d6c932ed74c6b566d4086825 Mon Sep 17 00:00:00 2001 From: dron0gus Date: Sat, 13 Apr 2019 00:28:19 +0300 Subject: [PATCH] Simulator (#749) * Hide trigger_input.cpp if EFI_SHAFT_POSITION_INPUT == FALSE * hide some hw-specific code under EFI_PROD_CODE --- firmware/hw_layer/pin_repository.h | 4 ++-- firmware/hw_layer/stepper.cpp | 10 ++++++++++ firmware/hw_layer/stepper.h | 3 +++ firmware/hw_layer/trigger_input.cpp | 7 ++++--- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/firmware/hw_layer/pin_repository.h b/firmware/hw_layer/pin_repository.h index 16450e9701..d7c8d7eb0e 100644 --- a/firmware/hw_layer/pin_repository.h +++ b/firmware/hw_layer/pin_repository.h @@ -34,10 +34,10 @@ EXTERNC bool brain_pin_markUsed(brain_pin_e brainPin, const char *msg); EXTERNC void brain_pin_markUnused(brain_pin_e brainPin); const char * getPinFunction(brain_input_pin_e brainPin); -#if !EFI_UNIT_TEST +#if !EFI_UNIT_TEST && EFI_PROD_CODE /* For on-chip gpios only */ EXTERNC bool gpio_pin_markUsed(ioportid_t port, ioportmask_t pin, const char *msg); EXTERNC void gpio_pin_markUnused(ioportid_t port, ioportmask_t pin); -#endif /* EFI_UNIT_TEST */ +#endif /* !EFI_UNIT_TEST && EFI_PROD_CODE*/ #endif /* PIN_REPOSITORY_H_ */ diff --git a/firmware/hw_layer/stepper.cpp b/firmware/hw_layer/stepper.cpp index 3d7b36cdd4..a70ac67885 100644 --- a/firmware/hw_layer/stepper.cpp +++ b/firmware/hw_layer/stepper.cpp @@ -116,10 +116,14 @@ static msg_t stThread(StepperMotor *motor) { StepperMotor::StepperMotor() { currentPosition = 0; targetPosition = 0; + +#if EFI_PROD_CODE enablePort = NULL; enablePin = 0; stepPort = NULL; stepPin = 0; +#endif + reactionTime = 0; totalSteps = 0; } @@ -143,6 +147,7 @@ void StepperMotor::setDirection(bool isIncrementing) { } void StepperMotor::pulse() { +#if EFI_PROD_CODE palWritePad(enablePort, enablePin, false); // ebable stepper palWritePad(stepPort, stepPin, true); @@ -151,6 +156,7 @@ void StepperMotor::pulse() { chThdSleepMilliseconds(reactionTime); palWritePad(enablePort, enablePin, true); // disable stepper +#endif } void StepperMotor::initialize(brain_pin_e stepPin, brain_pin_e directionPin, pin_output_mode_e directionPinMode, @@ -181,10 +187,14 @@ void StepperMotor::initialize(brain_pin_e stepPin, brain_pin_e directionPin, pin efiSetPadMode("stepper step", stepPin, PAL_MODE_OUTPUT_PUSHPULL); // todo: start using enablePinMode parameter here #718 efiSetPadMode("stepper enable", enablePin, PAL_MODE_OUTPUT_PUSHPULL); + +#if EFI_PROD_CODE palWritePad(this->enablePort, enablePin, true); // disable stepper // All pins must be 0 for correct hardware startup (e.g. stepper auto-disabling circuit etc.). palWritePad(this->stepPort, this->stepPin, false); +#endif + this->directionPin.setValue(false); this->currentDirection = false; diff --git a/firmware/hw_layer/stepper.h b/firmware/hw_layer/stepper.h index 4fc969e584..fd6815fe44 100644 --- a/firmware/hw_layer/stepper.h +++ b/firmware/hw_layer/stepper.h @@ -28,11 +28,14 @@ public: int totalSteps; private: int targetPosition; + +#if EFI_PROD_CODE ioportid_t stepPort; ioportmask_t stepPin; ioportid_t enablePort; ioportmask_t enablePin; +#endif pin_output_mode_e directionPinMode; diff --git a/firmware/hw_layer/trigger_input.cpp b/firmware/hw_layer/trigger_input.cpp index a4fb3109a5..f00abab26d 100644 --- a/firmware/hw_layer/trigger_input.cpp +++ b/firmware/hw_layer/trigger_input.cpp @@ -14,7 +14,7 @@ #include "global.h" -#if (EFI_SHAFT_POSITION_INPUT) || defined(__DOXYGEN__) +#if (EFI_SHAFT_POSITION_INPUT && (HAL_USE_PAL == TRUE) || (HAL_USE_ICU == TRUE)) || defined(__DOXYGEN__) #include "trigger_input.h" #include "digital_input_hw.h" @@ -34,6 +34,7 @@ static Logging *logger; int vvtEventRiseCounter = 0; int vvtEventFallCounter = 0; +#if EFI_PROD_CODE /* PAL based implementation */ #if (HAL_USE_PAL == TRUE) && (PAL_USE_CALLBACKS == TRUE) @@ -262,7 +263,7 @@ static void setPrimaryChannel(brain_pin_e brainPin) { } #endif /* HAL_USE_ICU */ - +#endif /* EFI_PROD_CODE */ /*==========================================================================*/ /* Exported functions. */ @@ -313,4 +314,4 @@ void applyNewTriggerInputPins(void) { startTriggerInputPins(); } -#endif /* EFI_SHAFT_POSITION_INPUT */ +#endif /* (EFI_SHAFT_POSITION_INPUT && (HAL_USE_PAL == TRUE) || (HAL_USE_ICU == TRUE)) */