teste de publish
Diff: devices.cpp
- Revision:
- 4:3f92979d1ffb
- Parent:
- 3:75223647cf3d
- Child:
- 5:8efd609dea7d
diff -r 75223647cf3d -r 3f92979d1ffb devices.cpp --- a/devices.cpp Fri Jun 02 13:22:07 2017 +0000 +++ b/devices.cpp Wed Jun 07 19:38:14 2017 +0000 @@ -5,7 +5,8 @@ estadoConfiguracao_creatingDevice, estadoConfiguracao_alarmSet, estadoConfiguracao_readingsSet, - estadoConfiguracao_scheduleSet + estadoConfiguracao_scheduleSet, + estadoConfiguracao_scheduleExceptionSet }; /* @@ -911,6 +912,31 @@ } } +void device::setScheduleException(char *linha) +{ + //float floatVar; + //uint32_t aux32_t; + //uint16_t aux16_t; + char *pChar; + + if(strstr(linha,"scheduleExceptionSet")) { + //Inicialização de contadores de schedulesExceptions + this->numScheduleExceptions++; + } + + if(strstr(linha,"id_schedule:")) { + strtok(linha,":"); + this->scheduleExceptions[this->numScheduleExceptions-1].id_schedule = atoi(strtok(NULL,"\r\n")); + } + + + if(strstr(linha,"timestamp:")) { + strtok(linha,":"); + pChar = strtok(NULL,","); + this->scheduleExceptions[this->numScheduleExceptions-1].timestamp = atoi(pChar); + } +} + /*void device::writeReadingsToSD(){ //Esta função faz a inserção de todos os dados no arquivo armazenamento. uint16_t readingIndex=0; @@ -1396,6 +1422,12 @@ qtdSchedules++; estadoConfiguracao = estadoConfiguracao_scheduleSet; } + + if(strstr(linha,"scheduleExceptionsEnd")) { + //printf("Criando leituras no dispositivo de indice %u.\n",dispositivoEmConfiguracao); + qtdSchedules++; + estadoConfiguracao = estadoConfiguracao_scheduleSet; + } linhas++; } @@ -1430,6 +1462,12 @@ estadoConfiguracao = estadoConfiguracao_readingsSet; } + if(strstr(linha,"scheduleExceptionSet")) { + //printf("Criando leituras no dispositivo de indice %u.\n",dispositivoEmConfiguracao); + qtdScheduleExceptions++; + estadoConfiguracao = estadoConfiguracao_scheduleExceptionSet; + } + if(strstr(linha,"readingsEnd")) { //printf("Criando leituras no dispositivo de indice %u.\n",dispositivoEmConfiguracao); estadoConfiguracao = estadoConfiguracao_idle; @@ -1466,8 +1504,12 @@ dispositivos[dispositivoEmConfiguracao]->setReading(linha); break; case estadoConfiguracao_scheduleSet: - //Inclue linha nas leituras do dispositivo em configuração + //Inclue linha nos agendamentos do dispositivo em configuração dispositivos[dispositivoEmConfiguracao]->setSchedule(linha); + break; + case estadoConfiguracao_scheduleExceptionSet: + //Inclue linha nas excessões dos agendamentos do dispositivo em configuração + dispositivos[dispositivoEmConfiguracao]->setScheduleException(linha); break; } } @@ -1529,8 +1571,7 @@ printf("\tact:%lu\n",dispositivos[i]->alarms[j].idAct); } - printf("Dispositivo %u tem %u schedules sendo eles:\n",i,dispositivos[i]->numSchedules); - + printf("Dispositivo %u tem %u schedules sendo eles:\n",i,dispositivos[i]->numSchedules); for(j=0; j<dispositivos[i]->numSchedules; j++) { printf("Schedule %u:\n",j); printf("\tId <%lu>.\n",dispositivos[i]->schedules[j].id); @@ -1538,9 +1579,15 @@ printf("\tminute <%lu>.\n",dispositivos[i]->schedules[j].minute); printf("\tidAct <%lu>.\n",dispositivos[i]->schedules[j].idAct); } + + printf("Dispositivo %u tem %u scheduleExceptions sendo eles:\n",i,dispositivos[i]->numScheduleExceptions); + for(j=0; j<dispositivos[i]->numScheduleExceptions; j++) { + printf("scheduleException %u:\n",j); + printf("\tid_schedule <%lu>.\n",dispositivos[i]->scheduleExceptions[j].id_schedule); + printf("\ttimestamp <%lu>.\n",dispositivos[i]->scheduleExceptions[j].timestamp); + } printf("Dispositivo %u tem %u leituras sendo elas:\n",i,dispositivos[i]->numReadings); - for(j=0; j<dispositivos[i]->numReadings; j++) { printf("Leitura %u:",j); switch(dispositivos[i]->readings[j].type) {