From 10ef74e90cb5fc66e32db0b20f2e81a711886c1f Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 14 七月 2020 16:53:51 +0800
Subject: [PATCH] 2020-07-14-1
---
HDL_ON/DriverLayer/CommonPage.cs | 63 +++++++++++++++++++++++++++++++
1 files changed, 63 insertions(+), 0 deletions(-)
diff --git a/HDL_ON/DriverLayer/CommonPage.cs b/HDL_ON/DriverLayer/CommonPage.cs
index 8f940e8..c7f1c2e 100644
--- a/HDL_ON/DriverLayer/CommonPage.cs
+++ b/HDL_ON/DriverLayer/CommonPage.cs
@@ -383,6 +383,69 @@
}
}
break;
+ case Command.ReadDeviceLoopInfoACK:
+ FunctionType dt = (FunctionType)(11 * 256 + receiveBytes[1]);
+ string tag = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2];
+
+ foreach (var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience)
+ {
+ if (sensor.bus_Data != null)
+ {
+ if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus_Data.SubnetID == subnetID &&
+ sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.LoopID == receiveBytes[2])
+ {
+ switch (dt)
+ {
+ case FunctionType.Temp:
+ byte[] tempBytes = new byte[] { receiveBytes[24], receiveBytes[25], receiveBytes[26], receiveBytes[27] };
+ sensor.values = Math.Round(BitConverter.ToSingle(tempBytes, 0), 1);
+ break;
+ case FunctionType.Humidity:
+ sensor.values = Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 10;
+ break;
+ case FunctionType.TVOC:
+ sensor.values = Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 100;
+ break;
+ case FunctionType.PM25:
+ sensor.values = Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]);
+ break;
+ case FunctionType.CO2:
+ sensor.values = Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]);
+ break;
+ }
+ EnvironmentalSciencePage.LoadEvent_UpdataStatus(sensor);
+ }
+ }
+ }
+ break;
+ case Command.New_Analog_Quantity_BROADCAST:
+ string tag1 = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2];
+ foreach (var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience)
+ {
+ if (sensor.bus_Data != null)
+ {
+ if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus_Data.SubnetID == subnetID &&
+ sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.LoopID == receiveBytes[2])
+ {
+ //0淇濈暀 1鏃犵鍙�4Byte鏁村舰 2鏈夌鍙�4Byte鏁村舰 3Float褰紙浠B憋級
+ switch (receiveBytes[3])
+ {
+ case 1:
+ sensor.values = (receiveBytes[5]*256 * 256 * 256)+ (receiveBytes[6] * 256 * 256)+ (receiveBytes[7] * 256)+ receiveBytes[8];
+ break;
+ case 2:
+ sensor.values = -1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]);
+ break;
+ case 3:
+ byte[] tempBytes = new byte[] { receiveBytes[5], receiveBytes[6], receiveBytes[7], receiveBytes[8] };
+ sensor.values = Math.Round(BitConverter.ToSingle(tempBytes, 0), 1);
+ break;
+ }
+ EnvironmentalSciencePage.LoadEvent_UpdataStatus(sensor);
+ }
+ }
+ }
+ break;
}
}
catch (Exception ex)
--
Gitblit v1.8.0