teste de publish
Dependencies: DS1820 HighSpeedAnalogIn devices mbed
Diff: main.cpp
- 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); + } } }