diff --git a/README.md b/README.md
index d74eb8d..c47931d 100644
--- a/README.md
+++ b/README.md
@@ -761,6 +761,7 @@ void loop() {
- v2.1.8 - оптимизация, исправлен KEEP_SPEED в GStepper
- v2.2.0 - добавлен скоростной профиль GS_FAST_PROFILE для GStepper2, GPlanner, GPlanner2. Поддержка режима "слежения" для GStepper2
- v2.2.1 - небольшая оптимизация SRAM
+- v2.3 - fix compiler warnings, поддержка esp32
## Баги и обратная связь
diff --git a/src/FIFO.h b/src/FIFO.h
index 46bcc95..61e3ca3 100644
--- a/src/FIFO.h
+++ b/src/FIFO.h
@@ -8,7 +8,7 @@ template
class FIFO {
public:
FIFO() {
- for (int i = 0; i < SIZE; i++) buf[i] = 0;
+ for (uint16_t i = 0; i < SIZE; i++) buf[i] = 0;
}
// очистить
void clear() {
diff --git a/src/GyverPlanner2.h b/src/GyverPlanner2.h
index 07aa5d5..1ce5d55 100644
--- a/src/GyverPlanner2.h
+++ b/src/GyverPlanner2.h
@@ -365,7 +365,7 @@ class GPlanner2 {
uint32_t nextS = calcS(0);
// поиск максимальной конечной скорости
- for (int i = 0; i < bufV.available() - 1; i++) {
+ for (uint16_t i = 0; i < bufV.available() - 1; i++) {
int32_t dn0[_AXLES];
for (int j = 0; j < _AXLES; j++) dn0[j] = bufP[j].get(i + 1) - bufP[j].get(i); // расстояние между точками (катеты)
uint32_t S1 = nextS; // "гипотенуза" (на 1 шаге посчитана выше)
@@ -391,7 +391,7 @@ class GPlanner2 {
}
// уменьшаем переходные скорости на траектории
- for (int i = 0; i < bufV.available() - 1; i++) {
+ for (uint16_t i = 0; i < bufV.available() - 1; i++) {
uint32_t v0 = bufV.get(i);
uint32_t v1 = bufV.get(i + 1);
uint32_t maxV = sqrt(2L * a * bufS.get(i) + (uint32_t)v0 * v0);
diff --git a/src/GyverStepper.h b/src/GyverStepper.h
index 762a415..5bec142 100644
--- a/src/GyverStepper.h
+++ b/src/GyverStepper.h
@@ -51,6 +51,7 @@
v2.1.8 - оптимизация, исправлен KEEP_SPEED в GStepper
v2.2.0 - добавлен скоростной профиль GS_FAST_PROFILE для GStepper2, GPlanner, GPlanner2. Поддержка режима "слежения" для GStepper2
v2.2.1 - небольшая оптимизация SRAM
+ v2.3 - fix compiler warnings, поддержка esp32
*/
/*
@@ -374,7 +375,7 @@ class GStepper : public Stepper<_DRV, _TYPE> {
#ifdef __AVR__
_smoothPlannerPrd = map(max(abs((int)_speed), abs((int)_accelSpeed)), 1000, 20000, 15000, 1000);
#else
- // горячий привет тупому компилятору ESP8266 и индусам, которые его настраивали
+ // горячий привет авторам ядра esp8266
int speed1 = abs(_speed);
int speed2 = abs((int)_accelSpeed);
int maxSpeed = maxMacro(speed1, speed2);
@@ -534,12 +535,12 @@ class GStepper : public Stepper<_DRV, _TYPE> {
}
}
- int _plannerPrd = 15000;
+ uint16_t _plannerPrd = 15000;
#endif
// ======================= SPEED PLANNER =======================
float _accelTime = 0;
- int _smoothPlannerPrd = 15000;
+ uint16_t _smoothPlannerPrd = 15000;
uint32_t _smoothPlannerTime = 0;
uint32_t _plannerTime = 0;
diff --git a/src/GyverStepper2.h b/src/GyverStepper2.h
index 5023e58..85772fc 100644
--- a/src/GyverStepper2.h
+++ b/src/GyverStepper2.h
@@ -198,7 +198,7 @@ class GStepper2 : public Stepper<_DRV, _TYPE> {
return 1;
}
- #ifndef ESP8266
+ #ifdef __AVR__
void setSpeed(int speed) {
setSpeed((int32_t)speed);
}
@@ -343,7 +343,7 @@ class GStepper2 : public Stepper<_DRV, _TYPE> {
} else changeSett = 1; // иначе флаг на изменение
}
- #ifndef ESP8266
+ #ifdef __AVR__
void setMaxSpeed(int speed) {
setMaxSpeed((int32_t)speed);
}