EMW3162 driver for NSAPI
Fork of emw3162-driver by
Diff: EMW3162Interface.cpp
- Revision:
- 2:fb6251306b21
- Parent:
- 0:2d5090e1ceb4
- Child:
- 3:a1d89edf0749
diff -r 3c8bed04849d -r fb6251306b21 EMW3162Interface.cpp --- a/EMW3162Interface.cpp Fri Nov 04 02:14:19 2016 +0000 +++ b/EMW3162Interface.cpp Mon Nov 14 02:30:49 2016 +0000 @@ -1,4 +1,4 @@ -/* ESP8266 implementation of NetworkInterfaceAPI +/* EMW3162 implementation of NetworkInterfaceAPI * Copyright (c) 2015 ARM Limited * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,29 +17,29 @@ #include "EMW3162Interface.h" -// Various timeouts for different ESP8266 operations -#define ESP8266_CONNECT_TIMEOUT 15000 -#define ESP8266_SEND_TIMEOUT 500 -#define ESP8266_RECV_TIMEOUT 0 -#define ESP8266_MISC_TIMEOUT 500 +// Various timeouts for different EMW3162 operations +#define EMW3162_CONNECT_TIMEOUT 15000 +#define EMW3162_SEND_TIMEOUT 500 +#define EMW3162_RECV_TIMEOUT 0 +#define EMW3162_MISC_TIMEOUT 500 -// ESP8266Interface implementation -ESP8266Interface::ESP8266Interface(PinName tx, PinName rx, bool debug) +// EMW3162Interface implementation +EMW3162Interface::EMW3162Interface(PinName tx, PinName rx, bool debug) : _esp(tx, rx, debug) { memset(_ids, 0, sizeof(_ids)); memset(_cbs, 0, sizeof(_cbs)); - _esp.attach(this, &ESP8266Interface::event); + _esp.attach(this, &EMW3162Interface::event); } -int ESP8266Interface::connect( +int EMW3162Interface::connect( const char *ssid, const char *pass, nsapi_security_t security) { - _esp.setTimeout(ESP8266_CONNECT_TIMEOUT); + _esp.setTimeout(EMW3162_CONNECT_TIMEOUT); if (!_esp.startup()) { return NSAPI_ERROR_DEVICE_ERROR; @@ -60,9 +60,9 @@ return 0; } -int ESP8266Interface::disconnect() +int EMW3162Interface::disconnect() { - _esp.setTimeout(ESP8266_MISC_TIMEOUT); + _esp.setTimeout(EMW3162_MISC_TIMEOUT); if (!_esp.disconnect()) { return NSAPI_ERROR_DEVICE_ERROR; @@ -71,29 +71,29 @@ return 0; } -const char* ESP8266Interface::get_ip_address() +const char* EMW3162Interface::get_ip_address() { return _esp.getIPAddress(); } -const char* ESP8266Interface::get_mac_address() +const char* EMW3162Interface::get_mac_address() { return _esp.getMACAddress(); } -struct esp8266_socket { +struct EMW3162_socket { int id; int socketId; nsapi_protocol_t proto; bool connected; }; -int ESP8266Interface::socket_open(void **handle, nsapi_protocol_t proto) +int EMW3162Interface::socket_open(void **handle, nsapi_protocol_t proto) { // Look for an unused socket int id = -1; - for (int i = 1; i < ESP8266_SOCKET_COUNT; i++) { + for (int i = 1; i < EMW3162_SOCKET_COUNT; i++) { if (!_ids[i]) { id = i; _ids[i] = true; @@ -105,7 +105,7 @@ return NSAPI_ERROR_NO_SOCKET; } - struct esp8266_socket *socket = new struct esp8266_socket; + struct EMW3162_socket *socket = new struct EMW3162_socket; if (!socket) { return NSAPI_ERROR_NO_SOCKET; } @@ -118,11 +118,11 @@ return 0; } -int ESP8266Interface::socket_close(void *handle) +int EMW3162Interface::socket_close(void *handle) { - struct esp8266_socket *socket = (struct esp8266_socket *)handle; + struct EMW3162_socket *socket = (struct EMW3162_socket *)handle; int err = 0; - _esp.setTimeout(ESP8266_MISC_TIMEOUT); + _esp.setTimeout(EMW3162_MISC_TIMEOUT); if (!_esp.close(socket->socketId)) { err = NSAPI_ERROR_DEVICE_ERROR; @@ -133,20 +133,20 @@ return err; } -int ESP8266Interface::socket_bind(void *handle, const SocketAddress &address) +int EMW3162Interface::socket_bind(void *handle, const SocketAddress &address) { return NSAPI_ERROR_UNSUPPORTED; } -int ESP8266Interface::socket_listen(void *handle, int backlog) +int EMW3162Interface::socket_listen(void *handle, int backlog) { return NSAPI_ERROR_UNSUPPORTED; } -int ESP8266Interface::socket_connect(void *handle, const SocketAddress &addr) +int EMW3162Interface::socket_connect(void *handle, const SocketAddress &addr) { - struct esp8266_socket *socket = (struct esp8266_socket *)handle; - _esp.setTimeout(ESP8266_MISC_TIMEOUT); + struct EMW3162_socket *socket = (struct EMW3162_socket *)handle; + _esp.setTimeout(EMW3162_MISC_TIMEOUT); const char *proto = (socket->proto == NSAPI_UDP) ? "UNICAST" : "CLIENT"; socket -> socketId = _esp.open(proto, socket->id, addr.get_ip_address(), addr.get_port()); @@ -158,15 +158,15 @@ return 0; } -int ESP8266Interface::socket_accept(void **handle, void *server) +int EMW3162Interface::socket_accept(void **handle, void *server) { return NSAPI_ERROR_UNSUPPORTED; } -int ESP8266Interface::socket_send(void *handle, const void *data, unsigned size) +int EMW3162Interface::socket_send(void *handle, const void *data, unsigned size) { - struct esp8266_socket *socket = (struct esp8266_socket *)handle; - _esp.setTimeout(ESP8266_SEND_TIMEOUT); + struct EMW3162_socket *socket = (struct EMW3162_socket *)handle; + _esp.setTimeout(EMW3162_SEND_TIMEOUT); if (!_esp.send(socket->socketId, data, size)) { return NSAPI_ERROR_DEVICE_ERROR; @@ -175,10 +175,10 @@ return size; } -int ESP8266Interface::socket_recv(void *handle, void *data, unsigned size) +int EMW3162Interface::socket_recv(void *handle, void *data, unsigned size) { - struct esp8266_socket *socket = (struct esp8266_socket *)handle; - _esp.setTimeout(ESP8266_RECV_TIMEOUT); + struct EMW3162_socket *socket = (struct EMW3162_socket *)handle; + _esp.setTimeout(EMW3162_RECV_TIMEOUT); int32_t recv = _esp.recv(socket->socketId, data, size); if (recv < 0) { @@ -188,9 +188,9 @@ return recv; } -int ESP8266Interface::socket_sendto(void *handle, const SocketAddress &addr, const void *data, unsigned size) +int EMW3162Interface::socket_sendto(void *handle, const SocketAddress &addr, const void *data, unsigned size) { - struct esp8266_socket *socket = (struct esp8266_socket *)handle; + struct EMW3162_socket *socket = (struct EMW3162_socket *)handle; if (!socket->connected) { int err = socket_connect(socket, addr); if (err < 0) { @@ -201,21 +201,21 @@ return socket_send(socket, data, size); } -int ESP8266Interface::socket_recvfrom(void *handle, SocketAddress *addr, void *data, unsigned size) +int EMW3162Interface::socket_recvfrom(void *handle, SocketAddress *addr, void *data, unsigned size) { - struct esp8266_socket *socket = (struct esp8266_socket *)handle; + struct EMW3162_socket *socket = (struct EMW3162_socket *)handle; return socket_recv(socket, data, size); } -void ESP8266Interface::socket_attach(void *handle, void (*callback)(void *), void *data) +void EMW3162Interface::socket_attach(void *handle, void (*callback)(void *), void *data) { - struct esp8266_socket *socket = (struct esp8266_socket *)handle; + struct EMW3162_socket *socket = (struct EMW3162_socket *)handle; _cbs[socket->id].callback = callback; _cbs[socket->id].data = data; } -void ESP8266Interface::event() { - for (int i = 0; i < ESP8266_SOCKET_COUNT; i++) { +void EMW3162Interface::event() { + for (int i = 0; i < EMW3162_SOCKET_COUNT; i++) { if (_cbs[i].callback) { _cbs[i].callback(_cbs[i].data); }