now this shit works
Fork of ESP8266NodeMCUInterface by
Revision 34:7ccda5d68a00, committed 2015-05-01
- Comitter:
- mbedAustin
- Date:
- Fri May 01 15:39:50 2015 +0000
- Parent:
- 33:727aac1996b8
- Child:
- 39:89e259295728
- Commit message:
- safety commit
Changed in this revision
| ESP8266/ESP8266.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/ESP8266/ESP8266.cpp Thu Apr 30 21:09:14 2015 +0000
+++ b/ESP8266/ESP8266.cpp Fri May 01 15:39:50 2015 +0000
@@ -170,7 +170,7 @@
sendCommand("AT+CIPMODE=1", "OK", NULL, 1000);// go into transparent mode
sendCommand("AT+CIPSEND", ">", NULL, 1000);// go into transparent mode
- pc.printf("Data Mode\r\n");
+ DBG("Data Mode\r\n");
state.cmdMode = false;
return true;
--- a/Socket/UDPSocket.cpp Thu Apr 30 21:09:14 2015 +0000
+++ b/Socket/UDPSocket.cpp Fri May 01 15:39:50 2015 +0000
@@ -47,8 +47,18 @@
Timer tmr;
int idx = 0;
+
confEndpoint(remote);
+ // initialize transparent mode if not already done
+ if(!endpoint_configured) {
+ // initialize UDP (default id of -1 means transparent mode)
+ if(!wifi->start(ESP_UDP_TYPE, remote._ipAddress, remote._port, remote._id)) {
+ return(-1);
+ }
+ endpoint_configured = true;
+ }
+
tmr.start();
while ((tmr.read_ms() < _timeout) || _blocking) {
@@ -68,13 +78,13 @@
int idx = 0;
int nb_available = 0;
int time = -1;
-
+
//make this the non-blocking case and return if <= 0
// remember to change the config to blocking
// if ( ! _blocking) {
- // if ( wifi.readable <= 0 ) {
- // return (wifi.readable);
- // }
+ // if ( wifi.readable <= 0 ) {
+ // return (wifi.readable);
+ // }
// }
//---
tmr.start();
@@ -90,28 +100,28 @@
// blocking case
else {
tmr.reset();
-
- while (time < _timeout){
+
+ 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;
- }
-
+
+ if (nb_available == 0) return nb_available;
+ }
+
// change this to < 20 mS timeout per byte to detect end of packet gap
// this may not work due to buffering at the UART interface
tmr.reset();
// while ( tmr.read_ms() < 20 ) {
- // if ( wifi.readable() && (idx < length) ) {
- // buffer[idx++] = wifi->getc();
- // tmr.reset();
- // }
- // if ( idx == length ) {
- // break;
- // }
+ // if ( wifi.readable() && (idx < length) ) {
+ // buffer[idx++] = wifi->getc();
+ // tmr.reset();
+ // }
+ // if ( idx == length ) {
+ // break;
+ // }
// }
//---
while (time < _timeout) {
