From 98080e87ddfb018d49887aa6b29d50ce18a93c64 Mon Sep 17 00:00:00 2001 From: Ronald Schaten Date: Fri, 11 Feb 2022 22:56:18 +0100 Subject: [PATCH] return only if chosen --- PhotoStepper/Scenerunner.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/PhotoStepper/Scenerunner.cpp b/PhotoStepper/Scenerunner.cpp index 6854610..183a436 100644 --- a/PhotoStepper/Scenerunner.cpp +++ b/PhotoStepper/Scenerunner.cpp @@ -69,11 +69,18 @@ void Scenerunner::_runHandler_shutter() { digitalWrite(_pin_shutter, LOW); digitalWrite(_pin_backlight, HIGH); if (step >= nSteps) { - _lcd->clear(); - _lcd->print("Return to start"); - runStep = RUN_RETURN; - runStepStart = millis(); - _stepper->startMove(- 200/8 * distance * (nSteps - 1)); + if (bReturn) { + _lcd->clear(); + _lcd->print("Return to start"); + runStep = RUN_RETURN; + runStepStart = millis(); + _stepper->startMove(- 200/8 * distance * (nSteps - 1)); + } else { + _lcd->clear(); + _lcd->print("Done"); + runStep = RUN_OFF; + runStepStart = millis(); + } } else { step++; _lcd->clear(); @@ -105,6 +112,10 @@ void Scenerunner::_runHandler_return() { _lcd->print("moving "); _lcd->print(distance * (nSteps - 1)); _lcd->print("mm"); + if (_stepper->getStepsRemaining() == 0) { + runStep = RUN_OFF; + runStepStart = millis(); + } } void Scenerunner::nextAction() {