teste de publish
Diff: devices.cpp
- Revision:
- 18:66fa6fcba212
- Parent:
- 17:c046e4b07ded
- Child:
- 19:d52176ff683d
--- a/devices.cpp Tue May 01 03:27:47 2018 +0000 +++ b/devices.cpp Mon May 07 22:45:07 2018 +0000 @@ -552,9 +552,9 @@ }else if(this->alarms[alarmIndex].type == modBusType_uint16_t){ sprintf(aux,"%lu",leitura_uint16_t); }else if(this->alarms[alarmIndex].type == modBusType_int32_t){ - sprintf(aux,"%l",leitura_uint32_t); + sprintf(aux,"%ld",(int32_t)leitura_uint32_t); }else if(this->alarms[alarmIndex].type == modBusType_int16_t){ - sprintf(aux,"%l",leitura_uint16_t); + sprintf(aux,"%ld",(int16_t)leitura_uint16_t); }else if(this->alarms[alarmIndex].type == modBusType_bit){ sprintf(aux,"%lu",leitura_bit); } @@ -870,6 +870,16 @@ inputData = true; } + if(strstr(linha,"int32_t,")) { + this->readings[this->numReadings-1].type=modBusType_int32_t; + inputData = true; + } + + if(strstr(linha,"int16_t,")) { + this->readings[this->numReadings-1].type=modBusType_int16_t; + inputData = true; + } + if(strstr(linha,"uint32_t,")) { this->readings[this->numReadings-1].type=modBusType_uint32_t; inputData = true; @@ -878,16 +888,6 @@ if(strstr(linha,"uint16_t,")) { this->readings[this->numReadings-1].type=modBusType_uint16_t; inputData = true; - } - - if(strstr(linha,"int32_t,")) { - this->readings[this->numReadings-1].type=modBusType_int32_t; - inputData = true; - } - - if(strstr(linha,"int16_t,")) { - this->readings[this->numReadings-1].type=modBusType_int16_t; - inputData = true; } if(strstr(linha,"uint8_t,")) { @@ -939,23 +939,27 @@ this->alarms[this->numAlarms].alarmFound = false; //Inicialização de contadores de alarme this->numAlarms++; + return; } if(strstr(linha,"idAlarm:")){ strtok(linha,":"); this->alarms[this->numAlarms-1].id = atoi(strtok(NULL,"\r\n")); + return; } if(strstr(linha,"seconds:")) { strtok(linha,":"); pChar = strtok(NULL,"\r\n"); this->alarms[this->numAlarms-1].seconds = atoi(pChar); + return; } if(strstr(linha,"on:")) { strtok(linha,":"); pChar = strtok(NULL,"\r\n"); this->alarms[this->numAlarms-1].on = atoi(pChar); + return; } if(strstr(linha,"idAct:")) { @@ -988,6 +992,7 @@ //Parametro5 pChar = strtok(NULL,","); this->alarms[this->numAlarms-1].value[0]= (atoi(pChar) != 0); //Qualquer valor diferente de 0 é um + return; } if(strstr(linha,"float,")) { @@ -1016,6 +1021,7 @@ floatVar = atof(pChar); this->floatToBin(1,&floatVar,&this->alarms[this->numAlarms-1].value[0]); + return; } if(strstr(linha,"uint32_t,")) { @@ -1044,6 +1050,7 @@ aux32_t = atoi(pChar); this->uint32_t_ToBin(1,&aux32_t,&this->alarms[this->numAlarms-1].value[0]); + return; } @@ -1073,6 +1080,7 @@ aux16_t = atoi(pChar); this->uint16_t_ToBin(1,&aux16_t,&this->alarms[this->numAlarms-1].value[0]); + return; } if(strstr(linha,"int32_t,")) { @@ -1101,12 +1109,13 @@ aux32_t = atol(pChar); this->uint32_t_ToBin(1,&aux32_t,&this->alarms[this->numAlarms-1].value[0]); + return; } if(strstr(linha,"int16_t,")) { - this->alarms[this->numAlarms-1].type=modBusType_uint16_t; + this->alarms[this->numAlarms-1].type=modBusType_int16_t; strtok(linha,","); //parametro1 @@ -1130,6 +1139,7 @@ aux16_t = atoi(pChar); this->uint16_t_ToBin(1,&aux16_t,&this->alarms[this->numAlarms-1].value[0]); + return; } } @@ -1290,9 +1300,9 @@ char alarmsSetString[256]; char alarmsResetString[256]; char *pTipoComando; - uint8_t tipoComando; + uint8_t tipoComando=0; bool endOfFile = false; - uint8_t indexAlarms; + uint8_t indexAlarms=0; char *pChar; bool commandExecOk = true; uint8_t i; @@ -1342,10 +1352,10 @@ if(strstr(pTipoComando,"float")){tipoComando = modBusType_float;} if(strstr(pTipoComando,"bit")){tipoComando = modBusType_bit;} if(strstr(pTipoComando,"uint8_t")){tipoComando = modBusType_uint8_t;} - if(strstr(pTipoComando,"uint16_t")){tipoComando = modBusType_uint16_t;} - if(strstr(pTipoComando,"uint32_t")){tipoComando = modBusType_uint32_t;} if(strstr(pTipoComando,"int16_t")){tipoComando = modBusType_int16_t;} if(strstr(pTipoComando,"int32_t")){tipoComando = modBusType_int32_t;} + if(strstr(pTipoComando,"uint16_t")){tipoComando = modBusType_uint16_t;} + if(strstr(pTipoComando,"uint32_t")){tipoComando = modBusType_uint32_t;} if(strstr(pTipoComando,"IR")){tipoComando = IrCommandType;} if(strstr(pTipoComando,"PWM")){tipoComando = PWMCommandType;} }else{ @@ -1924,18 +1934,18 @@ uint32_t value; dispositivos[i]->uint32_t_ToBin(0,&value,&dispositivos[i]->alarms[j].value[0]); if(dispositivos[i]->alarms[j].max){ - printf("\tint32_t max <%l>.\n",value); + printf("\tint32_t max <%ld>.\n",(int32_t)value); } - else{printf("\tint32_t min <%l>.\n",value);} + else{printf("\tint32_t min <%ld>.\n",(int32_t)value);} } if(dispositivos[i]->alarms[j].type==modBusType_int16_t) { uint16_t value; dispositivos[i]->uint16_t_ToBin(0,&value,&dispositivos[i]->alarms[j].value[0]); if(dispositivos[i]->alarms[j].max){ - printf("\tuint16_t max <%l>.\n",value); + printf("\tint16_t max <%ld>.\n",(int16_t)value); } - else{printf("\tuint16_t min <%l>.\n",value);} + else{printf("\tint16_t min <%ld>.\n",(int16_t)value);} } if(dispositivos[i]->alarms[j].type==modBusType_bit) {