teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

Revision:
11:631bea162800
Parent:
10:263c093f8977
Child:
12:95eb36d5e82d
--- a/modem.cpp	Mon Aug 14 13:59:27 2017 +0000
+++ b/modem.cpp	Wed Aug 30 18:42:18 2017 +0000
@@ -107,7 +107,7 @@
 
 uint8_t modemCom::enviaDados()
 {
-    uint8_t result=0,currentBank=3;
+    uint8_t result=0;
     modemCom::status.emComunicacao = true;
     pc.printf("modemCom::enviaDados[1].\r\n");
     if(!sdCard::preparaEnvio()){
@@ -115,42 +115,33 @@
         //pc.printf("Nao foi possivel preparar o envio.\n");
         return false;                
     }
-    currentBank = sdCard::verificaCurrentBank();
-    pc.printf("modemCom::enviaDados[3], currentBank = %lu.\r\n",currentBank);
-    switch(currentBank){
+    //sdCard::verificaCurrentBank();
+    pc.printf("modemCom::enviaDados[3], currentBank = %lu currentBankSending = %lu.\r\n",sdCard::currentBank,sdCard::currentBankSending);
+    switch(sdCard::currentBankSending){
         case 0:
+                if(sdCard::currentBank==0){
+                    sdCard::modificaCurrentBank(1,0);
+                }
                 pc.printf("modemCom::enviaDados[4].\r\n");
-                if(sdCard::getFileTam(&sdCard::bank1)){
-                   pc.printf("modemCom::enviaDados[11].\r\n");
-                   if(modemCom::postFileCommandMode(modemCom::status.host,"/drome/Parser/",&sdCard::bank1)){
-                    pc.printf("Enviado o bank1.\r\n");
-                    if(sdCard::deleteSentFiles){                        
-                        sdCard::deleteBanks(1);
-                        sdCard::modificaCurrentBank(1);
-                    }
+                if(sdCard::getFileTam(&sdCard::bank0)){
+                   pc.printf("modemCom::enviaDados[11].\r\n");                   
+                   if(modemCom::postFileCommandMode(modemCom::status.host,"/drome/Parser/",&sdCard::bank0)){
+                    pc.printf("Enviado o bank0.\r\n");                    
                    }
-                }else{
-                    pc.printf("modemCom::enviaDados[5].\r\n");
-                    sdCard::modificaCurrentBank(1);
-                 }                
+                }
             break;
         case 1:
-                pc.printf("modemCom::enviaDados[6].\r\n");
-                if(sdCard::getFileTam(&sdCard::bank0)){
-                   pc.printf("modemCom::enviaDados[7].\r\n");
-                   if(modemCom::postFileCommandMode(modemCom::status.host,"/drome/Parser/",&sdCard::bank0)){
-                    pc.printf("Enviado o bank0.\r\n");
-                    if(sdCard::deleteSentFiles){
-                        sdCard::deleteBanks(0);
-                        pc.printf("modemCom::enviaDados[8].\r\n");
-                        sdCard::modificaCurrentBank(0);
-                    }
+                if(sdCard::currentBank==1){
+                    sdCard::modificaCurrentBank(0,1);
+                }
+                pc.printf("modemCom::enviaDados[5].\r\n");
+                if(sdCard::getFileTam(&sdCard::bank1)){
+                   pc.printf("modemCom::enviaDados[11].\r\n");                   
+                   if(modemCom::postFileCommandMode(modemCom::status.host,"/drome/Parser/",&sdCard::bank1)){
+                    pc.printf("Enviado o bank1.\r\n");                    
                    }
-                }else{
-                    pc.printf("modemCom::enviaDados[9].\r\n");
-                    sdCard::modificaCurrentBank(0);
-                 }                
-            break;        
+                }
+            break;
         case 2:
                 pc.printf("modemCom::enviaDados[10].\r\n");
                 modemCom::status.emComunicacao = false;
@@ -190,7 +181,9 @@
     //Para garantir que não seja duvidoso proveniente de outra conexão.
     modemCom::status.ServerAck=0;
     modemCom::status.NO_CARRIER=0;
+    modemCom::status.dnsError=0;
 
+    pc.printf("Verificando tamanho de arquivo.\r\n");
     if(arquivo->bytes==0){        
         if((!sdCard::getFileTam(arquivo))||(arquivo->bytes == 0)){
             if(arquivo->bytes == 0){
@@ -202,7 +195,7 @@
     
     pc.printf("Abrindo o socket em <%s>.\n",host);
     sprintf(header,"AT+CIPSTART=1,\"TCP\",\"%s\",80\r\n",host);
-    if(modemCom::sendToModem(header,1,&modemCom::status.OK,NULL,20000,3,1000)) {
+    if(modemCom::sendToModem(header,1,&modemCom::status.OK,NULL,20000,3,1000)){
         modemCom::status.NO_CARRIER=0; //Socket Aberto!
         pc.printf("Aberto o socket em command mode.\n");
         pc.printf("Enviando arquivo com nome %s.\n",nomeArquivo);
@@ -412,6 +405,11 @@
                 osDelay(1000);//espera 1S
             }
             
+            if(modemCom::status.dnsError){
+               modemCom::status.dnsError=false;
+               return 0;
+            }    
+            
             if(timeOutProcesso) {                
                 return maxTentativas;                
             }                                    
@@ -888,9 +886,9 @@
         modemCom::status.ERROR=1;
         modemCom::status.OK=0;
     }    
-    ptr=strstr(modemCom::bufIn,"FAIL");
+    ptr=strstr(modemCom::bufIn,"DNS Fail");
     if(ptr) {
-        
+        modemCom::status.dnsError=1;
         modemCom::status.ERROR=1;
         modemCom::status.OK=0;
     }    
@@ -960,12 +958,7 @@
     ptr=strstr(modemCom::bufIn,"*ServerAck*");
     if(ptr) {        
         modemCom::status.ServerAck=1;        
-    }
-    
-    ptr=strstr(modemCom::bufIn,"DELETE_SENT_FILES");
-    if(ptr) {        
-        sdCard::deleteSentFiles=1;
-    }        
+    }    
     
     ptr=strstr(modemCom::bufIn,"*ServerCommand*");
     if(ptr) {