Добрый день.
Есть ESP32, на ней Wifi + WebServer в роли веб морды настроек итд. Все общение после первичной загрузки страницы через JSON запросы, сама страница не перезагружается.
Библиотека FlexyStepper запускается в режиме сервиса и гоняет шаговик.
Аналогичная проблема, которую опишу ниже была и при использовании AccelStepper
Суть в том, что в процессе работы веб-страница посылает запрос на получение JSON данных о процессе - сколько % выполнено.
В момент обработки запроса сервером шаговик буквально на долю секунды притормаживает.
Вопрос в том, как понизить приоритет работы веб-сервера или еще лучше повысить приоритет работы сервиса FlexyStepper т.к. это подклинивание мотора в процессе работы не допустимо.
Есть ESP32, на ней Wifi + WebServer в роли веб морды настроек итд. Все общение после первичной загрузки страницы через JSON запросы, сама страница не перезагружается.
Библиотека FlexyStepper запускается в режиме сервиса и гоняет шаговик.
Аналогичная проблема, которую опишу ниже была и при использовании AccelStepper
Суть в том, что в процессе работы веб-страница посылает запрос на получение JSON данных о процессе - сколько % выполнено.
Код:
ESP_FlexyStepper stepper;
void Stepper_init() {
stepper.connectToPins(15, 23);
stepper.setAccelerationInStepsPerSecondPerSecond(800);
stepper.setDecelerationInStepsPerSecondPerSecond(800);
stepper.startAsService();
}
void HTTP_init(void) {
HTTP.begin();
HTTP.on("/settings", handle_settings); // Получение настроек
HTTP.on("/run", handle_run); // старт/стоп/прогресс
}
void handle_run()
{
String json ="";
if (HTTP.arg("RUN").toInt()==1)
{
json = "{\"RUN\":\"RUN\"}";
HTTP.send(200, "text/plain", json);
}
}
В момент обработки запроса сервером шаговик буквально на долю секунды притормаживает.
Вопрос в том, как понизить приоритет работы веб-сервера или еще лучше повысить приоритет работы сервиса FlexyStepper т.к. это подклинивание мотора в процессе работы не допустимо.