From 5ad02855bfb47a640ae3349ceb32952dc8e444cc Mon Sep 17 00:00:00 2001 From: Alex <84599917+GyverLibs@users.noreply.github.com> Date: Thu, 23 Sep 2021 01:12:08 +0300 Subject: [PATCH] Update GyverStepper2.h --- src/GyverStepper2.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/GyverStepper2.h b/src/GyverStepper2.h index 41e756a..dbdd70d 100644 --- a/src/GyverStepper2.h +++ b/src/GyverStepper2.h @@ -49,6 +49,8 @@ // вращение void setSpeed(int16_t speed); // установить скорость в шагах/сек и запустить вращение void setSpeed(float speed); // установить скорость в шагах/сек (float) и запустить вращение + void setSpeedDeg(int16_t speed); // установить скорость в градусах/сек и запустить вращение + void setSpeedDeg(float speed); // установить скорость в градусах/сек (float) и запустить вращение // движение к цели void setTarget(int32_t ntar, GS_posType type = ABSOLUTE); // установить цель в шагах и опционально режим ABSOLUTE/RELATIVE @@ -161,6 +163,7 @@ class GStepper2 : public Stepper<_DRV, _TYPE> { status = 3; return 1; } + #ifndef ESP8266 void setSpeed(int speed) { setSpeed((int32_t)speed); @@ -168,10 +171,18 @@ class GStepper2 : public Stepper<_DRV, _TYPE> { #endif // установить скорость вращения float - void setSpeed(float speed) { + void setSpeed(double speed) { if (setSpeed((int32_t)speed)) us = 1000000.0 / abs(speed); } + void setSpeedDeg(int speed) { + setSpeed((int32_t)speed * stepsRev / 360L); + } + + void setSpeedDeg(double speed) { + setSpeed((float)speed * stepsRev / 360L); + } + // =========================== POSITION MODE =========================== // установить цель и опционально режим void setTarget(int32_t ntar, GS_posType type = ABSOLUTE) { @@ -223,7 +234,7 @@ class GStepper2 : public Stepper<_DRV, _TYPE> { } // установить цель в градусах float и опционально режим - void setTargetDeg(float ntar, GS_posType type = ABSOLUTE) { + void setTargetDeg(double ntar, GS_posType type = ABSOLUTE) { setTarget((float)ntar * stepsRev / 360.0, type); }