teste de publish
Dependencies: DS1820 HighSpeedAnalogIn devices mbed
Diff: main.cpp
- Revision:
- 18:1eefda1f7736
- Parent:
- 17:9b0eecbacbaa
- Child:
- 19:5559f7570e6f
--- a/main.cpp Tue Jan 09 13:45:17 2018 +0000 +++ b/main.cpp Thu Jan 25 16:15:03 2018 +0000 @@ -217,7 +217,7 @@ //char aux[30]; while(true){ - osSignalWait(0x1,500); //Executo compulsoriamente mesmo que não haja sinal num periodo de meio segundo + osSignalWait(0x1,osWaitForever); //Executo compulsoriamente mesmo que não haja sinal num periodo de meio segundo //pc.printf("Thread: COM.\r\n"); //if((modemCom::status.SRING)&&(!modemCom::status.serverConnected)){ @@ -232,17 +232,21 @@ while(true); } - if(eventosRTC::rotina15Minutos){ - eventosRTC::rotina15Minutos = false; + if(eventosRTC::rotinaEnvioDeDados){ //Faço aqui o que for devido. pc.printf("Enviando dados de hora completa ao server.\n"); modemCom::status.emComunicacao = true; //diversos::wdt.kick(300.0); - //Aproveitando ACT + //Aproveitando ACT if(!modemCom::status.recebendoArquivoDoServer){ + eventosRTC::rotinaEnvioDeDados--; + modemCom::status.periodo = 900; if(modemCom::verificaConexao()){ //Estou conectado - modemCom::enviaDados(); + if(modemCom::enviaDados()){ + eventosRTC::rotinaEnvioDeDados=0; + modemCom::status.periodo = modemCom::status.periodoConfiguracao; //Restaurando o período configurado no sistema + } } //diversos::wdt.kick(90.0); }else{ @@ -253,7 +257,7 @@ if(arquivoEnvioPointer!=NULL){ pc.printf("Enviando o arquivo <%s> ao server.\n",arquivoEnvioPointer->nome); - if(modemCom::postFileCommandMode(modemCom::status.host,"/drome/parser/index.php",arquivoEnvioPointer)){ + if(modemCom::postFileCommandMode(modemCom::status.serverIP,modemCom::status.host,"/drome/parser/index.php",arquivoEnvioPointer)){ pc.printf("Enviado o arquivo <%s>.\n",arquivoEnvioPointer->nome); arquivoEnvioPointer = NULL; }else{ @@ -289,7 +293,7 @@ if((seconds%modemCom::status.periodo)==0){ //if((seconds%300)==0){ - eventosRTC::rotina15Minutos = true; + eventosRTC::rotinaEnvioDeDados = maxTentativasEnvioDados; } if((seconds%3600)==0){ //Atuando a cada 3 minutos @@ -320,7 +324,7 @@ SD1.period_us(pwmPeriod); modemCom::atendendoWebServer = false; serialPC::serialPC_init(); - pc.printf("Versao 05/01/2018.\r\n"); + pc.printf("Versao 18/01/2018.\r\n"); modemCom::timeOutModem = 30; serialModem::serial_init(); numeroDeBytesPorEnvio = 768; @@ -382,7 +386,7 @@ inicializaMaquina(); modemCom::inicializaModem(); modemCom::conectaWiFi(); - eventosRTC::rotina15Minutos=true; + eventosRTC::rotinaEnvioDeDados=maxTentativasEnvioDados; sdCard::deleteSentFiles=false; @@ -402,10 +406,8 @@ } //pc.printf("Thread: MAIN.\r\n"); - if((!modemCom::status.recebendoArquivoDoServer)&&(!modemCom::status.emComunicacao)){ - - diversos::wdt.kick(); - + if((!modemCom::status.recebendoArquivoDoServer)&&(!modemCom::status.emComunicacao)){ + diversos::wdt.kick(); if(eventosRTC::minutos){ //Executo abaixo a rotina de 1 minuto writeReadingsToSD(); @@ -421,7 +423,7 @@ if(enviaDadosPorAlarme!=255){ enviaDadosPorAlarme--; if(enviaDadosPorAlarme==0){ - eventosRTC::rotina15Minutos=true; + eventosRTC::rotinaEnvioDeDados=maxTentativasEnvioDados; enviaDadosPorAlarme=255; } }