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
Revision 15:37a7a56a424f, committed 2014-11-30
- Comitter:
- michaeljkoster
- Date:
- Sun Nov 30 21:56:03 2014 +0000
- Parent:
- 14:4d1128f72e00
- Child:
- 16:3f0efaa57a12
- Commit message:
- reorganize
Changed in this revision
ESP8266/ESP8266.cpp | Show annotated file Show diff for this revision Revisions of this file |
ESP8266/ESP8266.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/ESP8266/ESP8266.cpp Sun Nov 30 21:37:16 2014 +0000 +++ b/ESP8266/ESP8266.cpp Sun Nov 30 21:56:03 2014 +0000 @@ -83,6 +83,32 @@ return join(); } +bool ESP8266::is_connected() +{ + return true; +} + +bool ESP8266::close() +{ + return true; +} + +bool ESP8266::disconnect() +{ + // if already disconnected, return + if (!state.associated) + return true; + // send command to quit AP + // + state.associated = false; + return true; +} + +char* ESP8266::getIPAddress() +{ + return ipString; +} + bool ESP8266::gethostbyname(const char * host, char * ip) { string h = host; @@ -105,43 +131,6 @@ } } -void ESP8266::flush() -{ - buf_ESP8266.flush(); -} - -bool ESP8266::sendCommand(const char * cmd, const char * ack, char * res, int timeout) -{ - return true; -} - -bool ESP8266::close() -{ - return true; -} - -bool ESP8266::disconnect() -{ - // if already disconnected, return - if (!state.associated) - return true; - // send command to quit AP - // - state.associated = false; - return true; - -} - -bool ESP8266::is_connected() -{ - return true; -} - -char* ESP8266::getIPAddress() -{ - return ipString; -} - void ESP8266::reset() { reset_pin = 0; @@ -155,10 +144,19 @@ return true; } -int ESP8266::putc(char c) +void ESP8266::handler_rx(void) { - while (!wifi.writeable()); - return wifi.putc(c); + //read characters + while (wifi.readable()) + buf_ESP8266.queue(wifi.getc()); +} + +void ESP8266::attach_rx(bool callback) +{ + if (!callback) + wifi.attach(NULL); + else + wifi.attach(this, &ESP8266::handler_rx); } int ESP8266::readable() @@ -179,21 +177,21 @@ return c; } -void ESP8266::handler_rx(void) +int ESP8266::putc(char c) { - //read characters - while (wifi.readable()) - buf_ESP8266.queue(wifi.getc()); + while (!wifi.writeable()); + return wifi.putc(c); } -void ESP8266::attach_rx(bool callback) +void ESP8266::flush() { - if (!callback) - wifi.attach(NULL); - else - wifi.attach(this, &ESP8266::handler_rx); + buf_ESP8266.flush(); } +bool ESP8266::sendCommand(const char * cmd, const char * ack, char * res, int timeout) +{ + return true; +} int ESP8266::send(const char * str, int len, const char * ACK, char * res, int timeout) { @@ -300,4 +298,4 @@ attach_rx(true); DBG("result: %d\r\n", result) return result; -} \ No newline at end of file +}
--- a/ESP8266/ESP8266.h Sun Nov 30 21:37:16 2014 +0000 +++ b/ESP8266/ESP8266.h Sun Nov 30 21:56:03 2014 +0000 @@ -58,14 +58,7 @@ bool join(); /** - * Disconnect the ESP8266 module from the access point - * - * @return true if successful - */ - bool disconnect(); - - /** - * Join to the access point and get DHCP settings + * Same as Join: connect to the ssid and get DHCP settings * @return true if successful */ bool connect(); @@ -77,10 +70,30 @@ bool is_connected(); /** + * Disconnect the ESP8266 module from the access point + * + * @return true if successful + */ + bool disconnect(); + + /** + * Close a tcp connection + * + * @return true if successful + */ + bool close(); + + /** * Return the IP address * @return IP address as a string */ char* getIPAddress(); + + /** + * Return the IP address from host name + * @return IP address as a string + */ bool gethostbyname(const char * host, char * ip); + /** * Reset the wifi module */ @@ -113,11 +126,6 @@ char getc(); /** - * Flush the buffer - */ - void flush(); - - /** * Write a character * * @param the character which will be written @@ -125,12 +133,21 @@ int putc(char c); /** - * Close a tcp connection + * Flush the buffer + */ + void flush(); + + /** + * Send a command to the wify module. Check if the module is in command mode. If not enter in command mode + * + * @param str string to be sent + * @param ACK string which must be acknowledge by the wifi module. If ACK == NULL, no string has to be acknoledged. (default: "NO") + * @param res this field will contain the response from the wifi module, result of a command sent. This field is available only if ACK = "NO" AND res != NULL (default: NULL) * * @return true if successful */ - bool close(); - + bool sendCommand(const char * cmd, const char * ack = NULL, char * res = NULL, int timeout = DEFAULT_WAIT_RESP_TIMEOUT); + /** * Send a string to the wifi module by serial port. This function desactivates the user interrupt handler when a character is received to analyze the response from the wifi module. * Useful to send a command to the module and wait a response. @@ -145,19 +162,6 @@ */ int send(const char * str, int len, const char * ACK = NULL, char * res = NULL, int timeout = DEFAULT_WAIT_RESP_TIMEOUT); - /** - * Send a command to the wify module. Check if the module is in command mode. If not enter in command mode - * - * @param str string to be sent - * @param ACK string which must be acknowledge by the wifi module. If ACK == NULL, no string has to be acknoledged. (default: "NO") - * @param res this field will contain the response from the wifi module, result of a command sent. This field is available only if ACK = "NO" AND res != NULL (default: NULL) - * - * @return true if successful - */ - bool sendCommand(const char * cmd, const char * ack = NULL, char * res = NULL, int timeout = DEFAULT_WAIT_RESP_TIMEOUT); - - bool gethostbyname(const char * host, char * ip); - static ESP8266 * getInstance() { return inst; };