teste de publish
Dependencies: DS1820 HighSpeedAnalogIn devices mbed
Diff: modem.cpp
- 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)