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: ESP8266
Fork of ESP8266Interface by
Diff: ESP8266Interface.h
- Branch:
- api-changes
- Revision:
- 40:83c6b4129468
- Parent:
- 38:eb1e46561a19
- Child:
- 42:4bf09cadf328
--- a/ESP8266Interface.h Wed Feb 24 19:07:08 2016 -0600
+++ b/ESP8266Interface.h Wed Feb 24 22:17:45 2016 -0600
@@ -22,6 +22,7 @@
#define ESP8266_SOCKET_COUNT 5
+
/** ESP8266Interface class
* Implementation of the NetworkInterface for the ESP8266
*/
@@ -29,6 +30,7 @@
{
public:
ESP8266Interface(PinName tx, PinName rx, bool debug = false);
+ virtual ~ESP8266Interface();
// Implementation of WiFiInterface
virtual int32_t connect(
@@ -42,8 +44,6 @@
virtual const char *getIPAddress();
virtual const char *getMACAddress();
- virtual void setTimeout(uint32_t timeout);
-
virtual SocketInterface *createSocket(socket_protocol_t proto);
virtual void destroySocket(SocketInterface *socket);
@@ -53,6 +53,38 @@
bool _ids[ESP8266_SOCKET_COUNT];
const char *_ip_address;
const char *_mac_address;
+
+ class ESP8266Socket;
+};
+
+
+/** ESP8266Socket class
+ * Implementation of the SocketInterface for the ESP8266
+ */
+class ESP8266Interface::ESP8266Socket : public SocketInterface
+{
+public:
+ // ESP8266 specific methods
+ ESP8266Socket(
+ ESP8266 *esp,
+ socket_protocol_t proto,
+ int id);
+
+ virtual ~ESP8266Socket();
+
+ int getID() const;
+
+ // Implementation of SocketInterface
+ virtual int32_t open(const char *ip, uint16_t port);
+ virtual int32_t close();
+
+ virtual int32_t send(const void *data, uint32_t len);
+ virtual int32_t recv(void *data, uint32_t len);
+
+private:
+ ESP8266 *_esp;
+ socket_protocol_t _proto;
+ int _id;
};
