WiFiUDP ntpUDP; question

I notice I am using timeClient.getMinutes(); and it seems accurate even without issuing timeClient.update(); first. I want to minimize wifi traffic, so my question is, is wifiudp calculating the time on its own? And if so, how?

As near as I can see, NTPclient does not ask for or receive the time until the first time you call 'update()' and then further calls to 'update()' do nothing until the update interval (default: 60 seconds) has elapsed. To reduce WiFi traffic, increase the update interval.

Between updates it uses millis(). Are you sure the minutes you get are tracking the clock or are they just counting from the time the sketch was started?

I guess it is using millis() between updates but I don't know enough c++ to be sure! For me it is quite the challenge tracking down what is actually running the wifi traffic in these things. Might be easiest for me to just unplug my wifi router and see what happens to the time! At least it all works. Arduino is like walking down the basement stairs with no lights and no handrails!

unsigned long NTPClient::getRawTime() {
return this->_timeOffset + // User offset
this->_currentEpoc + // Epoc returned by the NTP server
((millis() - this->_lastUpdate) / 1000); // Time since last update

String NTPClient::getHours() {
return String((this->getRawTime() % 86400L) / 3600);