Init project for Ping

Revision:
2:74f027438e00
Parent:
1:9f135d5ea1f9
Child:
3:574affd4cf9f
--- a/main.cpp	Sun Sep 15 23:43:17 2019 +0000
+++ b/main.cpp	Tue Sep 17 08:57:44 2019 +0000
@@ -51,6 +51,7 @@
 
 #define devlog(f_, ...)             if(CATM1_DEVICE_DEBUG == DEBUG_ENABLE) { pc.printf("\r\n[%s] ", DEVNAME);  pc.printf((f_), ##__VA_ARGS__); }
 #define myprintf(f_, ...)           {pc.printf("\r\n[MAIN] ");  pc.printf((f_), ##__VA_ARGS__);}
+#define pingprintf(f_, ...)         {pc.printf((f_), ##__VA_ARGS__);}
 
 /* Pin configuraiton */
 // Cat.M1
@@ -323,7 +324,7 @@
 
 void printPingToHost_WM01(char *host, int pingnum)
 {   
-    char resp_str[1024] = {0, };
+    Timer t;
 
     if((pingnum < 1) || (pingnum > 10)) 
     {
@@ -332,13 +333,16 @@
         return;
     }
 
-    _parser->set_timeout(1000 * pingnum);
+    _parser->set_timeout((1000 * pingnum) + 2000);
 
     if(_parser->send("AT*PING=%s,%d", host, pingnum) && _parser->recv("OK")) 
     {
-        _parser->read(resp_str, sizeof(resp_str));
+        t.start();
 
-        devlog("%s", resp_str);
+        while(t.read_ms() < ((1000 * pingnum) + 2000))
+        {
+            pingprintf("%c", _parser->getc());
+        }
     }
     
     _parser->set_timeout(WM01_DEFAULT_TIMEOUT);