GyverLamp icon indicating copy to clipboard operation
GyverLamp copied to clipboard

проблема с таймингом без интернета

Open baxster opened this issue 5 years ago • 0 comments

При отсутствии интернета вызов метода timeClient.update(); вешает обработку тика эффекта на секунду. В итоге нет реакции на изменение скорости и т.п.

В библиотечном методе NTPClient::forceUpdate() есть кусок кода:

  byte timeout = 0;
  int cb = 0;
  do {
    delay ( 10 );
    cb = this->_udp->parsePacket();
    if (timeout > 100) return false; // timeout after 1000 ms
    timeout++;
  } while (cb == 0);

В итоге при каждом выполнении цикла эффекта мы попадаем на таймаут, а так как используется delay, а не millis, то мы попадаем с эффектами лампы. Надо как-то это учесть в работе самой лампы и возможно стоит как-то переписать это на millis()

baxster avatar Jun 27 '19 08:06 baxster