Comments (8)
the Arduino esp8266 core document that delayMicroseconds() stop the wifi stack, but the delay() not. So maybe we can try whith delay(1), 1millisecondo instead of 0.1.
delay pauses the sketch for a given number of milliseconds and allows WiFi and TCP/IP tasks to run
whit the yeld() you removed completely the delay because it is like delay(0)
Probably the best is use a millis timing whithout use of delay, not only here but in all the library ?
from pubsubclient.
Yes, I had forgotten that delayMicroseconds() doesn't call yield. What if yield is called right after?
from pubsubclient.
Probably the best is use a millis timing whithout use of delay, not only here but in all the library ?
from pubsubclient.
Why do you need 100us delay here? Is it 1ms be enough?
Or simply use yield() (equals to delay(0)) and millis()
from pubsubclient.
@Testato yield() is enough because it used for switch scheduler, but time interval measured by millis()
from pubsubclient.
I'm not sure why I chose 100us. It doesn't seem to be inherited from knolleary's original code, so I can't blame him :P
I think I just didn't want it to spin its wheels checking a simple condition and to have a small delay in there. But I forgot about yielding. And it worked for me(tm).
from pubsubclient.
And it worked for me(tm).
For me too, But not for latest git Arduino's 8) I have got a mysterious resets on not clean wifi area but I hope they are gone...
from pubsubclient.
Guys, this code was there since original Nick's version. I remember it caused problems so I had a workaround in my code which called yield() internally if it detected that you are polling WiFiClient::available() in a loop. It seems to be broken now — I will check that.
My suggestions is to replace delayMicroseconds(100) with yield();
from pubsubclient.
Related Issues (20)
- Subscribe to two topics?
- Compatibility broken with original knolleary/pubsubclient lib HOT 1
- Wrong password HOT 3
- lib update installs the knolleary lib HOT 4
- Message published multiple times HOT 1
- MAX transfer size is not found
- more than one Nodemcu clients can't able to get published message at a time HOT 1
- Multiple unsubscribe or publish with QoS 1 in callback HOT 1
- How to set the callback from a c++ class? HOT 1
- wrong hostname used
- esp12F heating issue HOT 1
- Unable to ascertain if received message is 'retained'. HOT 15
- socket error
- ESP32 HOT 1
- Memory leak on loop() HOT 1
- can this library subscribe to mqtt topic ? HOT 1
- error "MQTT' does not name a type" when compiling ESP8266-OTA example HOT 1
- PubSubClient.connect with userName/password ? HOT 1
- control reaches end of non-void function HOT 1
- beebotte.com - retain vs write API (weird persistance, possible to add) - not a bug I think
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 pubsubclient.