Исправляем ошибку в модуле сервы для ESP32

This commit is contained in:
2024-01-07 19:57:28 +05:00
parent 047c0fc5cc
commit e904ac1741
2 changed files with 14 additions and 5 deletions

View File

@@ -15,12 +15,19 @@ class IoTServo : public IoTItem {
public: public:
IoTServo(String parameters): IoTItem(parameters) { IoTServo(String parameters): IoTItem(parameters) {
int pin, minPulseWidth, maxPulseWidth, neutralPulseWidth; int pin, minPulseWidth, maxPulseWidth, minAngle, maxAngle;
jsonRead(parameters, "pin", pin); jsonRead(parameters, "pin", pin);
jsonRead(parameters, "minPulseWidth", minPulseWidth); jsonRead(parameters, "minPulseWidth", minPulseWidth);
jsonRead(parameters, "maxPulseWidth", maxPulseWidth); jsonRead(parameters, "maxPulseWidth", maxPulseWidth);
jsonRead(parameters, "neutralPulseWidth", neutralPulseWidth); jsonRead(parameters, "minAngle", minAngle);
servObj.attach(pin, minPulseWidth, maxPulseWidth, neutralPulseWidth); jsonRead(parameters, "maxAngle", maxAngle);
#ifdef ESP32
servObj.attach(pin, Servo::CHANNEL_NOT_ATTACHED, minAngle, maxAngle, minPulseWidth, maxPulseWidth);
#endif
#ifdef ESP8266
servObj.attach(pin, minPulseWidth, maxPulseWidth, value.valD);
#endif
// jsonRead(parameters, "apin", _apin); // jsonRead(parameters, "apin", _apin);
// if (_apin >= 0) IoTgpio.pinMode(_apin, INPUT); // if (_apin >= 0) IoTgpio.pinMode(_apin, INPUT);

View File

@@ -13,7 +13,8 @@
"pin": 12, "pin": 12,
"minPulseWidth": 544, "minPulseWidth": 544,
"maxPulseWidth": 2400, "maxPulseWidth": 2400,
"neutralPulseWidth": 1500, "minAngle": 0,
"maxAngle": 180,
"trackingID": "" "trackingID": ""
} }
], ],
@@ -34,7 +35,8 @@
"pin": "Пин, к которому подключен сервопривод", "pin": "Пин, к которому подключен сервопривод",
"minPulseWidth": "Минимальная длина импульса", "minPulseWidth": "Минимальная длина импульса",
"maxPulseWidth": "Максимальная длина импульса", "maxPulseWidth": "Максимальная длина импульса",
"neutralPulseWidth": "Нейтральная длина импульса", "minAngle": "Минимальное значение угла (имеет значение для ESP32)",
"maxAngle": "Максимальное значение угла (имеет значение для ESP32)",
"trackingID": "Идентификатор отслеживания значения другого элемента конфигурации, например, чтение аналога" "trackingID": "Идентификатор отслеживания значения другого элемента конфигурации, например, чтение аналога"
}, },
"retInfo": "Содержит текущее значение поворота", "retInfo": "Содержит текущее значение поворота",