Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BufferedSerial
Dependents: esp8266_nodeMCU1 esp8266_2_thingspeak1 Solarator_0-0-2 IoTBurglar_and_Fire_AlarmSystem ... more
Fork of ESP8266Interface by
Revision 21:690526f05fe6, committed 2014-12-02
- Comitter:
- michaeljkoster
- Date:
- Tue Dec 02 04:16:26 2014 +0000
- Parent:
- 20:d764237405c2
- Child:
- 22:c4360e61486a
- Commit message:
- Fix recieveFrom loop to have 2 stage timeout in non-blocking case, return 0 bytes
Changed in this revision
| Socket/Socket.cpp | Show annotated file Show diff for this revision Revisions of this file |
| Socket/UDPSocket.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/Socket/Socket.cpp Mon Dec 01 09:28:02 2014 +0000
+++ b/Socket/Socket.cpp Tue Dec 02 04:16:26 2014 +0000
@@ -19,6 +19,8 @@
#include "Socket.h"
#include <cstring>
+extern Serial pc;
+
Socket::Socket() : _blocking(true), _timeout(1500) {
wifi = ESP8266::getInstance();
if (wifi == NULL)
@@ -26,6 +28,7 @@
}
void Socket::set_blocking(bool blocking, unsigned int timeout) {
+ pc.printf("set blocking: %d %d\r\n", blocking, timeout);
_blocking = blocking;
_timeout = timeout;
}
--- a/Socket/UDPSocket.cpp Mon Dec 01 09:28:02 2014 +0000
+++ b/Socket/UDPSocket.cpp Tue Dec 02 04:16:26 2014 +0000
@@ -76,9 +76,20 @@
break;
}
}
- pc.printf("UDPsocket::receiveFrom: %d bytes\r\n", nb_available);
- }
-
+ }
+ else {
+ tmr.start();
+
+ while (time < _timeout){
+ nb_available = wifi->readable();
+ if (nb_available < 0) return nb_available;
+ if (nb_available > 0) break ;
+ time = tmr.read_ms();
+ }
+
+ if (nb_available == 0) return nb_available;
+ }
+
tmr.start();
while (time < _timeout) {

Adafruit Huzzah