teste de publish
Dependencies: DS1820 HighSpeedAnalogIn devices mbed
Diff: main.cpp
- Revision:
- 6:d4ebbaaba295
- Parent:
- 5:7801f913384e
- Child:
- 7:ae9c47f62946
diff -r 7801f913384e -r d4ebbaaba295 main.cpp --- a/main.cpp Wed Jun 07 19:38:31 2017 +0000 +++ b/main.cpp Thu Jun 15 12:50:58 2017 +0000 @@ -11,6 +11,11 @@ DigitalOut ESP_RESET(P0_0); DigitalOut ESP_ESPGPIO_2(P0_1); +//Contadores de pulso INT +InterruptIn eInt1(P2_11); +InterruptIn eInt2(P2_12); +InterruptIn eInt3(P2_13); + uint32_t pwmPeriod; extern "C" void mbed_reset(); @@ -203,11 +208,12 @@ osThreadId idThreadProcessaPacote; void threadProcessaPacote(void const *args){ while(true){ + osSignalWait(0x1,1000); //Executo compulsoriamente mesmo que não haja sinal num periodo de 1 segundo if(serialModem::processarPacote){ serialModem::processarPacote = false; modemCom::processaPacote(NULL); } - diversos::processaPulsosEDs(); + //diversos::processaPulsosEDs(); } } osThreadDef(threadProcessaPacote, osPriorityNormal, DEFAULT_STACK_SIZE); @@ -219,7 +225,7 @@ //Esta thread faz todo o tratamento de comunicação. char aux[30]; - while(true){ + while(true){ osSignalWait(0x1,1000); //Executo compulsoriamente mesmo que não haja sinal num periodo de 1 segundo if(hardwareReset){ @@ -230,11 +236,13 @@ //if((modemCom::status.SRING)&&(!modemCom::status.serverConnected)){ + if(modemCom::status.SRINGsockEntrante){ modemCom::status.SRINGsockEntrante=false; modemCom::atendeSRING(connID); } + if(eventosRTC::rotina15Minutos){ //Faço aqui o que for devido. pc.printf("Enviando dados de hora completa ao server.\n"); @@ -275,7 +283,8 @@ modemCom::timeOutModem = 30; //Reseto o watchdogTimer; - diversos::wdt.kick(); + diversos::wdt.kick(); + } } osThreadDef(threadComunicacoes, osPriorityNormal, (DEFAULT_STACK_SIZE * 2)); @@ -399,7 +408,21 @@ wait(0.0001); leInicioESP--; }*/ - + + /*//Debug + char comando[2048]; + strcpy(comando,"A8116D0134209360B22061204420A36074208360D22061205420EF106420C360542000205420BF105420B3606420EF105420EF105420B360742083604420DF105420C3606420AF105420FF10E5207E105420A360742073605420A36044207360D22025605420536064207360642083606420DF105420FF105420EF106420FF105420202054208360742093604420EF105420FF10642083607420DF10F5205E10642020206420DF105420002054209360842073606420DF10F520E16074206360742043606420F141E6110E01442063606420EF1054208360642073606420DF104420002054209360742000207420CF106420A3606420EF105420FF1074206360842063607420EF10542093607420BF107420EF105420FF1064208360642073608420536074208360642093605420536064207360642053609420DF10E5207E104420FF105420FF106420202054206360942083606420EF105420FF10542083606420EF10E5207E10542010206420CF106420002054209360942063607420EF105420736064207360542093607420FFFF"); + verificaSaidasDigitais(); + while(1){ + deserializaPacoteIR(comando); + enviaComandoIR(38,0); + wait_ms(1000); + } + //Debug*/ + eInt1.rise(&diversos::processaPulsosEDs); + eInt2.rise(&diversos::processaPulsosEDs); + eInt3.rise(&diversos::processaPulsosEDs); + diversos::wdt.kick(90.0); modem.baud(76800); @@ -425,6 +448,7 @@ eventosRTC::rotina15Minutos = true; while(true){ + if(!modemCom::status.recebendoArquivoDoServer){ if(eventosRTC::minutos){ //Executo abaixo a rotina de 1 minuto @@ -453,6 +477,7 @@ 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]); + pc.printf("Pulsos <%lu><%lu><%lu>.\r\n",pulsosEDs[0],pulsosEDs[1],pulsosEDs[2]); } if(eventosRTC::rotina10Segundos){ @@ -472,6 +497,7 @@ commands::exec(connID); } + if(modemCom::atendendoWebServer){ modemCom::atendendoWebServer = false; pc.printf("Atendendo webServer.\r\n"); @@ -485,6 +511,6 @@ }*/ /*for(int i=0;i<9;i++){ pc.printf("Pulsos[%u]=%lu.\r\n",i,pulsosEDs[i]); - }*/ + }*/ } }