this is using the mbed os version 5-13-1

Dependencies:   mbed-http

Revision:
103:7b566b522427
Parent:
102:9748f290a1a5
Child:
104:11e9605093c9
--- a/source/ATCmdManager.cpp	Wed Apr 24 17:34:17 2019 +0000
+++ b/source/ATCmdManager.cpp	Thu May 02 21:50:17 2019 +0000
@@ -1,9 +1,11 @@
+#include "debug.h"
 #include "ATCmdManager.h"
 #include "common_config.h"
 #include "common_types.h"
 #include "http_request.h"
 #include "mbed_memory_status.h"
 //#include "mbed_memory_status.h"
+#define FILE_CODE       "atcmd"
 
 ATCmdManager::ATCmdManager(PinName tx, PinName rx, SMDevicePeripheral *blePeripheral, 
                            events::EventQueue &event_queue, WiFiManager *wifi, 
@@ -38,11 +40,13 @@
 
 { 
 // constructor
-    _serial.set_baud(DEFAULT_BAUD_RATE);
+    _serial.set_baud(2*DEFAULT_BAUD_RATE);
+    //Flow flowCtrl = Flow::Disabled;
+    //_serial.set_flow_control(mbed::SerialBase::Disabled);
     _parser.debug_on(debug);
     _parser.set_delimiter("\r\n");
-    _parser.send("+STARTUP\r\n");
-    _parser.oob("AT\n", callback(this, &ATCmdManager::_oob_ok_hdlr));
+    _parser.send("+STARTUP\r\n\r\n");
+    _parser.oob("AT\r", callback(this, &ATCmdManager::_oob_ok_hdlr));
     _parser.oob("ATE0", callback(this, &ATCmdManager::_oob_echo_off));
     _parser.oob("ATE1", callback(this, &ATCmdManager::_oob_echo_on));
     _parser.oob("AT+UMRS", callback(this, &ATCmdManager::_oob_uart_setup));
@@ -67,6 +71,7 @@
     //_parser.oob("AT+UBTPM", callback(this, &ATCmdManager::_oob_ok_hdlr));
     //_parser.oob("AT+UWSCD=", callback(this, &ATCmdManager::_oob_disconnectWiFiNetwork));
     _parser.oob("AT+UDDRP", callback(this, &ATCmdManager::_oob_setupInternetConnection));
+    _parser.oob("AT+UWSC=0,0,0", callback(this, &ATCmdManager::_oob_ok_hdlr));
     _parser.oob("AT+UWSC=0,2", callback(this, &ATCmdManager::_oob_setWiFiSSID));
     _parser.oob("AT+UWSC=0,8", callback(this, &ATCmdManager::_oob_setWiFiPWD));
     _parser.oob("AT+UWSC=0,5", callback(this, &ATCmdManager::_oob_setWiFiSecurity));
@@ -74,19 +79,22 @@
     _parser.oob("AT+UWSSTAT", callback(this, &ATCmdManager::_oob_WiFiNetworkStatus));
     
     //_parser.oob("AT+UWSC=0,5", callback(this, &ATCmdManager::_oob_sendHttpMessage));
- 
-    printf("\n --- ATCmdManager constructor completed ---\n");
+    //sendAtConfirmation("Testing:: +UBTLE:2\r\nOK\r\n");
+    dbg_printf(LOG, "\n --- ATCmdManager constructor completed ---\n");
     at_resp = AT_RESP_NONE;
     dataMode = AT_CMD_DATA_MODE;
     debug_flag = 0;
     _event_queue.call_in(10, &print_heap_and_isr_stack_info);
     //print_heap_and_isr_stack_info();
     _event_queue.call_every(3600000,&print_memory_info);
+#ifdef BOX_UBLOX_DEMO_TESTING
+    check_for_at_cmd = false;
+#endif
 }
 
 
 void ATCmdManager::runMain(){
-    printf("\r\n [ATCMD MAN]  Thread Id = %X\r\n", (uint32_t)ThisThread::get_id());
+    dbg_printf(LOG, "\r\n [ATCMD MAN]  Thread Id = %X\r\n", (uint32_t)ThisThread::get_id());
     while(true){
         _process_oob(UBLOX_ODIN_W2_RECV_TIMEOUT, true);
         wait_ms(MAIN_LOOP_WAIT_TIME_MS); // allow BTLE/WiFi some time 
@@ -100,7 +108,7 @@
         dequeueWiFidataResponse();
         if(debug_flag>0){
             //debug_flag--;
-            printf(" back to ProcessResponses in Main loop... at_resp = %d\r\n", at_resp);
+            dbg_printf(LOG, " back to ProcessResponses in Main loop... at_resp = %d\r\n", at_resp);
         }
         char * respStr;
         //if(at_resp > AT_COMMAND_FAILED)
@@ -109,13 +117,13 @@
             case AT_RESP_NONE:
                 if(debug_flag>0){
                     debug_flag--;
-                    printf(" In IDLE state \r\n");
+                    dbg_printf(LOG, " In IDLE state \r\n");
                 }
                 // IDLE response state
                 break;
             case AT_SCAN_RESP:
                 // AT_SCAN_RESP response state
-                printf("\n [ATCMD MAN] WIFI SCAN RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI SCAN RESPONSE RECEIVED!!\r\n");
                 //_smutex.lock();
                 //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
                 //_smutex.unlock();
@@ -125,7 +133,7 @@
                 break;
             case AT_DETAILED_SCAN_RESP:
                 // AT_DETAILED_SCAN_RESP response state
-                printf("\n [ATCMD MAN] WIFI DETAILED SCAN RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI DETAILED SCAN RESPONSE RECEIVED!!\r\n");
                 //_smutex.lock();
                 //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
                 //_smutex.unlock();
@@ -136,9 +144,9 @@
             case AT_CONNECT_RESP:  
             {
                 // AT_CONNECT_RESP response state 
-                printf("\n [ATCMD MAN] WIFI CONNECT RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI CONNECT RESPONSE RECEIVED!!\r\n");
                 //_smutex.lock();
-                //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+                sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
                 respStr = (char *) resp_data->buffer;
                 sendAtConfirmationFreeMpool(respStr);
                 char * urc = new char[20];
@@ -152,7 +160,7 @@
             case AT_DISCONNECT_RESP:  
                 // AT_DISCONNECT_RESP response state 
                 //////_smutex.lock();
-                printf("\n [ATCMD MAN] WIFI DISCONNECT RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI DISCONNECT RESPONSE RECEIVED!!\r\n");
                 //_smutex.lock();
                 //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
                 //_smutex.unlock();
@@ -163,7 +171,7 @@
             case AT_CONFIG_RESP:  
                 // AT_CONFIG_RESP response state 
                 //////_smutex.lock();
-                printf("\n [ATCMD MAN] WIFI CONFIG RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI CONFIG RESPONSE RECEIVED!!\r\n");
                 //_smutex.lock();
                 sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
                 //_smutex.unlock();
@@ -172,7 +180,7 @@
             case AT_NETWORK_STATUS_RESP:  
                 // AT_CONFIG_RESP response state 
                 //////_smutex.lock();
-                printf("\n [ATCMD MAN] NETWORK STATUS RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] NETWORK STATUS RESPONSE RECEIVED!!\r\n");
                 respStr = (char *) resp_data->buffer;
                 sendAtConfirmationFreeMpool(respStr);
                 at_resp = AT_RESP_NONE;
@@ -180,14 +188,14 @@
             case AT_WIFI_STATUS_RESP:  
                 // AT_CONFIG_RESP response state 
                 //////_smutex.lock();
-                printf("\n [ATCMD MAN] WIFI RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI RESPONSE RECEIVED!!\r\n");
                 respStr = (char *) resp_data->buffer;
                 sendAtConfirmationFreeMpool(respStr);
                 at_resp = AT_RESP_NONE;
                 break;
             case AT_INTERNET_CONFIG_RESP:  
                 // AT_CONFIG_RESP response state 
-                printf("\n [ATCMD MAN] WIFI INTERNET_CONFIG RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI INTERNET_CONFIG RESPONSE RECEIVED!!\r\n");
                 //_smutex.lock();
                 sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
                 //_smutex.unlock();
@@ -197,7 +205,7 @@
                 break;
             case AT_HTTPS_RESP:  
                 // AT_HTTP_RESP response state 
-                printf("\n [ATCMD MAN] WIFI HTTPS RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI HTTPS RESPONSE RECEIVED!!\r\n");
                 return_response();
                 //_smutex.lock();
                 sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
@@ -206,7 +214,7 @@
                 break;
             case AT_HTTPS_RESP_DOWNLOAD:  
                 // AT_HTTPS_RESP_DOWNLOAD response state 
-                printf("\n [ATCMD MAN] WIFI HTTPS DOWNLOAD RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI HTTPS DOWNLOAD RESPONSE RECEIVED!!\r\n");
                 return_response(true); // set download paramter to true
                 //_smutex.lock();
                 sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
@@ -215,16 +223,16 @@
                 break;
             case AT_HTTP_RESP:  
                 // AT_HTTP_RESP response state 
-                printf("\n [ATCMD MAN] WIFI HTTP RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI HTTP RESPONSE RECEIVED!!\r\n");
                 return_response(); 
                 //_smutex.lock();
-                sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+                //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
                 //_smutex.unlock();
                 at_resp = AT_RESP_NONE;
                 break;
             case AT_HTTP_RESP_DOWNLOAD:  
                 // AT_HTTP_RESP response state 
-                printf("\n [ATCMD MAN] WIFI HTTP RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI HTTP RESPONSE RECEIVED!!\r\n");
                 return_response(true); // set download paramter to true
                 //_smutex.lock();
                 //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
@@ -234,7 +242,7 @@
             case CONNECT_EVENT:  
             {
                 // Connect Event state 
-                printf("\n [ATCMD MAN] CONNECT EVENT RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] CONNECT EVENT RECEIVED!!\r\n");
                 sendConnectEvent(resp_data->buffer, resp_data->dataLen);
                 at_resp = AT_RESP_NONE;
                 break;
@@ -242,7 +250,7 @@
             case AT_EVENT:  
             {
                 // AT Event state 
-                printf("\n [ATCMD MAN] AT EVENT RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] AT EVENT RECEIVED!!\r\n");
                 respStr = (char *) resp_data->buffer;
                 sendAtEvent(respStr);
                 at_resp = AT_RESP_NONE;
@@ -251,7 +259,7 @@
             case AT_COMMAND_FAILED:  
             {
                 // AT_HTTP_RESP response state 
-                printf("\n [ATCMD MAN] WIFI COMMAND FAILED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] WIFI COMMAND FAILED!!\r\n");
                 //_smutex.lock();
                 //_parser.send("\r\nNACK\r\n");
                 //_smutex.unlock();
@@ -263,7 +271,7 @@
             default:
                  //UNKNOWN response state
                 //_smutex.lock();
-                printf("\n [ATCMD MAN] UNKNOWN RESPONSE RECEIVED!!\r\n");
+                dbg_printf(LOG, "\n [ATCMD MAN] UNKNOWN RESPONSE RECEIVED!!\r\n");
                 sendAtConfirmationFreeMpool(ERROR_RESP);   //_parser.send(OK_RESP);
                 //_smutex.unlock();
                 at_resp = AT_RESP_NONE;
@@ -283,10 +291,10 @@
 void ATCmdManager::printBufferInHex(uint8_t *buf, int pLen)
 {
     for(int i =0;i<pLen;i++){
-        if(i%8==0) printf("\n[%3d]",i);
-        printf("%02x ", buf[i]);
+        if(i%8==0) dbg_printf(LOG, "\n[%3d]",i);
+        dbg_printf(LOG, "%02x ", buf[i]);
     }
-    printf("\n");
+    dbg_printf(LOG, "\n");
 }
 
 bool ATCmdManager::validate(edm_header_t edm_header)
@@ -339,14 +347,14 @@
     char * nxtPtr = strPtr;
     char * outPtr;
     char * bodyPtr = p2+4;
-    printf("\nstrPtr address= %x",strPtr);
-    printf("\np2 address= %x", p2);
+    dbg_printf(LOG, "\nstrPtr address= %x",strPtr);
+    dbg_printf(LOG, "\np2 address= %x", p2);
     for(int i = 0; i < 5; i++){
         if(i == 0)// firstline scan method uri and http_ver
         {
             n = sscanf(nxtPtr,"%s %s %s", s1, s2, s3);
             if(n!=3) return false; // error in input abort
-            printf("\nmethod = %s\nuri = %s\nhttp_ver = %s",s1, s2, s3 );
+            dbg_printf(LOG, "\nmethod = %s\nuri = %s\nhttp_ver = %s",s1, s2, s3 );
             //http_req.method = str2HttpMethod(s1.c_str());
             http_req->method = str2HttpMethod(s1);
             http_req->request_URI = (char *) http_req->buffer; // point 1st string to start of buffer
@@ -355,10 +363,10 @@
             http_req->http_version = http_req->request_URI + len; // point 2nd string to after 1st
             len = strlen(s3)+1;
             strncpy(http_req->http_version, s3, len);
-            printf("\nhttp_request 1st line:\n method = %d\nuri = %s\nhttp_ver = %s",http_req->method, 
+            dbg_printf(LOG, "\nhttp_request 1st line:\n method = %d\nuri = %s\nhttp_ver = %s",http_req->method, 
                                                                       http_req->request_URI, 
                                                                       http_req->http_version );
-            printf("\nhttp_request str ptrs\nuri = %X\nhttp_ver = %X",http_req->request_URI, 
+            dbg_printf(LOG, "\nhttp_request str ptrs\nuri = %X\nhttp_ver = %X",http_req->request_URI, 
                                                                       http_req->http_version );
             outPtr = http_req->http_version + len; // point output buffer ptr to after 2nd string
         }
@@ -368,26 +376,26 @@
             if(n!=2) return false; // error in input abort
             p = strstr(s1,":");
             *p = NULL;
-            printf("\nname = %s value = %s",s1, s2);
+            dbg_printf(LOG, "\nname = %s value = %s",s1, s2);
             if(strstr(s1, "Host")!= NULL){
                 http_req->hostName = outPtr;
                 len = strlen(s2)+1;                
                 strncpy(outPtr, s2, len);
-                printf("\nname = %s value = %s",s1, outPtr);
+                dbg_printf(LOG, "\nname = %s value = %s",s1, outPtr);
                 outPtr += len; // point output buffer ptr to after current string
             }
             else if(strstr(s1, "Accept")!= NULL){
                 http_req->AcceptVal = outPtr;
                 len = strlen(s2)+1;                
                 strncpy(outPtr, s2, len);
-                printf("\nname = %s value = %s",s1, outPtr);
+                dbg_printf(LOG, "\nname = %s value = %s",s1, outPtr);
                 outPtr += len; // point output buffer ptr to after current string
             }
             else if(strstr(s1, "Content-Type")!= NULL){
                 http_req->contentType = outPtr;
                 len = strlen(s2)+1;                
                 strncpy(outPtr, s2, len);
-                printf("\nname = %s value = %s",s1, outPtr);
+                dbg_printf(LOG, "\nname = %s value = %s",s1, outPtr);
                 outPtr += len; // point output buffer ptr to after current string
             }
             else if(strstr(s1, "Content-Length")!= NULL){
@@ -395,31 +403,31 @@
                 http_req->contentLen = outPtr;
                 len = strlen(s2)+1;                
                 strncpy(outPtr, s2, len);
-                printf("\nname = %s value = %s",s1, outPtr);
+                dbg_printf(LOG, "\nname = %s value = %s",s1, outPtr);
                 outPtr += len; // point output buffer ptr to after current string
             }
             
-            printf("\noutPtr = %X len = %d\n", outPtr, len);
+            dbg_printf(LOG, "\noutPtr = %X len = %d\n", outPtr, len);
         }
         nxtPtr = strstr(nxtPtr, "\r\n")+2; // goto next line
         if(nxtPtr >= p2) break;
     }
     // print header from http_req_struct
-    printf("\nhttp request header: \n %s\n", http_req->buffer);
+    dbg_printf(LOG, "\nhttp request header: \n %s\n", http_req->buffer);
     int bodyLen = edm_hdr.payloadLen -(p2+7-strPtr);
-    printf("\nLen = %d\n", bodyLen);
+    dbg_printf(LOG, "\nLen = %d\n", bodyLen);
     http_req->body = (uint8_t *) outPtr;
     memcpy(outPtr, bodyPtr, bodyLen);
     if(bodyLen > 10){
-        printf("\n Message Body:\n");
+        dbg_printf(LOG, "\n Message Body:\n");
         printBufferInHex(http_req->body, bodyLen);
     }
     outPtr += bodyLen; // move output pointer to end output (header + body)
     // package and send on wifi data queue
     data_msg.wifi_cmd = WIFI_CMD_SEND_HTTPS_REQ;
-    printf("\nsizeof(http_req) on population = %d\n", sizeof(*http_req));
+    dbg_printf(LOG, "\nsizeof(http_req) on population = %d\n", sizeof(*http_req));
     data_msg.dataLen = (uint8_t *)outPtr - http_req->buffer;//sizeof(http_request_t);
-    printf("\ndata_msg.dataLen = %d\n", data_msg.dataLen);
+    dbg_printf(LOG, "\ndata_msg.dataLen = %d\n", data_msg.dataLen);
     // queue next data request
     queueWiFiDataRequest(data_msg);
     return true;
@@ -433,7 +441,7 @@
     if(dataMode == AT_EXT_DATA_MODE)
     {
         int n;
-        //if(cnt++ % 10 == 0)printf("In EDM mode\n");
+        //if(cnt++ % 10 == 0)dbg_printf(LOG, "In EDM mode\n");
         uint8_t edm[EDM_HDR_LEN];
         char cmdType[16];
         // Poll for edm packets
@@ -458,10 +466,10 @@
                 pT = 1;
                 strcpy(cmdType, "AT REQUEST");
             }
-            //printf("%d bytes read! : type = %s\n", n, cmdType2str(edm_hdr.payloadID));
-            printf("%d bytes read! : CMD type = %s\n", n, cmdType);
+            //dbg_printf(LOG, "%d bytes read! : type = %s\n", n, cmdType2str(edm_hdr.payloadID));
+            dbg_printf(LOG, "%d bytes read! : CMD type = %s\n", n, cmdType);
             if(n==(EDM_HDR_LEN-pT))
-            printf("Start = %d, payloadID = %d len = %d chan_id = %d\n", edm_hdr.startByte, 
+            dbg_printf(LOG, "Start = %d, payloadID = %d len = %d chan_id = %d\n", edm_hdr.startByte, 
                                                                          edm_hdr.payloadID, 
                                                                          edm_hdr.payloadLen,
                                                                          edm_hdr.channel_id);
@@ -472,7 +480,7 @@
                     //_parser.process_oob();
                     while (_parser.process_oob() && all) {
                         if(debug_flag>0){
-                            printf("finished queuing WIFI CONNECT CMD -- back to process_oob loop \r\n");
+                            dbg_printf(LOG, "finished queuing WIFI CONNECT CMD -- back to process_oob loop \r\n");
                         }
                     }
                     break;
@@ -484,9 +492,9 @@
                     rx_buf_ptr[pLen-1] = 0x00; // clear last byte so the readback value is as expected
                     n = _parser.read((char *)rx_buf_ptr, pLen);
                     if(n == -1) break; // timeout!
-                    printf("%d bytes read - expected %d!\n", n, pLen);
+                    dbg_printf(LOG, "%d bytes read - expected %d!\n", n, pLen);
                     printBufferInHex(rx_buf_ptr, pLen);
-                    printf("rx_buf_ptr[pLen-1] = %0x\n",rx_buf_ptr[pLen-1]);
+                    dbg_printf(LOG, "rx_buf_ptr[pLen-1] = %0x\n",rx_buf_ptr[pLen-1]);
                     if(rx_buf_ptr[pLen-1] != EDM_STOP_BYTE) {
                         _smutex.lock();
                         _parser.send("ERR");
@@ -498,18 +506,18 @@
                     switch(edm_hdr.payloadID)
                     {
                         case CONNECT_EVENT_ID:
-                            printf("Connection Event received!\n");
+                            dbg_printf(LOG, "Connection Event received!\n");
                             break;
                         case DISCONNECT_EVENT_ID:
-                            printf("DISCONNECT_EVENT received!\n");
+                            dbg_printf(LOG, "DISCONNECT_EVENT received!\n");
                             break;
                         case DATA_EVENT_ID:
-                            printf("DATA_EVENT received!\n");
+                            dbg_printf(LOG, "DATA_EVENT received!\n");
                             break;
                         case DATA_COMMAND_ID:
                         {
-                            printf("DATA_COMMAND received!\n");
-                            sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+                            dbg_printf(LOG, "DATA_COMMAND received!\n");
+                            //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
                             if(createHttpRequest() == true){
                                 //_smutex.lock();
                                 //sendAtConfirmation(OK_RESP);   //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
@@ -523,20 +531,20 @@
                             free(rx_buf_ptr);
                             rx_buf_ptr = NULL;
                             int stop = Kernel::get_ms_count();
-                            printf("\n Time Elapsed = %d\n", stop-start);
+                            dbg_printf(LOG, "\n Time Elapsed = %d\n", stop-start);
                             break;
                         }
                         case AT_REQUEST_ID:
-                            printf("AT_REQUEST received!\n");
+                            dbg_printf(LOG, "AT_REQUEST received!\n");
                             break;
                         case AT_CONFIRMATION_ID:
-                            printf("AT_CONFIRMATION received!\n");
+                            dbg_printf(LOG, "AT_CONFIRMATION received!\n");
                             break;
                         case AT_EVENT_ID:
-                            printf("AT_EVENT received!\n");
+                            dbg_printf(LOG, "AT_EVENT received!\n");
                             break;
                         default:
-                            printf("UNKNOWN MESSAGE received!\n");
+                            dbg_printf(LOG, "UNKNOWN MESSAGE received!\n");
                             break;
                     }
                 }
@@ -552,17 +560,64 @@
     {
         // Poll for inbound packets
         static int msgCnt = 0;
+        static char * ATCMD = new char[32];
+        int n = 0;
+#ifdef BOX_UBLOX_DEMO_TESTING
+        if(check_for_at_cmd)
+        {
+            while (n>=0 && all) {
+                n = readAtCommandString(ATCMD, 32);
+                if(strstr(ATCMD,"AT\r") != NULL)
+                {
+                    _oob_ok_hdlr();
+                    check_for_at_cmd = false;
+                    break;
+                }
+            }
+        }
+        else
+#endif
+        {
         while (_parser.process_oob() && all) {
-                        printf("inbound message found... msgCnt = %d \r\n", ++msgCnt);
+                        dbg_printf(LOG, "inbound message found... msgCnt = %d \r\n", ++msgCnt);
                         if(debug_flag>0){
-                            printf("finished queuing WIFI CONNECT CMD -- back to process_oob loop \r\n");
+                            dbg_printf(LOG, "finished queuing WIFI CONNECT CMD -- back to process_oob loop \r\n");
                         }
         }
+        }
     }        
     set_timeout();
 }
 
 
+int ATCmdManager::readAtCommandString(char *strbuf, size_t bufLen)
+{
+    int n;
+    bool atstr_found = false;
+    int i = 0;
+    while(n != -1)
+    {
+        char c;
+        n = _parser.read(&c, 1);
+        if(n)
+        strbuf[i++] = c;
+        if(c=='\r')
+        {
+            strbuf[i++] = NULL; // terminate string and exit
+            atstr_found = true;
+            break;
+        }
+    }
+    if(atstr_found)
+    {
+        return i;
+    }
+    else
+    {
+        return -1;
+    }
+}
+
 // OOB message handlers
 void ATCmdManager::_oob_startup_hdlr(){
 }
@@ -599,23 +654,31 @@
 #endif
 }
 
-
+#define TTP_DEBUGGING
 void ATCmdManager::_oob_uart_setup(){
     int uOpts[NUM_UART_OPTIONS];
     //if(_parser.recv("=%d,%d,%d,%d,%d,%d", &uOpts[0], &uOpts[1], &uOpts[2], &uOpts[3], &uOpts[4], &uOpts[5])) {
     if(_parser.scanf("=%d,%d,%d,%d,%d,%d", &uOpts[0], &uOpts[1], &uOpts[2], &uOpts[3], &uOpts[4], &uOpts[5]) >0) {
-        printf("\nATCmdParser: Uart Options=%d,%d,%d,%d,%d,%d\n", uOpts[0], uOpts[1], uOpts[2], uOpts[3], uOpts[4], uOpts[5]);
+        dbg_printf(LOG, "\nATCmdParser: Uart Options=%d,%d,%d,%d,%d,%d\n", uOpts[0], uOpts[1], uOpts[2], uOpts[3], uOpts[4], uOpts[5]);
+        //printf("\nATCmdParser: Uart Options=%d,%d,%d,%d,%d,%d\n", uOpts[0], uOpts[1], uOpts[2], uOpts[3], uOpts[4], uOpts[5]);
        //AT+UMRS=230400,2,8,1,1,1
-        printf("\n Changing Baud Rate to %d\n", uOpts[0]);
+        dbg_printf(LOG, "\n Changing Baud Rate to %d\n", uOpts[0]);
+#ifdef TTP_DEBUGGING
+    sendAtConfirmation(OK_RESP);
+#else
 
         sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
         wait(0.1);
         _serial.set_baud(uOpts[0]);
         wait(0.1);
-        printf("\n Baud Rate now %d\n", uOpts[0]);
+        dbg_printf(LOG, "\n Baud Rate now %d\n", uOpts[0]);
+#endif
+#ifdef BOX_UBLOX_DEMO_TESTING
+    check_for_at_cmd = true;
+#endif
 
     } else {
-        printf("\nATCmdParser: Retrieving Uart Options failed");
+        dbg_printf(LOG, "\nATCmdParser: Retrieving Uart Options failed");
     }
 }
 
@@ -628,8 +691,9 @@
 void ATCmdManager::_oob_echo_off()
 {
     //_smutex.lock();
-    printf("\n Received ATEO OOB command!!\n");
-    printf("\n turning echo OFF!!\n");
+    dbg_printf(LOG, "\n Received ATEO OOB command!!\n");
+    dbg_printf(LOG, "\n turning echo OFF!!\n");
+    //printf("\n turning echo OFF!!\n");
     _parser.debug_on(false);
     sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     //_smutex.unlock();
@@ -639,8 +703,8 @@
 void ATCmdManager::_oob_echo_on()
 {
     //_smutex.lock();
-    printf("\n Received ATE1 OOB command!!\n");
-    printf("\n turning echo ON!!\n");
+    dbg_printf(LOG, "\n Received ATE1 OOB command!!\n");
+    dbg_printf(LOG, "\n turning echo ON!!\n");
     _parser.debug_on(true);
     sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     //_smutex.unlock();
@@ -649,32 +713,33 @@
 
 void ATCmdManager::_oob_data_mode(){
     //_smutex.lock();
-    printf("\n Received EDM mode command!!\n");
-    if(_parser.scanf("%d", &dataMode) >0) {
-        printf("\nATCmdParser: Data mode=%d\r\n", dataMode);
+    dbg_printf(LOG, "\n Received EDM mode command!!\n");
+    int dmode;
+    if(_parser.scanf("%d", &dmode) >0) {
+        dbg_printf(LOG, "\nATCmdParser: Data mode=%d\r\n", dataMode);
         sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
-        switch(dataMode)
+        switch(dmode)
         {
             case 0:
-                printf("\nATCmdParser: Command Mode request received\n");
+                dbg_printf(LOG, "\nATCmdParser: Command Mode request received\n");
                 dataMode = AT_CMD_DATA_MODE;
                 break;
             case 1:
-                printf("\nATCmdParser: Data Mode request received\n");
+                dbg_printf(LOG, "\nATCmdParser: Data Mode request received\n");
                 dataMode = AT_STD_DATA_MODE;
                 break;
             case 2:
-                printf("\nATCmdParser: Extended data Mode request received\n");
+                dbg_printf(LOG, "\nATCmdParser: Extended data Mode request received\n");
                 dataMode = AT_EXT_DATA_MODE;
                 _event_queue.call_in(10, &print_heap_and_isr_stack_info);
                 //print_heap_and_isr_stack_info();
                 break;
             default:
-                printf("\nATCmdParser: ERROR - UNKNOWN DATA MODE RECEIVED!!! \n");
+                dbg_printf(LOG, "\nATCmdParser: ERROR - UNKNOWN DATA MODE RECEIVED!!! \n");
                 break;
         }
     } else {
-        printf("\nATCmdParser: Retrieving Uart Options failed\n");
+        dbg_printf(LOG, "\nATCmdParser: Retrieving Uart Options failed\n");
     }
     //_smutex.unlock();
 }
@@ -686,17 +751,17 @@
         switch(bleOrWifi)
         {
             case 1:
-                printf("\nATCmdParser: BLE MAC Address request received");
+                dbg_printf(LOG, "\nATCmdParser: BLE MAC Address request received");
                 break;
             case 2:
-                printf("\nATCmdParser: WiFi MAC Address request received");
+                dbg_printf(LOG, "\nATCmdParser: WiFi MAC Address request received");
                 break;
             default:
-                printf("\nATCmdParser: ERROR - UNKNOWN MAC ADDRESS REQUEST RECEIVED!!! \n");
+                dbg_printf(LOG, "\nATCmdParser: ERROR - UNKNOWN MAC ADDRESS REQUEST RECEIVED!!! \n");
                 break;
         }
     } else {
-        printf("\nATCmdParser: Retrieving Uart Options failed");
+        dbg_printf(LOG, "\nATCmdParser: Retrieving Uart Options failed");
     }
     sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     //_smutex.unlock();
@@ -704,23 +769,24 @@
 
 void ATCmdManager::_oob_get_ble_role(){
     //_smutex.lock();
-    printf("\n Received get BLE role command!!\n");
-    sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+    dbg_printf(LOG, "\n Received get BLE role command!!\n");
+    //printf("\n Received get BLE role command!!\n");
+    sendAtConfirmation("+UBTLE:2\r\nOK\r\n");   //_parser.send(OK_RESP);
     //_smutex.unlock();
 }
 
 void ATCmdManager::_oob_ena_ble_peri(){
     //_smutex.lock();
-    printf("\n Received enable BLE Peripheral command!!\n");
+    dbg_printf(LOG, "\n Received enable BLE Peripheral command!!\n");
     sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     //_smutex.unlock();
 }
 
 void ATCmdManager::_oob_reboot(){
     //_smutex.lock();
-    printf("\n Received reboot command!!\n");
+    dbg_printf(LOG, "\n Received reboot command!!\n");
     sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
-    _parser.send("System Resetting....\n");
+    //_parser.send("System Resetting....\n");
     system_reset();
     //_smutex.unlock();
 }
@@ -756,7 +822,7 @@
 
 void ATCmdManager::_oob_scanWiFiNetworks(){
     //_smutex.lock();
-    printf("\n Received scanWiFiNetworks command!!\n");
+    dbg_printf(LOG, "\n Received scanWiFiNetworks command!!\n");
     sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     //_smutex.unlock();
     wifi_cmd_t cmd = WIFI_CMD_SCAN;
@@ -773,8 +839,8 @@
     int aId; // interface id for request
     _parser.recv("%d,%d", &if_id, &aId);
     //_smutex.lock();
-    printf("\n Received WiFi Configuration Action command %d %d!!\r\n", if_id, aId);
-    sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+    dbg_printf(LOG, "\n Received WiFi Configuration Action command %d %d!!\r\n", if_id, aId);
+    //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     if(if_id == WIFI_CONFIG_ID && aId <5){
         wifi_cmd_t cmd;
         action_id_t action_id = (action_id_t) aId;
@@ -787,14 +853,14 @@
                 break;
             case WIFI_CONFIG_ACTIVATE:
                 cmd = WIFI_CMD_CONNECT;
-                printf("\n About to Queue wifi cmd = %d!!\n", cmd);
+                dbg_printf(LOG, "\n About to Queue wifi cmd = %d!!\n", cmd);
                 //_smutex.unlock();
                 // queue next command
                 queueWiFiCommand(cmd);
                 break;
             case WIFI_CONFIG_DEACTIVATE:
                 cmd = WIFI_CMD_DISCONNECT;
-                printf("\n About to Queue wifi cmd = %d!!\n", cmd);
+                dbg_printf(LOG, "\n About to Queue wifi cmd = %d!!\n", cmd);
                 //_smutex.unlock();
                 // queue next command
                 queueWiFiCommand(cmd);
@@ -804,7 +870,7 @@
         }
     }
     if(debug_flag>0){
-        printf("finished queuing WIFI CONNECT CMD \r\n");
+        dbg_printf(LOG, "finished queuing WIFI CONNECT CMD \r\n");
     }
     return;
 }
@@ -813,7 +879,7 @@
 void ATCmdManager::_oob_disconnectWiFiNetwork()
 {
     //_smutex.lock();
-    printf("\n Received WiFi Disconnect command!!\n");
+    dbg_printf(LOG, "\n Received WiFi Disconnect command!!\n");
     sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     wifi_cmd_t cmd = WIFI_CMD_DISCONNECT;
     //_smutex.unlock();
@@ -829,15 +895,19 @@
     int n;
     internet_config_t internet_config;
     //_smutex.lock();
-    printf("sizeof internet_config_t = %d\n", sizeof(internet_config_t));
+    dbg_printf(LOG, "sizeof internet_config_t = %d\n", sizeof(internet_config_t));
     n = ReadBytes((uint8_t *)str, MAX_URL_LEN);
     str[n]=NULL;
-    printf("\n read string = %s , n = %d\n", str, n);
+    dbg_printf(LOG, "\n read string = %s , n = %d\n", str, n);
     //n = sscanf(str, "=%1d,%199[^,],%1d", &(uint8_t)internet_config.peer_id, 
     n = sscanf(str, "=%1d,%99[^,],%1d", &internet_config.peer_id, 
                                          url, //internet_config.url,    
                                         &internet_config.connectionScheme);
+#ifdef BOX_UBLOX_DEMO_TESTING
+    char *p = strstr(url,"/https:"); 
+#else
     char *p = strstr(url,"\""); 
+#endif
     if(p!=NULL)
     {
         strncpy(internet_config.url, &p[1], strlen(url));
@@ -848,24 +918,24 @@
     {
         strncpy(internet_config.url, url, strlen(url)+1);
     }
-    printf("\n read string = %s , n = %d -- strlen(url) = %d\n", internet_config.url, n, strlen(internet_config.url));
+    dbg_printf(LOG, "\n read string = %s , n = %d -- strlen(url) = %d\n", internet_config.url, n, strlen(internet_config.url));
     if(n>0) 
     {
-        printf("peer_id = %1d, url = %s, connScheme = %1d\n", internet_config.peer_id, 
+        dbg_printf(LOG, "peer_id = %1d, url = %s, connScheme = %1d\n", internet_config.peer_id, 
                                                               internet_config.url, 
                                                               internet_config.connectionScheme);
         // package and send on wifi data queue
         wifi_data_msg_t data_msg; 
         data_msg.wifi_cmd = WIFI_CMD_INTERNET_CONFIG;
         data_msg.dataLen = sizeof(internet_config_t); // + strlen(internet_config.url);
-        printf("\n url size = %d url str = %s\n",strlen(internet_config.url), internet_config.url );
+        dbg_printf(LOG, "\n url size = %d url str = %s\n",strlen(internet_config.url), internet_config.url );
         memcpy(data_msg.buffer,&internet_config, data_msg.dataLen);
-        sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+        //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
         // queue next data request
         queueWiFiDataRequest(data_msg);
         print_memory_info();
     } else {
-        printf("\n[ATCMD MAN]: internet configuration failed %d fields parsed \r\n", n);
+        dbg_printf(LOG, "\n[ATCMD MAN]: internet configuration failed %d fields parsed \r\n", n);
         _parser.send("NAK\n");
     }
     //_smutex.unlock();
@@ -919,19 +989,19 @@
     wifi_config_t wifi_cfg = init_wifi_config();
     //_smutex.lock();
     n = readStringBytes((uint8_t *)wifi_cfg.ssid, 32);
-    printf("[ATCMD MAN]: number of bytes read = %d\n", n);
+    dbg_printf(LOG, "[ATCMD MAN]: number of bytes read = %d\n", n);
     if(n>0) 
     {
-        printf("[ATCMD MAN]: wifi_cfg.ssid = %s\n", wifi_cfg.ssid);
+        dbg_printf(LOG, "[ATCMD MAN]: wifi_cfg.ssid = %s\n", wifi_cfg.ssid);
         // package and send on wifi data queue
         wifi_data_msg_t data_msg;
         data_msg.wifi_cmd = WIFI_CMD_CONFIG;
         data_msg.dataLen = sizeof(wifi_config_t);
         memcpy(data_msg.buffer,&wifi_cfg, data_msg.dataLen);
-        sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+        //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
         queueWiFiDataRequest(data_msg);
     } else {
-        printf("\n[ATCMD MAN]: wifi configuration failed  \n");
+        dbg_printf(LOG, "\n[ATCMD MAN]: wifi configuration failed  \n");
         _parser.send("NAK\n");
     }
     //_smutex.unlock();
@@ -946,16 +1016,16 @@
     n = readStringBytes((uint8_t *)wifi_cfg.pass, 32);
     if(n>0) 
     {
-        printf("ATCMD MAN]: wifi_cfg.pass = %s\n", "****************");
+        dbg_printf(LOG, "ATCMD MAN]: wifi_cfg.pass = %s\n", "****************");
         // package and send on wifi data queue
         wifi_data_msg_t data_msg;
         data_msg.wifi_cmd = WIFI_CMD_CONFIG;
         data_msg.dataLen = sizeof(wifi_config_t);
         memcpy(data_msg.buffer,&wifi_cfg, data_msg.dataLen);
-        sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+        //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
         queueWiFiDataRequest(data_msg);
     } else {
-        printf("\n[ATCMD MAN]: wifi configuration failed  \n");
+        dbg_printf(LOG, "\n[ATCMD MAN]: wifi configuration failed  \n");
         _parser.send("NAK\n");
     }
     //_smutex.unlock();
@@ -970,16 +1040,16 @@
     _smutex.unlock();
     if(n>0) 
     {
-        printf("ATCMD MAN]: wifi_cfg.security = %s\n", sec2str(wifi_cfg.security));
+        dbg_printf(LOG, "ATCMD MAN]: wifi_cfg.security = %s\n", sec2str(wifi_cfg.security));
         // package and send on wifi data queue
         wifi_data_msg_t data_msg;
         data_msg.wifi_cmd = WIFI_CMD_CONFIG;
         data_msg.dataLen = sizeof(wifi_config_t);
         memcpy(data_msg.buffer,&wifi_cfg, data_msg.dataLen);
-        sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+        //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
         queueWiFiDataRequest(data_msg);
     } else {
-        printf("\n[ATCMD MAN]: wifi configuration failed  \n");
+        dbg_printf(LOG, "\n[ATCMD MAN]: wifi configuration failed  \n");
         _smutex.lock();
         _parser.send("NAK\n");
         _smutex.unlock();
@@ -994,11 +1064,11 @@
     uint8_t if_id; // interface id for request
     _parser.scanf(",%d", &if_id);
     //_smutex.lock();
-    printf("\n Received Get Network Status command!!\n");
-    sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+    dbg_printf(LOG, "\n Received Get Network Status command!!\n");
+    //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     if(if_id == WIFI_INTERFACE_ID){
         wifi_cmd_t cmd = WIFI_CMD_NETWORK_STATUS;
-        printf("\n About to Queue wifi cmd = %d!!\n", cmd);
+        dbg_printf(LOG, "\n About to Queue wifi cmd = %d!!\n", cmd);
         //_smutex.unlock();
         // queue next command
         queueWiFiCommand(cmd);
@@ -1010,10 +1080,10 @@
 void ATCmdManager::_oob_WiFiNetworkStatus()
 {
     //_smutex.lock();
-    printf("\n Received Get WiFi Network Status command!!\n");
-    sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
+    dbg_printf(LOG, "\n Received Get WiFi Network Status command!!\n");
+    //sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     wifi_cmd_t cmd = WIFI_CMD_WIFI_STATUS;
-    printf("\n About to Queue wifi cmd = %d!!\n", cmd);
+    dbg_printf(LOG, "\n About to Queue wifi cmd = %d!!\n", cmd);
     //_smutex.unlock();
     // queue next command
     queueWiFiCommand(cmd);
@@ -1029,7 +1099,7 @@
     n = _parser.scanf(",%d", &wifi_cfg.security);
     if(n>0) 
     {
-        printf("ATCMD MAN]: wifi_cfg.security = %s\n", sec2str(wifi_cfg.security));
+        dbg_printf(LOG, "ATCMD MAN]: wifi_cfg.security = %s\n", sec2str(wifi_cfg.security));
         // package and send on wifi data queue
         wifi_data_msg_t data_msg;
         data_msg.wifi_cmd = WIFI_CMD_CONFIG;
@@ -1038,7 +1108,7 @@
         queueWiFiDataRequest(data_msg);
         sendAtConfirmation(OK_RESP);   //_parser.send(OK_RESP);
     } else {
-        printf("\n[ATCMD MAN]: wifi configuration failed  \n");
+        dbg_printf(LOG, "\n[ATCMD MAN]: wifi configuration failed  \n");
         _parser.send("NAK\n");
     }
     */
@@ -1047,17 +1117,17 @@
 }
 
 bool  ATCmdManager::queueWiFiCommand(wifi_cmd_t cmd){
-    printf("[ATCMD MAN] about to be queued with wifi_cmd = %d\n", cmd);
+    dbg_printf(LOG, "[ATCMD MAN] about to be queued with wifi_cmd = %d\n", cmd);
 #ifndef USE_MALLOC_FOR_COMMAND_MEMORY_POOL
     wifi_cmd_message_t *wifiCmd = _aT2WiFimPool->alloc();
     if(wifiCmd == NULL){
-        printf("[ATCMD MAN] queued memory allocation failed\n");
+        dbg_printf(LOG, "[ATCMD MAN] queued memory allocation failed\n");
         return false;
     }
 #else
     wifi_cmd_message_t *wifiCmd = (wifi_cmd_message_t *) malloc(sizeof(wifi_cmd_message_t));
     if(wifiCmd == NULL){
-        printf("[ATCMD MAN] try malloc() : queued memory allocation failed\n");
+        dbg_printf(LOG, "[ATCMD MAN] try malloc() : queued memory allocation failed\n");
         //_event_queue.call_in(10, &print_memory_info);
         _event_queue.call_in(10, &print_heap_and_isr_stack_info);
         //print_memory_info();
@@ -1067,7 +1137,7 @@
 #endif
     wifiCmd->wifi_cmd            = cmd;
     _aT2WiFiCmdQueue->put(wifiCmd);
-    printf("[ATCMD MAN] queued wifi_cmd = %d\n", wifiCmd->wifi_cmd);
+    dbg_printf(LOG, "[ATCMD MAN] queued wifi_cmd = %d\n", wifiCmd->wifi_cmd);
     if((int)cmd == 5)
     debug_flag = 3;
     return true;
@@ -1076,14 +1146,14 @@
 bool  ATCmdManager::dequeueATresponse(){
     if(debug_flag>0){
         debug_flag--;
-        printf("Called dequeueATresponse after WIFI CONNECT CMD \r\n");
+        dbg_printf(LOG, "Called dequeueATresponse after WIFI CONNECT CMD \r\n");
     }
     if(at_resp != AT_RESP_NONE) return false; // busy
     osEvent evt = _wiFi2ATCmdQueue->get(0);
     if(evt.status == osEventMessage){
         at_resp_message_t *resp = (at_resp_message_t*)evt.value.p;
         setNextResponse(resp->at_resp);
-        printf("[ATCMD MAN] dequeued AT CMD : at_resp = %d\n", resp->at_resp);
+        dbg_printf(LOG, "[ATCMD MAN] dequeued AT CMD : at_resp = %d\n", resp->at_resp);
 #ifndef USE_MALLOC_FOR_COMMAND_MEMORY_POOL
         _wiFi2ATmPool->free(resp);
         resp = NULL;
@@ -1104,7 +1174,7 @@
     wifiData->dataLen        = data_req.dataLen;
     memcpy(wifiData->buffer, data_req.buffer, data_req.dataLen);
     _aT2WiFiDataQueue->put(wifiData);
-    printf("[ATCMD MAN] queued data size = %d : wifi_cmd = %d\n", data_req.dataLen, data_req.wifi_cmd);
+    dbg_printf(LOG, "[ATCMD MAN] queued data size = %d : wifi_cmd = %d\n", data_req.dataLen, data_req.wifi_cmd);
     //free(&data_req);
     return true;
 }
@@ -1112,14 +1182,14 @@
 bool  ATCmdManager::dequeueWiFidataResponse(){
     if(debug_flag>0){
         debug_flag--;
-        printf("Called dequeueWiFidataResponse after WIFI CONNECT CMD \r\n");
+        dbg_printf(LOG, "Called dequeueWiFidataResponse after WIFI CONNECT CMD \r\n");
     }
     if(at_resp != AT_RESP_NONE) return false; // busy
     osEvent evt = _wiFi2ATDataQueue->get(0);
     if(evt.status == osEventMessage){
         resp_data = (at_data_msg_t*)evt.value.p;
         setNextResponse(resp_data->at_resp);
-        printf("[ATCMD MAN] dequeued data size = %d : at_resp = %d\n", resp_data->dataLen, resp_data->at_resp);
+        dbg_printf(LOG, "[ATCMD MAN] dequeued data size = %d : at_resp = %d\n", resp_data->dataLen, resp_data->at_resp);
         _event_queue.call_in(10, &print_heap_and_isr_stack_info);
         //print_heap_and_isr_stack_info();
     }
@@ -1227,10 +1297,10 @@
 void ATCmdManager::return_response(bool download) {
     char * resp = (char *) resp_data->buffer;
     //_smutex.lock();
-    printf("\n[ATCMD MAN] received response:\n");
+    dbg_printf(LOG, "\n[ATCMD MAN] received response:\n");
     if(download == false) // not download must be ascii header
     {
-        printf("%.*s\r\n", resp_data->dataLen, resp);
+        dbg_printf(LOG, "%.*s\r\n", resp_data->dataLen, resp);
     }
     else // dump payload as hex
     {