From 0893e5094928667b386eab4437232c8bf55003d4 Mon Sep 17 00:00:00 2001 From: rusefi Date: Mon, 12 Jun 2017 18:31:55 -0400 Subject: [PATCH] configurable stepper pulse --- firmware/controllers/algo/engine_configuration.cpp | 1 + firmware/hw_layer/stepper.cpp | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 7171d6f048..df078948c2 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -788,6 +788,7 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->useOnlyRisingEdgeForTrigger = false; + boardConfiguration->idleStepperPulseDuration = 10; boardConfiguration->idle.solenoidFrequency = 200; // set idle_position 50 boardConfiguration->manIdlePosition = 50; diff --git a/firmware/hw_layer/stepper.cpp b/firmware/hw_layer/stepper.cpp index de63541483..408aed3182 100644 --- a/firmware/hw_layer/stepper.cpp +++ b/firmware/hw_layer/stepper.cpp @@ -9,8 +9,9 @@ #include "stepper.h" #include "pin_repository.h" +#include "engine.h" -#define ST_DELAY_MS 10 +EXTERN_ENGINE; static msg_t stThread(StepperMotor *motor) { chRegSetThreadName("stepper"); @@ -32,7 +33,7 @@ static msg_t stThread(StepperMotor *motor) { int currentPosition = motor->currentPosition; if (targetPosition == currentPosition) { - chThdSleepMilliseconds(ST_DELAY_MS); + chThdSleepMilliseconds(boardConfiguration->idleStepperPulseDuration); continue; } bool isIncrementing = targetPosition > currentPosition; @@ -78,9 +79,9 @@ void StepperMotor::pulse() { palWritePad(enablePort, enablePin, false); // ebable stepper palWritePad(stepPort, stepPin, true); - chThdSleepMilliseconds(ST_DELAY_MS); + chThdSleepMilliseconds(boardConfiguration->idleStepperPulseDuration); palWritePad(stepPort, stepPin, false); - chThdSleepMilliseconds(ST_DELAY_MS); + chThdSleepMilliseconds(boardConfiguration->idleStepperPulseDuration); palWritePad(enablePort, enablePin, true); // disable stepper }