teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

Revision:
13:b9183b4bc049
Parent:
11:631bea162800
Child:
14:c0162ab2a951
--- a/main.cpp	Wed Aug 30 19:13:19 2017 +0000
+++ b/main.cpp	Mon Oct 23 15:35:18 2017 +0000
@@ -6,6 +6,8 @@
 #include "RTC.h"    //API de uso das interrupções do Real Time Clock
 #include "serialPC.h"   //Funções de comunicação entre RAD e PC via usb
 #include "modbusMaster1.h"
+//#include "lpc17xx_nvic.h"
+
 
 //Definições de Hardware acessíveis em qualquer modulo
 /*LEDs de informação visual*/
@@ -319,7 +321,7 @@
     SD1.period_us(pwmPeriod);
     modemCom::atendendoWebServer = false;
     serialPC::serialPC_init();    
-    pc.printf("Versao 1/07/2017.\r\n");
+    pc.printf("Versao atualizada pela internet BSoares acompanhando 23/10/2017.\r\n");
     modemCom::timeOutModem = 30;
     serialModem::serial_init();        
     numeroDeBytesPorEnvio = 768;            
@@ -332,8 +334,9 @@
      loadDevices();
     }else{
         pc.printf("Nao foi possivel inicializar o SD Card.\n");   
-     }    
-    
+     }   
+
+          
     //Tick Timer por segundo
     RTC::attach(&RTC_POR_SEGUNDO, RTC::Second);                  
     
@@ -346,8 +349,7 @@
     //Thread processaPacote
     idThreadProcessaPacote = osThreadCreate(osThread(threadProcessaPacote), NULL);
     
-    /*Chamada de threads*/
-    
+    /*Chamada de threads*/        
     serialModem::configBaud();    
 }
 
@@ -361,6 +363,8 @@
 }
 
 
+
+
 //Inicio do programa;
 int main() {
     
@@ -368,7 +372,7 @@
     eInt2.rise(&diversos::processaPulsosEDs);
     eInt3.rise(&diversos::processaPulsosEDs);
     
-    diversos::wdt.kick(90.0);    
+    diversos::wdt.kick(90.0);
     
     modem.baud(76800);
     ESP_CH_PD = 1;          
@@ -382,8 +386,22 @@
     eventosRTC::rotina15Minutos=true;
     sdCard::deleteSentFiles=false;
     
+    
+    
     while(true){            
         osDelay(10);
+        
+        if(callBootLoader){
+            diversos::wdt.kick(360.0);
+            SysTick->CTRL &= ~0x00000002;           // disable SysTick interrupt
+            NVIC_DeInit();     
+            //__disable_irq();
+            bootloader_fillUpFlash(&sdCard::newFirmware);
+            while( ((LPC_UART0->LSR >> 6) &0x1) == 0 );            
+            //__enable_irq();
+            bootLoader();    
+        }
+        
         //pc.printf("Thread: MAIN.\r\n");
         if((!modemCom::status.recebendoArquivoDoServer)&&(!modemCom::status.emComunicacao)){