emw312 driver

Fork of emw3162-driver by Maggie Mei

Revision:
4:2ab7d68a654c
Parent:
2:fb6251306b21
--- a/EMW3162Interface.cpp	Thu Jan 12 22:40:59 2017 +0000
+++ b/EMW3162Interface.cpp	Thu Jan 12 17:21:34 2017 -0600
@@ -34,10 +34,7 @@
     _esp.attach(this, &EMW3162Interface::event);
 }
 
-int EMW3162Interface::connect(
-    const char *ssid,
-    const char *pass,
-    nsapi_security_t security)
+int EMW3162Interface::connect()
 {
     _esp.setTimeout(EMW3162_CONNECT_TIMEOUT);
 
@@ -49,7 +46,7 @@
         return NSAPI_ERROR_DHCP_FAILURE;
     }
 
-    if (!_esp.connect(ssid, pass)) {
+    if (!_esp.connect(ap_ssid, ap_pass)) {
         return NSAPI_ERROR_NO_CONNECTION;
     }
 
@@ -60,6 +57,35 @@
     return 0;
 }
 
+int EMW3162Interface::connect(const char *ssid, const char *pass, nsapi_security_t security,
+                                        uint8_t channel)
+{
+    if (channel != 0) {
+        return NSAPI_ERROR_UNSUPPORTED;
+    }
+
+    set_credentials(ssid, pass, security);
+    return connect();
+}
+
+int EMW3162Interface::set_credentials(const char *ssid, const char *pass, nsapi_security_t security)
+{
+    memset(ap_ssid, 0, sizeof(ap_ssid));
+    strncpy(ap_ssid, ssid, sizeof(ap_ssid));
+
+    memset(ap_pass, 0, sizeof(ap_pass));
+    strncpy(ap_pass, pass, sizeof(ap_pass));
+
+    ap_sec = security;
+
+    return 0;
+}
+
+int EMW3162Interface::set_channel(uint8_t channel)
+{
+    return NSAPI_ERROR_UNSUPPORTED;
+}
+
 int EMW3162Interface::disconnect()
 {
     _esp.setTimeout(EMW3162_MISC_TIMEOUT);
@@ -81,6 +107,15 @@
     return _esp.getMACAddress();
 }
 
+int EMW3162Interface::scan(WiFiAccessPoint *res, unsigned count){
+    return NSAPI_ERROR_UNSUPPORTED;
+}
+
+int8_t EMW3162Interface::get_rssi()
+{
+    return NSAPI_ERROR_UNSUPPORTED;
+}
+
 struct EMW3162_socket {
     int id;
     int socketId;
@@ -158,7 +193,7 @@
     return 0;
 }
     
-int EMW3162Interface::socket_accept(void **handle, void *server)
+int EMW3162Interface::socket_accept(void *handle, void **socket, SocketAddress *address)
 {
     return NSAPI_ERROR_UNSUPPORTED;
 }