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