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: WiFiRadioInterface.h
- Revision:
- 16:b2f781416464
- Parent:
- 15:d29439d50306
- Child:
- 17:c3f4095337b8
--- a/WiFiRadioInterface.h Thu Jun 18 15:25:12 2015 +0000
+++ b/WiFiRadioInterface.h Wed Jul 15 23:22:31 2015 +0000
@@ -19,16 +19,48 @@
#include "WiFiInterface.h"
#include "SocketInterface.h"
+#include "ATParser.h"
+
+/** WiFiSocket class.
+ This is a WiFi implementation of a socket that implements the SocketInterface class.
+ This mock WiFi hardware uses AT commands, so an ATParser is used to communicate with the hardware over serial.
+ In a non-AT command set, ATParser could be replaced by RawSerial or another hardware communication interface.
+ */
+
+class WiFiSocket : public SocketInterface
+{
+public:
+ WiFiSocket(uint32_t handle, ATParser* atParser);
+ virtual const char *getHostByName(const char *name) const;
+ virtual int32_t setAddress(const char* addr) const;
+ virtual int32_t setPort(uint16_t port) const;
+ virtual int32_t setAddressPort(const char* addr, uint16_t port) const;
+ virtual const char *getAddress(void) const;
+ virtual uint16_t getPort(void) const;
+ virtual int32_t bind(uint16_t port) const;
+ virtual int32_t listen(void) const;
+ virtual int32_t accept() const;
+ virtual int32_t open() const;
+ virtual int32_t send(const void *data, uint32_t amount, uint32_t timeout_ms = 15000) const;
+ virtual uint32_t recv(const void *data, uint32_t amount, uint32_t timeout_ms = 15000) const;
+ virtual int32_t close() const;
+
+protected:
+ uint32_t handle;
+
+private:
+ ATParser *atParser;
+
+};
/** WiFiRadioInterface class.
- This is a interface a WiFi radio
+ This is an interface to a WiFi radio.
*/
-class WiFiRadioInterface : public WiFiInterface, SocketInterface
+class WiFiRadioInterface : public WiFiInterface
{
public:
-
- WiFiRadioInterface();
- WiFiRadioInterface(const char *ap, const char *pass_phrase = 0, wifi_security_t security = WI_NONE, uint32_t timeout_ms = 15000);
+ WiFiRadioInterface(PinName tx, PinName rx);
+ WiFiRadioInterface(PinName tx, PinName rx, const char *ap, const char *pass_phrase = 0, wifi_security_t security = WI_NONE, uint32_t timeout_ms = 15000);
virtual int32_t init(void) const;
virtual int32_t init(const char *ip, const char *mask, const char *gateway) const;
virtual int32_t connect(uint32_t timeout_ms) const;
@@ -39,23 +71,12 @@
virtual char *getNetworkMask(void) const;
virtual char *getMACAddress(void) const;
virtual int32_t isConnected(void) const;
+ virtual SocketInterface *allocateSocket(socket_protocol_t socketProtocol) const;
+ virtual int deallocateSocket(SocketInterface *socket) const;
- // socket stuff
- virtual const char *get_host_by_name(const char *name) const;
- virtual int32_t set_address(const char* addr) const;
- virtual int32_t set_port(uint16_t port) const;
- virtual int32_t set_address_port(const char* addr, uint16_t port) const;
- virtual const char *get_address(void) const;
- virtual uint16_t get_port(void) const;
- virtual int32_t bind(uint16_t port) const;
- virtual int32_t listen(void) const;
- virtual int32_t accept(const Endpoint &endpoint) const;
- virtual int32_t open(const Endpoint &endpoint) const;
- virtual int32_t send(const void *data, uint32_t amount, uint32_t timeout_ms = 15000) const;
- virtual uint32_t recv(const void *data, uint32_t amount, uint32_t timeout_ms = 15000) const;
- virtual int32_t close(const Endpoint &endpoint) const;
-
- Endpoint *endpoint;
+private:
+ RawSerial serial;
+ ATParser atParser;
};
#endif
