Bläddra i källkod

[BT-6710]add get_func fo temperature cabinet

balbekova 5 år sedan
förälder
incheckning
bb62c090fa
3 ändrade filer med 65 tillägg och 3 borttagningar
  1. 1 1
      modules/Ethernet/private_mib_bt6710.c
  2. 54 1
      modules/parameters.c
  3. 10 1
      modules/parameters.h

+ 1 - 1
modules/Ethernet/private_mib_bt6710.c

@@ -194,7 +194,7 @@ static s16_t signal_get_value(struct snmp_node_instance *instance, void *value)
             GetDINStatusStr((char *)paramStr, &paramLength, 1);
             break;
         case 9: /* CabinetTemp*/
-            GetInternalTempStr((char *)paramStr, &paramLength);
+            GetTempCaseStr((char *)paramStr, &paramLength);
             break;
         case 10: /* IntTemp */
             GetInternalTempStr((char *)paramStr, &paramLength);

+ 54 - 1
modules/parameters.c

@@ -22,6 +22,9 @@
 #ifdef SSH_ENABLE
 #include "server.h"
 #endif
+#ifdef DALLAS_SENSOR_ENABLE
+#include "temper.h"
+#endif
 #endif
 #include "sntp.h"
 #include "lwip/snmp.h"
@@ -202,7 +205,26 @@ void GetAKBWorktimeInt(int32_t *value)
   */
 void GetInternalTempStr(char *str, uint8_t *len)
 {
-    sprintf(str, "%0.1f", UPS.Temp);
+#ifdef DALLAS_SENSOR_ENABLE
+    if(sSettings.sTempControl[0].type_sensor == TS_AKB) {
+      if (sTemperSensors[0].SensorState == 1){
+        sprintf(str, "%s", "Обрыв линии");
+      } else {
+        sprintf(str, "%0.1f", sTemperSensors[0].Temperature);
+      }
+    } else if (sSettings.sTempControl[1].type_sensor == TS_AKB) {
+        if (sTemperSensors[1].SensorState == 1){
+        sprintf(str, "%s", "Обрыв линии");
+      } else {
+        sprintf(str, "%0.1f", sTemperSensors[1].Temperature);
+      }
+    }
+    else
+#endif
+      {
+        sprintf(str, "%0.1f", UPS.Temp);
+      }
+
     *len = strlen(str);
 }
 
@@ -494,7 +516,38 @@ void GetSntpLastDataStr(char *str, uint8_t *len)
     sprintf(str, "%s", sSettings.sSNTP.data);
     *len = strlen(str);
 }
+#ifndef BT6702_SERVICE
+// ************************************************************************** //
+//                             Температура с внешних датчиков
+#ifdef DALLAS_SENSOR_ENABLE
+/**
+  * @brief
+  */
+void GetTempCaseStr(char *str, uint8_t *len)
+{
+
+    if(sSettings.sTempControl[0].type_sensor == TS_CABINET) {
+      if (sTemperSensors[0].SensorState == 1){
+        sprintf(str, "%s", "Обрыв линии");
+      } else {
+        sprintf(str, "%0.1f", sTemperSensors[0].Temperature);
+      }
+    } else if (sSettings.sTempControl[1].type_sensor == TS_CABINET) {
+        if (sTemperSensors[1].SensorState == 1){
+        sprintf(str, "%s", "Обрыв линии");
+      } else {
+        sprintf(str, "%0.1f", sTemperSensors[1].Temperature);
+      }
+    }
+    else
+      {
+        sprintf(str, "%s", "Нет датчика");
+      }
 
+    *len = strlen(str);
+}
+#endif
+#endif
 // ************************************************************************** //
 //                             Параметры реле/сухих контактов
 #ifdef DINS_ENABLE

+ 10 - 1
modules/parameters.h

@@ -454,7 +454,16 @@ void GetRDSEnableStateStr(char *str, uint8_t *len);
 void GetAuthEnableStateStr(char *str, uint8_t *len);
 
 #endif
-
+#ifndef BT6702_SERVICE
+// ************************************************************************** //
+//                             Температура с внешних датчиков
+#ifdef DALLAS_SENSOR_ENABLE
+/**
+  * @brief
+  */
+void GetTempCaseStr(char *str, uint8_t *len);
+#endif
+#endif
 // ************************************************************************** //
 //                             Параметры реле/сухих контактов
 #ifdef DINS_ENABLE