teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

Revision:
37:0e95c85f0160
Parent:
36:fd239680e427
Child:
38:07d3907b74e5
--- a/main.cpp	Tue Jun 05 17:39:37 2018 +0000
+++ b/main.cpp	Thu Jun 07 16:19:52 2018 +0000
@@ -53,8 +53,8 @@
 uint32_t act;
 bool boolExecAct;
 bool inicializaModemBool;
-char debug = false;
-char xeretaModem = false;
+bool debug = false;
+bool xeretaModem = false;
 bool hardwareReset = false;
 char firmVersion[20];
 char resetCauses[30];
@@ -68,9 +68,9 @@
 uint16_t aiFiltrada[4];
 bool entradasDigitais[9];
 
-CircularBuffer bufModem(maxBufInModem);// __attribute__ ((section("AHBSRAM0")));    
-CircularBuffer bufPC(128);
-CircularBuffer sdCardBuf(1024);
+CircularBuffer bufModem(maxBufInModem,0);// __attribute__ ((section("AHBSRAM0")));    
+CircularBuffer bufPC(128,0);
+CircularBuffer sdCardBuf(1024,0);
 
 uint8_t enviaDadosPorAlarme = 255;
 //bool reportaMudancaAoServer;
@@ -221,14 +221,7 @@
             inicializaModemBool = false;
             modemCom::conectaWiFi();    
         }        
-        if(hardwareReset){
-            //Resetando
-            printf("hardwareReset = true.\r\n");
-            osDelay(50);      //Para dar tempo de enviar todo o printf.
-            //diversos::wdt.kick(0.1);
-            NVIC_SystemReset();            
-            while(true);
-        }        
+              
         if(eventosRTC::rotinaEnvioDeDados){
             //Faço aqui o que for devido.            
             if((!modemCom::status.recebendoArquivoDoServer)&&(enviaDadosPorAlarme==255)){
@@ -314,8 +307,8 @@
     //Resetei pq?    
     sprintf(resetCauses,"TSOn:%lu",seconds);
     if((LPC_WDT->WDMOD >> 2) & 1){
-        strcat(resetCauses,",WDT");        
-    }
+        strcat(resetCauses,",WDT");
+    }else{strcat(resetCauses,",NOW");}
     
     diversos::wdt.kick(90.0);
     
@@ -360,6 +353,11 @@
 
 //Inicio do programa;
 int main() {    
+    uint8_t i;
+    ESP_CH_PD = 0;          
+    ESP_ESPGPIO_2 = 0;
+    ESP_RESET = 0;
+
     flashPrepare();
     firmDescToRam();
     serialPC::serialPC_init();
@@ -376,7 +374,7 @@
         bootLoader();        
     }
     
-    sprintf(firmVersion,"05/06/18(BL)");
+    sprintf(firmVersion,"06/06/18(BL)");
     
 
     eInt1.rise(&diversos::processaPulsosEDs);
@@ -384,11 +382,12 @@
     eInt3.rise(&diversos::processaPulsosEDs);        
     
     modem.baud(76800);
+    
     ESP_CH_PD = 1;          
     ESP_ESPGPIO_2 = 1;
-    ESP_RESET = 1;    
+    ESP_RESET = 1;
     
-    wait(10);    
+    wait(5);    
     
     inicializaMaquina();
     modemCom::inicializaModem();
@@ -515,27 +514,34 @@
                     pc.printf("\nEntrada 4 = %lu.\nEntrada 3 = %lu.\nEntrada 2 = %lu.\nEntrada 1 = %lu.\r\n",aiFiltrada[3],aiFiltrada[2],aiFiltrada[1],aiFiltrada[0]);            
                     pc.printf("Pulsos <%lu><%lu><%lu>.\r\n",pulsosEDs[0],pulsosEDs[1],pulsosEDs[2]);
                 
-                    for(debug=0;debug<9;debug++){
-                        printf("EntradaDigital[%u]=%u.\r\n",debug,(entradasDigitais[debug]>1));    
+                    for(i=0;i<9;i++){
+                        printf("EntradaDigital[%u]=%u.\r\n",i,(entradasDigitais[i]>1));    
                     }
                 }                    
                 time_t seconds = time(NULL);
                 printf("Drome %s, Hora-> %s\n",firmVersion,ctime(&seconds));
-            }
-            
+            }            
             if(eventosRTC::rotina10Segundos){                                    
                 //Executo abaixo a rotina de 10 segundos
                 eventosRTC::rotina10Segundos = false;
                 verifySchedules();
                 verifyAlarms();
-            }
-            
-            if((eventosRTC::minutos)&&(!modemCom::status.recebendoArquivoDoServer)){
-                //Executo abaixo a rotina de 1 minuto
-                eventosRTC::minutos = false;
-                refreshSensoresTemperatura();
-                writeReadingsToSD();                
-            }
+            }            
+        }
+        if((eventosRTC::minutos)){//&&(!modemCom::status.recebendoArquivoDoServer)){
+            //Executo abaixo a rotina de 1 minuto
+            eventosRTC::minutos = false;
+            refreshSensoresTemperatura();
+            writeReadingsToSD();
         }
+        
+        if(hardwareReset){
+            //Resetando
+            pc.printf("hardwareReset = true.\r\n");
+            osDelay(50);      //Para dar tempo de enviar todo o printf.
+            //diversos::wdt.kick(0.1);
+            NVIC_SystemReset();            
+            while(true);
+        }  
     }
 }