Bladeren bron

改传感器数据逻辑,读取成功才覆盖旧值

guohui 1 jaar geleden
bovenliggende
commit
406fce14ab
4 gewijzigde bestanden met toevoegingen van 17 en 14 verwijderingen
  1. 11 12
      pro/src/app.c
  2. 1 1
      pro/src/common.c
  3. 5 0
      pro/src/dflt.c
  4. 0 1
      pro/src/sys.c

+ 11 - 12
pro/src/app.c

@@ -1581,12 +1581,12 @@ static void* sensor_thread(void* arg)
                 else
                 {
                     _globalSensorMangerTemp->sensor_status = 0;
+                    _globalSensorInfo.val1 = temperature;
+                    _globalSensorInfo.val2 = humidity;
                 }
                 // log_d("sensor val:%0.2f %0.2f\n",temperature,humidity);
                 // printf("get temperature=%f   humidity=%f\n",temperature,humidity);
-
-                _globalSensorInfo.val1 = temperature;
-                _globalSensorInfo.val2 = humidity;
+                
                 if(_globalDeviceManager->_globalDevInfo.product.pwr_type == SmartPDU_AC ||
                 _globalDeviceManager->_globalDevInfo.product.pwr_type == SmartPDU_DC)
                 {
@@ -1644,10 +1644,9 @@ static void* sensor_thread(void* arg)
                 else
                 {
                     _globalSensorMangerTemp->sensor_status = 0;
-
+                    _globalSensorInfo.val1 = CO2;
+                    _globalSensorInfo.val2 = 0;
                 }
-                _globalSensorInfo.val1 = CO2;
-                _globalSensorInfo.val2 = 0;
                 _globalSensorMangerTemp->Cur_sensor_info = _globalSensorInfo;
                 set_sensor_val_modbus(_globalDeviceManager,&_globalSensorInfo,_globalSensorMangerTemp->sensor_addr);
             }
@@ -1677,9 +1676,9 @@ static void* sensor_thread(void* arg)
                 }
                 else {
                     _globalSensorMangerTemp->sensor_status = 0;
+                    _globalSensorInfo.val1 = sdat.val[0];
+                    _globalSensorInfo.val2 = -1;
                 }
-                _globalSensorInfo.val1 = sdat.val[0];
-                _globalSensorInfo.val2 = -1;
                 _globalSensorMangerTemp->Cur_sensor_info=_globalSensorInfo;
                 set_sensor_val_modbus(_globalDeviceManager,&_globalSensorInfo,_globalSensorMangerTemp->sensor_addr);
             }
@@ -1695,9 +1694,9 @@ static void* sensor_thread(void* arg)
                 }
                 else {
                     _globalSensorMangerTemp->sensor_status = 0;
+                    _globalSensorInfo.val1 = sdat.flag;
+                    _globalSensorInfo.val2 = -1;
                 }
-                _globalSensorInfo.val1 = sdat.flag;
-                _globalSensorInfo.val2 = -1;
                 _globalSensorMangerTemp->Cur_sensor_info=_globalSensorInfo;
                 set_sensor_val_modbus(_globalDeviceManager,&_globalSensorInfo,_globalSensorMangerTemp->sensor_addr);
             }
@@ -1720,11 +1719,11 @@ static void* sensor_thread(void* arg)
                 else
                 {
                     _globalSensorMangerTemp->sensor_status = 0;
+                    _globalSensorInfo.val1 = temperature;
+                    _globalSensorInfo.val2 = temperature2;
                 }
                 // log_d("sensor val:%0.2f %0.2f\n",temperature,humidity);
                 // printf("get temperature=%f   humidity=%f\n",temperature,humidity);
-                _globalSensorInfo.val1 = temperature;
-                _globalSensorInfo.val2 = temperature2;
                 _globalSensorMangerTemp->Cur_sensor_info=_globalSensorInfo;
                 _globalDeviceManager->g_modebus_read.temprature=temperature*100;
                 _globalDeviceManager->g_modebus_read.temprature2=temperature2*100;

+ 1 - 1
pro/src/common.c

@@ -562,7 +562,7 @@ int get_curtime_str2(char *s, int len)
 {
     time_t t=time(NULL);
     struct tm *tm=localtime(&t);
-    return snprintf(s, len, "%02d%02d%02d %02d:%02d:%02d", (tm->tm_year+1900)%100,tm->tm_mon+1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec);
+    return snprintf(s, len, "%02d.%02d %02d:%02d:%02d", tm->tm_mon+1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec);
 }
 
 

+ 5 - 0
pro/src/dflt.c

@@ -73,7 +73,12 @@ GlobalDeviceInfo DFLT_PARAS={
         #endif
 
             .led = 0,
+        #ifdef USE_BEEP
+            .beep = 1,
+        #else
             .beep = 0,
+        #endif
+
         #ifdef ROTATE
             .rotate = ROTATE,
         #else

+ 0 - 1
pro/src/sys.c

@@ -1612,7 +1612,6 @@ static int get_pid(char *proc)
  
     dir = opendir("/proc");
     if (!dir) {
-        perror("opendir");
         return -1;
     }