Backing up an unused program in case of future need

Dependencies:   mbed

Revision:
2:06fa34661f19
Parent:
1:94282484baae
Child:
4:e076884ef8bd
--- a/at.cpp	Fri Apr 15 09:03:54 2016 +0000
+++ b/at.cpp	Fri Apr 22 09:23:57 2016 +0000
@@ -12,8 +12,10 @@
 #define WAIT_FOR_ESP_READY      1
 #define WAIT_FOR_WIFI_CONNECTED 2
 #define WAIT_FOR_WIFI_GOT_IP    3
-#define WAIT_FOR_OK             4
-#define WAIT_FOR_SEND_OK        5
+#define WAIT_FOR_STATUS         4
+#define WAIT_FOR_VERSION        5
+#define WAIT_FOR_OK             6
+#define WAIT_FOR_SEND_OK        7
 static int wait_for;
 
 static int * pFeedback;
@@ -77,7 +79,22 @@
     startCommand(pStatus, WAIT_FOR_OK);
     EspSendStringF("AT+CIOBAUD=%d\r\n", baud);
 }
-
+int  AtEspStatus;
+void AtGetEspStatus(int *pStatus)
+{
+    AtEspStatus = 0;
+    startCommand(pStatus, WAIT_FOR_STATUS);
+    EspSendString("AT+CIPSTATUS\r\n");
+}
+char AtEspVersion[20];
+static int versionlinecount;
+void AtGetEspVersion(int *pStatus)
+{
+    AtEspVersion[0] = '\0';
+    startCommand(pStatus, WAIT_FOR_VERSION);
+    EspSendString("AT+GMR\r\n");
+    versionlinecount = 0;
+}
 void AtSendData(int id, int length, const void * pdata, int *pStatus)
 {
     startCommand(pStatus, WAIT_FOR_SEND_OK);
@@ -96,10 +113,11 @@
     EspResetAndStop();
     WifiStatus = WIFI_STOPPED;
 }
-void AtInit()
+int AtInit()
 {   
     startCommand(NULL, WAIT_FOR_COMMAND);
     WifiStatus = WIFI_STOPPED;
+    return 0;
 }
 int handleLine()
 {
@@ -136,6 +154,20 @@
         case WAIT_FOR_SEND_OK:
             if (strcmp(EspLine, "SEND OK") == 0) finishAndReset(AT_SUCCESS);
             return 0;
+            
+        //Status command
+        case WAIT_FOR_STATUS:
+            if (sscanf(EspLine, "STATUS:%d", &AtEspStatus) == 1) wait_for = WAIT_FOR_OK;
+            return 0;
+            
+        //Version command
+        case WAIT_FOR_VERSION:
+            if (++versionlinecount == 3)
+            {
+                strcpy(AtEspVersion, EspLine);
+                wait_for = WAIT_FOR_OK;
+            }
+            return 0;
         
         //Most commands
         case WAIT_FOR_OK: