Есть такой код
Необходимо, оставив функционал, избавиться от delay. Т.е. никаких задержек. Но при этом выдерживается тайминг на попытки подключения к вай-фай, и количество попыток подключения к серверу. Подкиньте идею, пожалуйста.
В loop происходит постоянный вызов getEpoch.
C++:
void getEpoch() // function to get NTP time
{
WiFi.begin(ssid, password); // wait for Wi-Fi connect
while (WiFi.status() != WL_CONNECTED) delay(500);
epoch = 0;
for (int i=0; i<5; i++) // five attempts to access NTP
{
delay(500); // delay between Wi-Fi connect
dateTime = NTP.getNTPtime(0, 1); // and sourcing NTP data
if(dateTime.valid)
{
epoch = dateTime.epochTime; // NTP Epoch time obtained
i = 5; // stop attempting connect to NTP
}
}
WiFi.disconnect(true); // disconnect Wi-Fi connection
WiFi.mode(WIFI_OFF); // switch off Wi-Fi connection
setTime(epoch); // set internal clock to Epoch time
}
В loop происходит постоянный вызов getEpoch.