Comments (3)
Note: this is a particularly serious problem if now() is called from within an ISR context (e.g. a Ticker). NTPClientLib installs a sync function (getTime()) for TimeLib and if the sync period has expired, that function will be called when now() is called. Because getTime() uses the network and can block for an extended period, it is particularly bad (and will usually cause an exception) if it happens when called in an ISR context.
A solution for now is to avoid calling now() within an ISR context or to create a non-blocking version of now() that avoids the call to getTime() and to use this non-blocking version for any calls that may be made from an ISR context.
from ntpclient.
You can reduce timeout for NTP of set a lower retrial rate using bool setInterval (int shortInterval, int longInterval)
I'm thinking about using AsyncUDP library but this would make this project compatible only with Espresif microcontrollers.
from ntpclient.
I've added a way to configure NTP timeout. Maybe it may work as a workaround.
To avoid frequent NTP requests in case of bad connection I've added a condition to keep long interval if time is already set. This will only happen on 1st error, because Time library set status to needSync after it.
from ntpclient.
Related Issues (20)
- Problem in ESP32 HOT 2
- General dependency on ESP8266 library errors on ESP32 HOT 1
- Beta 3.0.2 version fails with ESP32 HOT 8
- ESPAsyncUDP dependency on esp32 HOT 3
- reference to 'map' is ambiguous HOT 3
- DST HOT 1
- Wrong time in NTPClientAvr example HOT 2
- ESP32 : memory leak ? HOT 6
- [idea] let the library wrap the SNTP SDK functions of ESP8266 and ESP32 HOT 4
- Please... is there any way to get the day of the week ? (Sunday, Monday etc.) Thanks HOT 2
- Getting error: "reference to 'byte' is ambiguous" with Arduino IDE1.8.15 HOT 11
- DST not working for USA default to EU Why? HOT 1
- Update PlatformIO Version HOT 1
- Hi, I know this is an old thread, but it annoys me.... And maybe it does not relate to you code, but any help would be appreciated. HOT 1
- _uptime definition error [Bug]
- The client and server's times differ by 136 years
- Arduino Library
- Failed DNS lookup leads to exception in ' void NTPClient::s_dnsFound ' HOT 1
- Dependency on Time lib 5.1; latest is 1.5 HOT 1
- Crash when in Async UDP library on ESP32 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ntpclient.