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.
Fork of ESP8266Interface by
Diff: ESP8266/ESP8266.cpp
- Revision:
- 45:c180905b5b79
- Parent:
- 43:2e326d95fe2c
- Parent:
- 44:3a7b6083210b
- Child:
- 46:913d07795182
diff -r 2e326d95fe2c -r c180905b5b79 ESP8266/ESP8266.cpp --- a/ESP8266/ESP8266.cpp Thu May 07 04:00:27 2015 +0000 +++ b/ESP8266/ESP8266.cpp Wed Jun 03 18:36:02 2015 +0000 @@ -160,19 +160,49 @@ } } -bool ESP8266::startUDP(char* ip, int port) +bool ESP8266::startUDP(char* ip, int port, int id, int length) { char portstr[5]; + char idstr[1]; + char lenstr[2]; + sprintf(portstr, "%d", port); - sendCommand(( "AT+CIPSTART=\"UDP\",\"" + (string) ip + "\"," + (string) portstr ).c_str(), "OK", NULL, 10000); - sendCommand("AT+CIPMODE=1", "OK", NULL, 1000);// go into transparent mode - sendCommand("AT+CIPSEND", ">", NULL, 1000);// go into transparent mode - //DBG("Data Mode"); + sprintf(idstr, "%d", id); + sprintf(lenstr, "%d", length); + + sendCommand("AT+CIPMUX=1", "OK", NULL, 1000); + sendCommand(( "AT+CIPSTART=" + string(idstr) + ",\"UDP\",\"" + (string) ip + "\"," + (string) portstr + ",1112,0").c_str(), "OK", NULL, 10000); + sendCommand(("AT+CIPSEND=" + (string)idstr + "," + (string)lenstr).c_str(), ">", NULL, 1000);// go into transparent mode + DBG("Data Mode\r\n"); state.cmdMode = false; return true; } +bool ESP8266::startTCPServer(int port) +{ + bool command_results[3]; + command_results[0]=sendCommand("AT+CWMODE=3", "OK", NULL, 1000); + command_results[1]=sendCommand("AT+CIPMUX=1", "OK", NULL, 1000); + if(port == 333){ + command_results[2]=sendCommand("AT+CIPSERVER=1", "OK", NULL, 1000); + } + else{ + char portstr[5]; + sprintf(portstr, "%d", port); + command_results[2]=sendCommand(("AT+CIPSERVER=1," + (string)portstr).c_str(), "OK", NULL, 1000); + } + //sendCommand("AT+CIFSR", "OK", NULL, 1000); + DBG("Data Mode\r\n"); + state.cmdMode = false; + if (command_results[0] and command_results[1] and command_results[2]){ + return true; + } + else{ + return false; + } +} + bool ESP8266::close() { wait(0.1f);