guohui vor 1 Jahr
Ursprung
Commit
622b21fc0a
2 geänderte Dateien mit 19 neuen und 14 gelöschten Zeilen
  1. 5 5
      pro/src/common.h
  2. 14 9
      pro/src/paras.c

+ 5 - 5
pro/src/common.h

@@ -640,15 +640,15 @@ typedef struct
 typedef struct 
 {
     int                 product_id                                 ;//产品ID    
-    char                sensor_id                                  ;//传感器ID
-    char                sensor_type                                ;//传感器类型
-    char                sensor_interface_type;                     //接口类型
+    int                 sensor_id                                  ;//传感器ID
+    int                 sensor_type                                ;//传感器类型
+    int                 sensor_interface_type;                     //接口类型
     char                sensor_name[64]                            ;//传感器名称
     char                sensor_port_name[32]                       ;//传感器端口号
     int                 sensor_baud                                ;//波特率
-    char                sensor_addr                                ;//modbus地址
+    int                 sensor_addr                                ;//modbus地址
     int                 sensor_status                              ;//传感器状态
-    char                sensor_val_count                           ;//传感器值个数
+    int                 sensor_val_count                           ;//传感器值个数
     int                 sensor_node_number                         ;//节点号
     GlobalSensorInfo Cur_sensor_info ;
     GlobalSensorOverManage over_manager                            ;//超限管理   

+ 14 - 9
pro/src/paras.c

@@ -138,10 +138,10 @@ static int ini_read(dictionary *dic, char *key, void *val, int len, int type)
         }
     }
     else if(type==TYPE_FLOAT) {
-        double c=0.0;
-        double f = iniparser_getdouble(dic, key, c);
+        double c=-10000.0;
+        double f = (float)iniparser_getdouble(dic, key, c);
         if(!feq(f,c)) {
-            *((float*)val) = f;
+            *((float*)val) = (float)f;
             r = 0;
         }
     }
@@ -1830,6 +1830,7 @@ static int proc_sensor(char *path, int op, GlobalSensorManger *sensor)
                     r = dev_update_sensor_over_manage(dm->db, 0, psensor->sensor_id, psensor);
                 }
                 if(r) break;
+                i++;
             }
         }
         break;
@@ -2881,8 +2882,6 @@ int paras_serv_xport(char *path, int io)
     int r=-1;
     char temp[100];
 
-    get_curtime_str(temp,sizeof(temp));
-    sprintf(path, "/tmp/service_%s.ini", temp);
     if(io==PARAS_IMPORT) {
         r = proc_ntp(path,   PARAS_READ, NULL);
         r = proc_mqtt(path,  PARAS_READ, NULL);
@@ -2894,6 +2893,9 @@ int paras_serv_xport(char *path, int io)
         //r = proc_timer(path, PARAS_READ, NULL);
     }
     else if(io==PARAS_EXPORT) {
+        get_curtime_str(temp,sizeof(temp));
+        sprintf(path, "/tmp/service_%s.ini", temp);
+
         r = proc_ntp(path,   PARAS_WRITE, NULL);
         r = proc_mqtt(path,  PARAS_WRITE, NULL);
         r = proc_mail(path,  PARAS_WRITE, NULL);
@@ -2913,8 +2915,6 @@ int paras_alarm_xport(char *path, int io)
     char temp[100];
 
     pwr3 = is_power3();
-    get_curtime_str(temp,sizeof(temp));
-    sprintf(path, "/tmp/power_%s.ini", temp);
     if(io==PARAS_IMPORT) {
         if(pwr3) {
             r = proc_power(path, PARAS_READ, NULL);
@@ -2924,6 +2924,9 @@ int paras_alarm_xport(char *path, int io)
         }
     }
     else if(io==PARAS_EXPORT) {
+        get_curtime_str(temp,sizeof(temp));
+        sprintf(path, "/tmp/power_%s.ini", temp);
+
         if(pwr3) {
             r = proc_power3(path, PARAS_WRITE, NULL);
         }
@@ -2940,12 +2943,14 @@ int paras_sensor_xport(char *path, int io)
     int r=-1;
     char temp[100];
 
-    get_curtime_str(temp,sizeof(temp));
-    sprintf(path, "/tmp/sensor_%s.ini", temp);
+    
     if(io==PARAS_IMPORT) {
         r = proc_sensor(path, PARAS_READ, NULL);
     }
     else if(io==PARAS_EXPORT) {
+        get_curtime_str(temp,sizeof(temp));
+        sprintf(path, "/tmp/sensor_%s.ini", temp);
+
         r = proc_sensor(path, PARAS_WRITE, NULL);
     }