diff --git a/NTPClient.cpp b/NTPClient.cpp index 9f25d55..7b1a4e2 100644 --- a/NTPClient.cpp +++ b/NTPClient.cpp @@ -140,6 +140,14 @@ void NTPClient::end() { this->_udpSetup = false; } +void NTPClient::setTimeOffset(int timeOffset) { + this->_timeOffset = timeOffset; +} + +void NTPClient::setUpdateInterval(int updateInterval) { + this->_updateInterval = updateInterval; +} + void NTPClient::sendNTPPacket() { // set all bytes in the buffer to 0 memset(this->_packetBuffer, 0, NTP_PACKET_SIZE); @@ -161,4 +169,3 @@ void NTPClient::sendNTPPacket() { this->_udp->write(this->_packetBuffer, NTP_PACKET_SIZE); this->_udp->endPacket(); } - diff --git a/NTPClient.h b/NTPClient.h index 9b856de..4d5630d 100644 --- a/NTPClient.h +++ b/NTPClient.h @@ -63,6 +63,17 @@ class NTPClient { int getMinutes(); int getSeconds(); + /** + * Changes the time offset. Useful for changing timezones dynamically + */ + void setTimeOffset(int timeOffset); + + /** + * Set the update interval to another frequency. E.g. useful when the + * timeOffset should not be set in the constructor + */ + void setUpdateInterval(int updateInterval); + /** * @return time formatted like `hh:mm:ss` */ diff --git a/examples/Advanced/Advanced.ino b/examples/Advanced/Advanced.ino index 6169940..2559508 100644 --- a/examples/Advanced/Advanced.ino +++ b/examples/Advanced/Advanced.ino @@ -10,8 +10,9 @@ const char *password = ""; WiFiUDP ntpUDP; -// You can specify the time server pool and the offset, (in seconds) -// additionaly you can specify the update interval (in milliseconds). +// You can specify the time server pool and the offset (in seconds, can be +// changed later with setTimeOffset() ). Additionaly you can specify the +// update interval (in milliseconds, can be changed using setUpdateInterval() ). NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 3600, 60000); void setup(){