teste de publish

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) {