teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

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;
                     }
                 }