DISCO_L475VG_IOT01 wifi library with TCP-SSL support

Dependents:   DISCO_L475VG_IOT01-Telegram-BOT

Files at this revision

API Documentation at this revision

Comitter:
dvddnr
Date:
Fri Jan 26 14:58:24 2018 +0000
Parent:
0:991714b0e830
Commit message:
reworked tcp ssl wrapper

Changed in this revision

es_wifi.c Show annotated file Show diff for this revision Revisions of this file
es_wifi.h Show annotated file Show diff for this revision Revisions of this file
diff -r 991714b0e830 -r 0ce37d60fe92 es_wifi.c
--- a/es_wifi.c	Wed Jan 24 11:03:18 2018 +0000
+++ b/es_wifi.c	Fri Jan 26 14:58:24 2018 +0000
@@ -1239,6 +1239,48 @@
 }
 
 
+
+
+/**
+  * @brief  Configure and Start a Client connection.
+  * @param  Obj: pointer to module handle
+  * @param  conn: pointer to the connection structure
+  * @retval Operation Status.
+  */
+ES_WIFI_Status_t ES_WIFI_ConnectToRemoteHost(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn)
+{
+  ES_WIFI_Status_t ret;
+
+    sprintf((char*)Obj->CmdData,"P0=%d\r", conn->Number);
+    ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);
+
+    sprintf((char*)Obj->CmdData,"P1=%d\r",conn->Type);
+    ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);
+    if(ret != ES_WIFI_STATUS_OK) return ret;
+        
+    sprintf((char*)Obj->CmdData,"D0=%s\r",(char*)conn->RemoteHost);
+    ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); 
+    if(ret != ES_WIFI_STATUS_OK) return ret;
+    
+    sprintf((char*)Obj->CmdData,"P4=%d\r", conn->RemotePort);
+    ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);
+    if(ret != ES_WIFI_STATUS_OK) return ret;
+    
+    if( conn->Type == ES_WIFI_TCP_SSL_CONNECTION)
+    {
+      sprintf((char*)Obj->CmdData,"P9=0\r");
+      ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);         
+      if(ret != ES_WIFI_STATUS_OK) return ret;
+    }
+
+    sprintf((char*)Obj->CmdData,"P6=1\r");
+    ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);      
+   
+  return ret;
+}
+
+
+
 /**
   * @brief  Configure and Start a Client connection.
   * @param  Obj: pointer to module handle
@@ -1249,32 +1291,8 @@
 {
   ES_WIFI_Status_t ret;
 
-    sprintf((char*)Obj->CmdData,"P0=%d\r", conn->Number);
-    ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);
-
-    if( conn->Type == ES_WIFI_TCP_SSL_CONNECTION )
-    {
-        sprintf((char*)Obj->CmdData,"P1=3\r");
-        ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);
-        if(ret != ES_WIFI_STATUS_OK) return ret;
-        
-        sprintf((char*)Obj->CmdData,"D0=%s\r",(char*)conn->RemoteIP);
-        ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData); 
-        if(ret != ES_WIFI_STATUS_OK) return ret;
-    
-        sprintf((char*)Obj->CmdData,"P4=%d\r", conn->RemotePort);
-        ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);
-        if(ret != ES_WIFI_STATUS_OK) return ret;
-    
-        sprintf((char*)Obj->CmdData,"P9=0\r");
-        ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);         
-        if(ret != ES_WIFI_STATUS_OK) return ret;
-  
-        sprintf((char*)Obj->CmdData,"P6=1\r");
-        ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);      
-   
-        return ret;   
-    }
+  sprintf((char*)Obj->CmdData,"P0=%d\r", conn->Number);
+  ret = AT_ExecuteCommand(Obj, Obj->CmdData, Obj->CmdData);
 
   if(ret == ES_WIFI_STATUS_OK)
   {
diff -r 991714b0e830 -r 0ce37d60fe92 es_wifi.h
--- a/es_wifi.h	Wed Jan 24 11:03:18 2018 +0000
+++ b/es_wifi.h	Fri Jan 26 14:58:24 2018 +0000
@@ -214,7 +214,8 @@
   uint8_t            Number;             
   uint16_t           RemotePort;         
   uint16_t           LocalPort;          
-  uint8_t            RemoteIP[63];        
+  uint8_t            RemoteIP[4]; 
+  uint8_t            RemoteHost[63];  
   char*              Name;  
 } ES_WIFI_Conn_t;
 
@@ -272,6 +273,7 @@
 #endif
 ES_WIFI_Status_t  ES_WIFI_DNS_LookUp(ES_WIFIObject_t *Obj, const char *url, uint8_t *ipaddress);
 ES_WIFI_Status_t  ES_WIFI_StartClientConnection(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn);
+ES_WIFI_Status_t  ES_WIFI_ConnectToRemoteHost(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn);
 ES_WIFI_Status_t  ES_WIFI_StopClientConnection(ES_WIFIObject_t *Obj, ES_WIFI_Conn_t *conn);
 #if (ES_WIFI_USE_AWS == 1)
 ES_WIFI_Status_t  ES_WIFI_StartAWSClientConnection(ES_WIFIObject_t *Obj, ES_WIFI_AWS_Conn_t *conn);