Skip to content

Commit

Permalink
upd
Browse files Browse the repository at this point in the history
  • Loading branch information
GyverLibs committed Nov 28, 2021
1 parent c7a0659 commit 43504ce
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 30 deletions.
7 changes: 1 addition & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,6 @@ Stepper<STEPPER4WIRE, STEPPER_VIRTUAL> stepper; // виртуальный д
### Использование (StepperCore)
```cpp
// настроить пины
void setPins(uint8_t pin1 = 255, uint8_t pin2 = 255, uint8_t pin3 = 255, uint8_t pin4 = 255, uint8_t pin5 = 255);
void step(); // сделать шаг
void invertEn(bool val); // инвертировать поведение EN пина
void reverse(bool val); // инвертировать направление мотора
Expand Down Expand Up @@ -328,9 +325,6 @@ GStepper2<STEPPER4WIRE, STEPPER_VIRTUAL> stepper; // виртуальный
### Использование
```cpp
// === наследуется из Stepper ====
// настроить пины
void setPins(uint8_t pin1 = 255, uint8_t pin2 = 255, uint8_t pin3 = 255, uint8_t pin4 = 255, uint8_t pin5 = 255);
void step(); // сделать шаг
void invertEn(bool val); // инвертировать поведение EN пина
void reverse(bool val); // инвертировать направление мотора
Expand Down Expand Up @@ -737,6 +731,7 @@ void loop() {
- v2.1.5 - возможность менять скорость и ускорение во время работы планировщика (GStepper2, GPlanner, GPlanner2)
- v2.1.6 - исправлена ошибка компиляции при вызове disable() в GStepper
- v2.1.7 - добавлен clearBuffer() в GPlanner2
- v2.1.8 - оптимизация, исправлен KEEP_SPEED в GStepper

<a id="feedback"></a>
## Баги и обратная связь
Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=GyverStepper
version=2.1.7
version=2.1.8
author=AlexGyver <[email protected]>
maintainer=AlexGyver <[email protected]>
sentence=Fast library for stepmotor control and multi-axis planning
Expand Down
9 changes: 4 additions & 5 deletions src/GyverStepper.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
v2.1.5 - возможность менять скорость и ускорение во время работы планировщика (GStepper2, GPlanner, GPlanner2)
v2.1.6 - исправлена ошибка компиляции при вызове disable() в GStepper
v2.1.7 - добавлен clearBuffer() в GPlanner2
v2.1.8 - оптимизация, исправлен KEEP_SPEED в GStepper
*/

/*
Expand Down Expand Up @@ -198,8 +199,7 @@ class GStepper : public Stepper<_DRV, _TYPE> {
public:
// конструктор
GStepper(int stepsPerRev, uint8_t pin1 = 255, uint8_t pin2 = 255, uint8_t pin3 = 255, uint8_t pin4 = 255, uint8_t pin5 = 255) :
_stepsPerDeg(stepsPerRev / 360.0) {
setPins(pin1, pin2, pin3, pin4, pin5);
_stepsPerDeg(stepsPerRev / 360.0), Stepper<_DRV, _TYPE> (pin1, pin2, pin3, pin4, pin5) {
// умолчания
setMaxSpeed(300);
setAcceleration(300);
Expand Down Expand Up @@ -365,6 +365,7 @@ class GStepper : public Stepper<_DRV, _TYPE> {
_speed = speed;
if (abs(_speed) < _MIN_STEP_SPEED) _speed = _MIN_STEP_SPEED * _sign(_speed);
enable();
dir = (_speed > 0) ? 1 : -1;
if (_accel != 0) { // плавный старт
if (_accelSpeed != _speed) {
_smoothStart = true;
Expand All @@ -386,8 +387,7 @@ class GStepper : public Stepper<_DRV, _TYPE> {
}
_accelSpeed = _speed;
stepTime = round(1000000.0 / abs(_speed));
dir = (_speed > 0) ? 1 : -1;
}
}
}

// установка целевой скорости в градусах/секунду
Expand Down Expand Up @@ -453,7 +453,6 @@ class GStepper : public Stepper<_DRV, _TYPE> {
private:
using Stepper<_DRV, _TYPE>::pos;
using Stepper<_DRV, _TYPE>::dir;
using Stepper<_DRV, _TYPE>::setPins;
using Stepper<_DRV, _TYPE>::step;

// сброс перемещения
Expand Down
8 changes: 2 additions & 6 deletions src/GyverStepper2.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@
// ============ КЛАСС ============
// === наследуется из Stepper ====
// настроить пины
void setPins(uint8_t pin1 = 255, uint8_t pin2 = 255, uint8_t pin3 = 255, uint8_t pin4 = 255, uint8_t pin5 = 255);
void step(); // сделать шаг
void invertEn(bool val); // инвертировать поведение EN пина
void reverse(bool val); // инвертировать направление мотора
Expand Down Expand Up @@ -90,8 +87,8 @@ template <GS_driverType _DRV, GS_driverType _TYPE = STEPPER_PINS>
class GStepper2 : public Stepper<_DRV, _TYPE> {
public:
// ========================= КОНСТРУКТОР ==========================
GStepper2(uint16_t steps, uint8_t pin1 = 255, uint8_t pin2 = 255, uint8_t pin3 = 255, uint8_t pin4 = 255, uint8_t pin5 = 255) {
setPins(pin1, pin2, pin3, pin4, pin5);
GStepper2(uint16_t steps, uint8_t pin1 = 255, uint8_t pin2 = 255, uint8_t pin3 = 255, uint8_t pin4 = 255, uint8_t pin5 = 255) :
Stepper<_DRV, _TYPE> (pin1, pin2, pin3, pin4, pin5) {
stepsRev = steps;
setMaxSpeed(100);
}
Expand Down Expand Up @@ -385,7 +382,6 @@ class GStepper2 : public Stepper<_DRV, _TYPE> {
// чики пуки
using Stepper<_DRV, _TYPE>::pos;
using Stepper<_DRV, _TYPE>::dir;
using Stepper<_DRV, _TYPE>::setPins;
using Stepper<_DRV, _TYPE>::step;

// ============================= PRIVATE =============================
Expand Down
16 changes: 4 additions & 12 deletions src/StepperCore.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,6 @@
Stepper<STEPPER4WIRE, STEPPER_VIRTUAL> stepper; // виртуальный драйвер 4 пин
// ============ КЛАСС ============
// настроить пины
void setPins(uint8_t pin1 = 255, uint8_t pin2 = 255, uint8_t pin3 = 255, uint8_t pin4 = 255, uint8_t pin5 = 255);
void step(); // сделать шаг
void invertEn(bool val); // инвертировать поведение EN пина
void reverse(bool val); // инвертировать направление мотора
Expand Down Expand Up @@ -57,11 +54,6 @@ template <GS_driverType _DRV, GS_driverType _TYPE = STEPPER_PINS>
class Stepper {
public:
Stepper(uint8_t pin1 = 255, uint8_t pin2 = 255, uint8_t pin3 = 255, uint8_t pin4 = 255, uint8_t pin5 = 255) {
setPins(pin1, pin2, pin3, pin4, pin5);
}

// задать пины
void setPins(uint8_t pin1 = 255, uint8_t pin2 = 255, uint8_t pin3 = 255, uint8_t pin4 = 255, uint8_t pin5 = 255) {
if (_TYPE == STEPPER_PINS) {
if (_DRV == STEPPER2WIRE) {
configurePin(0, pin1);
Expand All @@ -82,7 +74,7 @@ class Stepper {
}
}
}

// сделать шаг
void step() {
pos += dir;
Expand Down Expand Up @@ -137,8 +129,8 @@ class Stepper {
}

int32_t pos = 0;
int8_t dir = 0;
int8_t dir = 1;

private:
// настройка пина
void configurePin(int num, uint8_t pin) {
Expand Down Expand Up @@ -166,7 +158,7 @@ class Stepper {
// шаг для 4 фаз
void step4() {
if (_TYPE == STEPPER_PINS) {
if (_DRV == STEPPER4WIRE) {
if (_DRV == STEPPER4WIRE) {
// 0b11 берёт два бита, т.е. формирует 0 1 2 3 0 1..
switch (thisStep & 0b11) {
case 0: setPin(0, 1); setPin(1, 0); setPin(2, 1); setPin(3, 0); break; // 1010
Expand Down

0 comments on commit 43504ce

Please sign in to comment.