teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

Revision:
13:b9183b4bc049
Parent:
12:95eb36d5e82d
Child:
14:c0162ab2a951
--- a/modem.cpp	Wed Aug 30 19:13:19 2017 +0000
+++ b/modem.cpp	Mon Oct 23 15:35:18 2017 +0000
@@ -115,8 +115,17 @@
         //pc.printf("Nao foi possivel preparar o envio.\n");
         return false;                
     }
-    //sdCard::verificaCurrentBank();
+    sdCard::verificaCurrentBank();
     pc.printf("modemCom::enviaDados[3], currentBank = %lu currentBankSending = %lu.\r\n",sdCard::currentBank,sdCard::currentBankSending);
+    sdCard::getFileTam(&sdCard::bank0);
+    sdCard::getFileTam(&sdCard::bank1);
+    if((sdCard::bank0.bytes > 230400) || (sdCard::bank1.bytes > 230400)){
+        pc.printf("Arquivo muito grande. Deletado.");
+        sdCard::excluiArquivo(&sdCard::currentBankFile);
+        sdCard::excluiArquivo(&sdCard::bank0);
+        sdCard::excluiArquivo(&sdCard::bank1);
+        return false;
+    }
     switch(sdCard::currentBankSending){
         case 0:
                 if(sdCard::currentBank==0){
@@ -131,7 +140,7 @@
                 }
             break;
         case 1:
-                if(sdCard::currentBank==1){
+                if(sdCard::currentBank==1){                    
                     sdCard::modificaCurrentBank(0,1);
                 }
                 pc.printf("modemCom::enviaDados[5].\r\n");
@@ -853,7 +862,7 @@
     
     modemCom::status.modemResponse=true;
     
-    pc.printf("Vem do modem <%s>.\r\n",modemCom::bufIn);   
+    //pc.printf("Vem do modem <%s>.\r\n",modemCom::bufIn);   
     
     //Reconhecimento dos status
     modemCom::status.PROMPT_ENVIO_COMMAND_MODE=0;
@@ -950,6 +959,25 @@
         
     }     
     
+    if(IPDNumBytes && modemCom::status.recebendoArquivoDoServer && (strstr(modemCom::bufIn,"CONNECT")==NULL) && (strstr(modemCom::bufIn,"*ServerCommand*")==NULL) ){
+
+        sdCard::insereDadosArquivoHex(&sdCard::tempFile,modemCom::bufIn,IPDNumBytes);
+        sdCard::nBytesArquivoRecebidos+=IPDNumBytes;
+        bufModem.del();
+        sprintf(modemCom::bufIn,"AT+CIPSEND=%u,%lu\r\n",connID,10);
+        modem.puts(modemCom::bufIn);
+        timeOut = 5000;
+        while(timeOut && (strstr(bufModem.getRowBuffer(),">")==NULL)){
+            osDelay(1);
+            timeOut--;
+        }
+        modemCom::status.timeOut = 30;
+        modem.puts("sendData\r\n");
+        pc.printf("sendData recebidos %lu bytes\n",sdCard::nBytesArquivoRecebidos/2);
+        diversos::wdt.kick();
+        return;
+    }
+    
     //Reconhecendo GET HTTP e atendendo com um servidor web    
     if(getFound && strstr(modemCom::bufIn,"HTTP/1.1")){
         ptr=strstr(modemCom::bufIn,"GET /");
@@ -976,24 +1004,6 @@
         pc.printf("Comandos <%s>.\n",commands::buffer);
         executaComandoServer = true;
     }
-    
-    //if(modemCom::status.recebendoArquivoDoServer){
-    if(IPDNumBytes && modemCom::status.recebendoArquivoDoServer && (strstr(modemCom::bufIn,"CONNECT")==NULL) && (strstr(modemCom::bufIn,"*ServerCommand*")==NULL) ){
-    
-        sdCard::insereDadosArquivo(&sdCard::tempFile,modemCom::bufIn,IPDNumBytes);
-        bufModem.del();
-        sprintf(modemCom::bufIn,"AT+CIPSEND=%u,%lu\r\n",connID,10);
-        modem.puts(modemCom::bufIn);
-        timeOut = 5000;
-        while(timeOut && (strstr(bufModem.getRowBuffer(),">")==NULL)){
-            osDelay(1);
-            timeOut--;
-        }
-        modemCom::status.timeOut = 30;
-        modem.puts("sendData\r\n");
-        pc.printf("sendData\n");        
-        return;
-    }
 }
 
 uint8_t modemCom::inicializaModem(void)