teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

Revision:
9:cf406384efd9
Parent:
7:ae9c47f62946
Child:
10:263c093f8977
--- a/main.cpp	Tue Jul 18 20:00:43 2017 +0000
+++ b/main.cpp	Wed Aug 09 20:38:10 2017 +0000
@@ -190,7 +190,8 @@
         }                
     }        
 }
-osThreadDef(threadTimers, osPriorityNormal, DEFAULT_STACK_SIZE/10);
+osThreadDef(threadTimers, osPriorityNormal, 128);
+//osThreadDef(threadTimers, osPriorityNormal, DEFAULT_STACK_SIZE/10);
 
 osThreadId idThreadProcessaPacote;
 void threadProcessaPacote(void const *args){
@@ -214,13 +215,13 @@
     
     //char aux[30];                   
     while(true){                
-        osSignalWait(0x1,5000); //Executo compulsoriamente mesmo que não haja sinal num periodo de 1 segundo        
+        osSignalWait(0x1,500); //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)){
     
         if(modemCom::status.SRINGsockEntrante){
             modemCom::status.SRINGsockEntrante=false;
-            modemCom::atendeSRING(connID);     
+            modemCom::atendeSRING(modemCom::status.connIDServerCommand);     
         }
         
         if(inicializaModemBool){
@@ -240,7 +241,8 @@
             pc.printf("\r\n\r\nDrome reparametrizado.\r\n\r\n");*/
         }  
         
-        if(eventosRTC::rotina15Minutos){            
+        if(eventosRTC::rotina15Minutos){           
+            eventosRTC::rotina15Minutos = false; 
             //Faço aqui o que for devido.
             pc.printf("Enviando dados de hora completa ao server.\n");            
             modemCom::status.emComunicacao = true;            
@@ -251,18 +253,12 @@
                 modemCom::enviaDados(dadosArmazenados);
             }
             //diversos::wdt.kick(90.0);
-            modemCom::status.emComunicacao = false;
-            eventosRTC::rotina15Minutos = false;
+            modemCom::status.emComunicacao = false;            
         }        
         
-        if(sdCard::deleteSentFiles){
-            sdCard::deleteSentFiles = false;
-            sdCard::finalizaEnvio();    
-        }
-        
         if(arquivoEnvioPointer!=NULL){            
             pc.printf("Enviando o arquivo <%s> ao server.\n",arquivoEnvioPointer->nome);
-            if(modemCom::postFileCommandMode(serverAddress,"/drome/parser/index.php",arquivoEnvioPointer)){
+            if(modemCom::postFileCommandMode(modemCom::status.host,"/drome/parser/index.php",arquivoEnvioPointer)){
                 pc.printf("Enviado o arquivo <%s>.\n",arquivoEnvioPointer->nome);
                 arquivoEnvioPointer = NULL;        
             }else{
@@ -272,7 +268,8 @@
         modemCom::timeOutModem = 30;    
     }    
 }
-osThreadDef(threadComunicacoes, osPriorityNormal, (DEFAULT_STACK_SIZE * 2)); 
+osThreadDef(threadComunicacoes, osPriorityNormal, 3072); 
+//osThreadDef(threadComunicacoes, osPriorityNormal, (DEFAULT_STACK_SIZE*2)); 
 
 void RTC_POR_SEGUNDO(void){
     time_t seconds;
@@ -289,8 +286,8 @@
      eventosRTC::minutos = true;   
     }
 
-    //if((seconds%900)==0){
-    if((seconds%300)==0){
+    if((seconds%modemCom::status.periodo)==0){
+    //if((seconds%300)==0){
         eventosRTC::rotina15Minutos = true;        
     }
     
@@ -387,7 +384,7 @@
     while(true){            
         osDelay(10);
         //pc.printf("Thread: MAIN.\r\n");
-        if(!modemCom::status.recebendoArquivoDoServer){
+        if((!modemCom::status.recebendoArquivoDoServer)&&(!modemCom::status.emComunicacao)){
             
             diversos::wdt.kick();
             
@@ -414,7 +411,7 @@
                 leiturasDigitais();            
                 verifyAlarms();
                 verificaSaidasDigitais();                  
-                //pc.printf("\nMemoria RAM disponivel = %lu\n",diversos::memAvailable());
+                pc.printf("\nMemoria RAM disponivel = %lu\n",diversos::memAvailable());
                 time_t seconds = time(NULL);
                 printf("%s\n", ctime(&seconds));            
                 //pc.printf("\nEntrada 3 = %lu.\nEntrada 2 = %lu.\nEntrada 1 = %lu.\n\n",aiFiltrada[2],aiFiltrada[1],aiFiltrada[0]);            
@@ -430,7 +427,7 @@
         
         if(executaComandoServer){
             executaComandoServer = false;
-            commands::exec(connID);   
+            commands::exec(modemCom::status.connIDServerCommand);   
         }  
         
     
@@ -441,6 +438,11 @@
                 modemCom::webServer();                
                 modemCom::status.emComunicacao=false;
         }
+
+        if(sdCard::deleteSentFiles){
+            sdCard::deleteSentFiles = false;
+            sdCard::finalizaEnvio();    
+        }
         
         if(boolExecAct){
             dispositivos[0]->execAct(act);