From a09b0a281e9038cb137a40aec37c868654704dec Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 09 六月 2020 17:33:35 +0800
Subject: [PATCH] 2020-06-09-3
---
HDL_ON/DriverLayer/Control_Bus.cs | 889 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 479 insertions(+), 410 deletions(-)
diff --git a/HDL_ON/DriverLayer/Control_Bus.cs b/HDL_ON/DriverLayer/Control_Bus.cs
index 3993919..b5d7d40 100644
--- a/HDL_ON/DriverLayer/Control_Bus.cs
+++ b/HDL_ON/DriverLayer/Control_Bus.cs
@@ -1,40 +1,21 @@
锘縰sing System;
using System.Collections.Generic;
-using System.Linq;
using HDL_ON.DAL;
using HDL_ON.DAL.Net;
-using HDL_ON.Entity.Enumerative;
+using HDL_ON.Entity;
+using Shared;
+using Shared.Net;
namespace HDL_ON
{
public partial class Control
{
- public System.DateTime LatestDateTime = System.DateTime.Now;
+ public DateTime LatestDateTime = DateTime.Now;
/// <summary>
/// 鎵�鏈夊井淇″涓�绔彛鐨勬帶鍒堕兘浼氭斁鍒拌繖涓泦鍚堥噷
/// </summary>
private static List<Control> controlList = new List<Control>(50);
-
- /// <summary>
- /// 鍙戦�佹暟鎹紝绛夊緟鏈夊弽棣�
- /// </summary>
- /// <returns>The bytes send has return.</returns>
- static byte[] ControlBytesSendHasReturn(Command command, byte subnetID, byte deviceID, byte[] gatewayBytes, int sendCount = 3)
- {
- Control control = new Control();
- control.Send(new Target()
- {
- IPEndPoint = CommonPage.EndPoint,
- Command = command,
- SubnetID = subnetID,
- DeviceID = deviceID,
- AddData = gatewayBytes,
- }, sendCount, true);
- CommonPage.FindGateway = false;
-
- return control.UsefulBytes;
- }
/// <summary>
/// 鍙戦�佹暟鎹紝涓嶉渶瑕佺瓑寰呭洖澶�
@@ -50,9 +31,74 @@
DeviceID = deviceID,
AddData = gatewayBytes,
}, sendCount, false);
- CommonPage.FindGateway = false;
MainPage.Log(command.ToString() + "::" + CommonPage.EndPoint.ToString());
+ }
+ /// <summary>
+ /// 000E 鎼滅储鍥炲
+ /// </summary>
+ /// <param name="usefullBytes"></param>
+ static void ReceiveReadRemark(byte[] usefullBytes)
+ {
+ try
+ {
+ //璐﹀彿娌$櫥褰曚笉鍥炲
+ if (MainPage.LoginUser == null || !MainPage.LoginUser.IsLogin)
+ {
+ return;
+ }
+
+ //if (!isHttpListenerStart)
+ //{
+ // //鏁版嵁鎺ユ敹绔彛娌℃墦寮�锛屼笉鍥炲
+ // return;
+ //}
+
+ var sendStr = MainPage.LoginUser.accountString;
+
+
+ //濡傛灉IP鍦板潃鑾峰彇鎴愬姛 鏄剧ず鏈�鍚庝竴浣�
+ var mAddressBytes = new Shared.Net.NetWiFi().IpAddress.GetAddressBytes();
+ if (mAddressBytes != null && mAddressBytes.Length == 4)
+ {
+ sendStr = (mAddressBytes[3] & 0xFF).ToString() + ":" + sendStr;
+ }
+
+ if (usefullBytes.Length <= 2)
+ {
+ byte[] sendBytes = new byte[20];
+ byte[] b1 = CommonPage.MyEncodingGB2312.GetBytes(sendStr);
+ Array.Copy(b1, 0, sendBytes, 0, 20 < b1.Length ? 20 : b1.Length);
+ Control.ControlBytesSend(Command.ReadRemarkACK, 0xFF, 0xFF, sendBytes, 1);
+
+ }
+ else
+ {
+
+ for (int i = 2, len = usefullBytes.Length; i < len; i++)
+ {
+ if (i % 2 == 0)
+ {
+ if ((usefullBytes[i] & 0xFF) == 0xFC
+ && (usefullBytes[i + 1] & 0xFF) == 0xFC
+ )
+ {
+
+ byte[] sendBytes = new byte[20];
+ byte[] b1 = CommonPage.MyEncodingGB2312.GetBytes(sendStr);
+ //Remote_GroupName = CommonPage.MyEncodingGB2312.GetString (b1);
+ Array.Copy(b1, 0, sendBytes, 0, 20 < b1.Length ? 20 : b1.Length);
+ Control.ControlBytesSend(Command.ReadRemarkACK, 0xFF, 0xFF, sendBytes, 1);
+
+ break;
+ }
+ }
+ }
+
+ }
+
+ }
+ catch { }
}
/// <summary>
@@ -69,217 +115,227 @@
{
string receiveFlag = string.Format("{0},{1},{2},", subnetID, deviceID, (int)command);
- switch ((Command)command)
+ switch (command)
{
- case Command.YIPanelDeviceInofACK:
- for (int i = 0; i < 4; i++)
- {
- receiveFlag += string.Format("{0}", usefulBytes[i]);
- }
- break;
- case Command.ReadDoorLockSceneObjACK:
- receiveFlag += string.Format("{0},{1},{2},{3},{4}", usefulBytes[0], usefulBytes[1], usefulBytes[2], usefulBytes[3], usefulBytes[4]);
- break;
- case Command.ReadDoorLockClockACK:
- case Command.CreatConnectionACK:
+ case Command.SetSingleLightACK:
receiveFlag += string.Format("{0}", usefulBytes[0]);
break;
- //闂ㄩ攣,BroadcastDoorLockStateAndAlarm
- //骞挎挱闂ㄩ攣鐘舵�佸拰鎶ヨ,
- case Command.BroadcastDoorLockStateAndAlarm://骞挎挱闂ㄩ攣鐘舵�佸拰鎶ヨ
- receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
- break;
- case Command.ReadDoorLockUseRemarkACK:
- case Command.ReadSensorPushMessageACK:
- case Command.SetSensorPushMessageACK:
- case Command.ReadSensorScenceACK:
- case Command.ReadAnalogACK:
+ case Command.SetLogicLoopColorACK:
receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]);
break;
- case Command.SetSensorScenceACK:
- receiveFlag += string.Format("{0},{1},{2}", usefulBytes[1], usefulBytes[2], usefulBytes[3]);
- break;
- case Command.SendRemoteInfoToServerACK:
- for (int i = 1; i < 9; i++)
- {
- receiveFlag += string.Format("{0}", usefulBytes[i]);
- }
- break;
- case Command.BroadcastDryContactStatus://鐢卞共鎺ョ偣骞挎挱鍑烘潵鐨勬暟鎹紝绋嬪簭涓嶅仛鍥炲銆�
- receiveFlag += string.Format("{0}", usefulBytes[0]);
- break;
- case Command.SetSceneACK:
- receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
- break;
- case Command.SetSeriesACK:
- receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
- break;
- case Command.UpdataCurtainModelStutasACK:
- case Command.SetHotelCurtainACK:
- case Command.DownloadInfraredACK:
- case Command.SetSensorPushValuesACK:
- case Command.ReadSensorPushValuesACK:
- receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
- break;
- case Command.ReadLightEquipmentAllLoopBrightnessACK:
- break;
- case Command.SetSingleLightACK:
- receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[2]);
- break;
- case Command.UpLoadInfraredACK:
- receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
- break;
- case Command.SetCommonACK:
- case Command.InfraredChannelControlACK:
+ case Command.ReadLogicLoopColorACK:
case Command.ReadACModeACK:
case Command.SetACModeACK:
- case Command.Serverx_FH_CMD_ACK:
- case Command.ReadSensorHistoryACK:
- case Command.SetSensorAutomationTargetLevelEnableACK:
- case Command.ReadSensorAutomationLevelTargetEnableACK:
+ case Command.ReadFloorHeatACK:
+ case Command.SetFloorHeatACK:
receiveFlag += string.Format("{0}", usefulBytes[0]);
break;
- case Command.ReadFoolHeatACK:
- case Command.SetFoolHeatACK:
- case Command.SetArmACK:
- case Command.ReadArmACK:
- receiveFlag += string.Format("{0}", usefulBytes[0]);
+ case Command.ReadRemark:
+ //buspro 璇诲娉ㄥ洖澶�
+ ReceiveReadRemark(usefulBytes);
break;
- case Command.ReadDeviceModulACK:
- case Command.ReadGatewayACK:
- case Command.ReadSecurityStatusACK:
- receiveFlag = string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
- break;
- case Command.UpdataLightDimmingTheLargestLevelACK:
- case Command.UpdataLightDimmingMaximumOrMinimumACK:
- case Command.WriteManageWirelessNetACK:
- case Command.ReadGateWayModelInfoACK:
- case Command.ReadGatewayServerIPACK:
- case Command.SetGateWayModelInfoACK:
- case Command.SetGateWayModelInternetInfoACK:
- case Command.ReadDeviceMacACK:
- case Command.SetDeviceSubnetIDACK:
- case Command.PositioningEquipmentACK:
- case Command.PositioningPanelACK:
- case Command.GotoConfigModeACK:
- case Command.CheckConfigSuccessACK:
- case Command.SetACPanelACK:
- case Command.ReadACPanelACK:
- case Command.ReadTerrestriaHeatRemarkACK:
- case Command.UpdateGatewayIpACK:
- case Command.ReadWirelessPanelModeACK:
- case Command.ReadDrycontactModeACK:
- case Command.ReadACFloorHeatingSettingEquipmentACK:
- case Command.SetACFloorHeatingSettingEquipmentACK:
- case Command.Read43FloorHeatingSettingEquipmentACK:
- case Command.Set43FloorHeatingSettingEquipmentACK:
- case Command.READ_AIR_ALL_Parameter_ack:
- case Command.Set_AIR_ALL_Parameter_ack:
- case Command.ReadFloorHeatProbeACK:
- case Command.ReadButtonKeyEnableACK:
- case Command.UpdateLightDimmingLoopRemakeACK:
- case Command.ReadMusicPanelSettingACK:
- case Command.ReadMusicPanelEnableACK:
- case Command.SetMusicPanelEnableACK:
- case Command.SetMusicPanelSettingACK:
- case Command.SetGatewayACK:
- case Command.ReadGatewayProgrammingModeACK:
- case Command.RED_HSFH_TOTAL_ACK:
- case Command.RED_HSFH_INFORMATION_ACK:
- case Command.RED_HSRM_TOTAL_ACK:
- case Command.RED_HSRM_INFORMATION_ACK:
- case Command.CLEAR_SYSTEM_HISTORY_ACK:
- case Command.SetSensorTargetRemarkACK:
- case Command.ReadSensorAutomationEnableListACK:
- case Command.SetSensorAutomationEnableListACK:
- case Command.SetSensorAutomationListIDACK:
- case Command.ReadSensorAutomationListIDACK:
- case Command.ReadSensorAutomationNameACK:
- case Command.SetSensorAutomationNameACK:
- case Command.Set_Floor_Heat_State_ack:
- case Command.Read_Floor_Heat_State_ack:
- case Command.Read_Air_Condition_Set_ack:
- case Command.HornAlarmBroadcast:
- case Command.ReadHornLoopCountACK:
- case Command.UpdateHornLoopRemakeACK:
- case Command.ReadPanelTempTypeACK:
- receiveFlag += "";
- break;
- case Command.ControlMusicModel1ACK:
- receiveFlag += "";
- break;
- case Command.ControlMusicModel2ACK:
- for (int i = 1; i < usefulBytes.Length; i++)
- {
- if (usefulBytes[i + 1] == 44)
- {
- break;
- }
- receiveFlag += string.Format("{0},", usefulBytes[i]);
- }
- break;
+ //case Command.YIPanelDeviceInofACK:
+ // for (int i = 0; i < 4; i++)
+ // {
+ // receiveFlag += string.Format("{0}", usefulBytes[i]);
+ // }
+ // break;
+ //case Command.ReadDoorLockSceneObjACK:
+ // receiveFlag += string.Format("{0},{1},{2},{3},{4}", usefulBytes[0], usefulBytes[1], usefulBytes[2], usefulBytes[3], usefulBytes[4]);
+ // break;
+ //case Command.ReadDoorLockClockACK:
+ //case Command.CreatConnectionACK:
+ // receiveFlag += string.Format("{0}", usefulBytes[0]);
+ // break;
+ ////闂ㄩ攣,BroadcastDoorLockStateAndAlarm
+ ////骞挎挱闂ㄩ攣鐘舵�佸拰鎶ヨ,
+ //case Command.BroadcastDoorLockStateAndAlarm://骞挎挱闂ㄩ攣鐘舵�佸拰鎶ヨ
+ // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
+ // break;
+ //case Command.ReadDoorLockUseRemarkACK:
+ //case Command.ReadSensorPushMessageACK:
+ //case Command.SetSensorPushMessageACK:
+ //case Command.ReadSensorScenceACK:
+ //case Command.ReadAnalogACK:
+ // receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]);
+ // break;
+ //case Command.SetSensorScenceACK:
+ // receiveFlag += string.Format("{0},{1},{2}", usefulBytes[1], usefulBytes[2], usefulBytes[3]);
+ // break;
+ //case Command.SendRemoteInfoToServerACK:
+ // for (int i = 1; i < 9; i++)
+ // {
+ // receiveFlag += string.Format("{0}", usefulBytes[i]);
+ // }
+ // break;
+ //case Command.BroadcastDryContactStatus://鐢卞共鎺ョ偣骞挎挱鍑烘潵鐨勬暟鎹紝绋嬪簭涓嶅仛鍥炲銆�
+ // receiveFlag += string.Format("{0}", usefulBytes[0]);
+ // break;
+ //case Command.SetSceneACK:
+ // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
+ // break;
+ //case Command.SetSeriesACK:
+ // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
+ // break;
+ //case Command.SetCurtainModelStutasACK:
+ //case Command.SetHotelCurtainACK:
+ //case Command.DownloadInfraredACK:
+ //case Command.SetSensorPushValuesACK:
+ //case Command.ReadSensorPushValuesACK:
+ // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
+ // break;
+ //case Command.ReadLightEquipmentAllLoopBrightnessACK:
+ // break;
+ //case Command.UpLoadInfraredACK:
+ // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
+ // break;
+ //case Command.SetCommonACK:
+ //case Command.InfraredChannelControlACK:
+ //case Command.Serverx_FH_CMD_ACK:
+ //case Command.ReadSensorHistoryACK:
+ //case Command.SetSensorAutomationTargetLevelEnableACK:
+ //case Command.ReadSensorAutomationLevelTargetEnableACK:
+ // receiveFlag += string.Format("{0}", usefulBytes[0]);
+ // break;
+ //case Command.ReadFoolHeatACK:
+ //case Command.SetFoolHeatACK:
+ //case Command.SetArmACK:
+ //case Command.ReadArmACK:
+ // receiveFlag += string.Format("{0}", usefulBytes[0]);
+ // break;
+ //case Command.ReadDeviceModulACK:
+ //case Command.ReadGatewayACK:
+ //case Command.ReadSecurityStatusACK:
+ // receiveFlag = string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
+ // break;
+ //case Command.UpdataLightDimmingTheLargestLevelACK:
+ //case Command.UpdataLightDimmingMaximumOrMinimumACK:
+ //case Command.WriteManageWirelessNetACK:
+ //case Command.ReadGateWayModelInfoACK:
+ //case Command.ReadGatewayServerIPACK:
+ //case Command.SetGateWayModelInfoACK:
+ //case Command.SetGateWayModelInternetInfoACK:
+ //case Command.ReadDeviceMacACK:
+ //case Command.SetDeviceSubnetIDACK:
+ //case Command.PositioningEquipmentACK:
+ //case Command.PositioningPanelACK:
+ //case Command.GotoConfigModeACK:
+ //case Command.CheckConfigSuccessACK:
+ //case Command.SetACPanelACK:
+ //case Command.ReadACPanelACK:
+ //case Command.ReadTerrestriaHeatRemarkACK:
+ //case Command.UpdateGatewayIpACK:
+ //case Command.ReadWirelessPanelModeACK:
+ //case Command.ReadDrycontactModeACK:
+ //case Command.ReadACFloorHeatingSettingEquipmentACK:
+ //case Command.SetACFloorHeatingSettingEquipmentACK:
+ //case Command.Read43FloorHeatingSettingEquipmentACK:
+ //case Command.Set43FloorHeatingSettingEquipmentACK:
+ //case Command.READ_AIR_ALL_Parameter_ack:
+ //case Command.Set_AIR_ALL_Parameter_ack:
+ //case Command.ReadFloorHeatProbeACK:
+ //case Command.ReadButtonKeyEnableACK:
+ //case Command.UpdateLightDimmingLoopRemakeACK:
+ //case Command.ReadMusicPanelSettingACK:
+ //case Command.ReadMusicPanelEnableACK:
+ //case Command.SetMusicPanelEnableACK:
+ //case Command.SetMusicPanelSettingACK:
+ //case Command.SetGatewayACK:
+ //case Command.ReadGatewayProgrammingModeACK:
+ //case Command.RED_HSFH_TOTAL_ACK:
+ //case Command.RED_HSFH_INFORMATION_ACK:
+ //case Command.RED_HSRM_TOTAL_ACK:
+ //case Command.RED_HSRM_INFORMATION_ACK:
+ //case Command.CLEAR_SYSTEM_HISTORY_ACK:
+ //case Command.SetSensorTargetRemarkACK:
+ //case Command.ReadSensorAutomationEnableListACK:
+ //case Command.SetSensorAutomationEnableListACK:
+ //case Command.SetSensorAutomationListIDACK:
+ //case Command.ReadSensorAutomationListIDACK:
+ //case Command.ReadSensorAutomationNameACK:
+ //case Command.SetSensorAutomationNameACK:
+ //case Command.Set_Floor_Heat_State_ack:
+ //case Command.Read_Floor_Heat_State_ack:
+ //case Command.Read_Air_Condition_Set_ack:
+ //case Command.HornAlarmBroadcast:
+ //case Command.ReadHornLoopCountACK:
+ //case Command.UpdateHornLoopRemakeACK:
+ //case Command.ReadPanelTempTypeACK:
+ // receiveFlag += "";
+ // break;
+ //case Command.ControlMusicModel1ACK:
+ // receiveFlag += "";
+ // break;
+ //case Command.ControlMusicModel2ACK:
+ // for (int i = 1; i < usefulBytes.Length; i++)
+ // {
+ // if (usefulBytes[i + 1] == 44)
+ // {
+ // break;
+ // }
+ // receiveFlag += string.Format("{0},", usefulBytes[i]);
+ // }
+ // break;
- case Command.Remote3thACK:
- receiveFlag = string.Format("{0},", (int)command);
- break;
- case Command.ReadDeviceLoopInfoACK:
- if (usefulBytes[0] == 1)
- {
- receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[2]); ;
- }
- else
- receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]);
- break;
- case Command.SetDeviceLoopInfoACK:
- case Command.InfraredControlACK:
- case Command.SetLogicLoopColorACK:
- case Command.SetSecurityByPassACK:
- case Command.SetSensorAutomationDateTimeCycleACK:
- case Command.ReadSensorAutomationDateTimeCycleACK:
- receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]);
- break;
- case Command.UpdataRemakeACK:
- break;
- case Command.ReadWirelessPanelButtonKeyACK:
- case Command.WriteWirelessPanelButtonKeyACK:
- case Command.ReadDryContactStatusACK:
- case Command.InstructionPanelKeyACK:
- case Command.ReadInstructionPanelKeyACK:
- case Command.ReadAnalogValueACK:
- case Command.ReadSensorTargetRemarkACK:
- case Command.SetHornTargetStateACK:
- case Command.ReadHornTargetStateACK:
- receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
- break;
- case Command.AssignedAddressACK:
- case Command.UpdataCurtainModelRunTimeACK:
- case Command.ReadCurtainStutasACK:
- case Command.ReadLogicLoopColorACK:
- case Command.ReadPanleTempACK:
- case Command.FreshAirReadACK:
- case Command.FreshAirControlACK:
- case Command.Set_Air_State_New_ack:
- case Command.ReadHornHistoryACK:
- case Command.ReadHornLoopsStatusACK:
- case Command.ReadHornPushACK:
- case Command.SetHornPushACK:
- case Command.ReadHornLoopAlarmACK:
- case Command.SetHornTargetEnableACK:
- case Command.ReadHornTargetEnableACK:
- receiveFlag += string.Format("{0}", usefulBytes[0]);
- break;
- case Command.RemoteFirstACK:
- for (int i = 1; i < 1 + 28; i++)
- {
- receiveFlag += string.Format("{0}", usefulBytes[i]);
- }
- break;
- case Command.RemoteSecoudACK:
- for (int i = 0; i < 7; i++)
- {
- receiveFlag += string.Format("{0}", usefulBytes[i]);
- }
- break;
+ //case Command.Remote3thACK:
+ // receiveFlag = string.Format("{0},", (int)command);
+ // break;
+ //case Command.ReadDeviceLoopInfoACK:
+ // if (usefulBytes[0] == 1)
+ // {
+ // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[2]); ;
+ // }
+ // else
+ // receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]);
+ // break;
+ //case Command.SetDeviceLoopInfoACK:
+ //case Command.InfraredControlACK:
+ //case Command.SetSecurityByPassACK:
+ //case Command.SetSensorAutomationDateTimeCycleACK:
+ //case Command.ReadSensorAutomationDateTimeCycleACK:
+ // receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]);
+ // break;
+ //case Command.UpdataRemakeACK:
+ // break;
+ //case Command.ReadWirelessPanelButtonKeyACK:
+ //case Command.WriteWirelessPanelButtonKeyACK:
+ //case Command.ReadDryContactStatusACK:
+ //case Command.InstructionPanelKeyACK:
+ //case Command.ReadInstructionPanelKeyACK:
+ //case Command.ReadAnalogValueACK:
+ //case Command.ReadSensorTargetRemarkACK:
+ //case Command.SetHornTargetStateACK:
+ //case Command.ReadHornTargetStateACK:
+ // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
+ // break;
+ //case Command.AssignedAddressACK:
+ //case Command.UpdataCurtainModelRunTimeACK:
+ //case Command.ReadCurtainStutasACK:
+ //case Command.ReadPanleTempACK:
+ //case Command.FreshAirReadACK:
+ //case Command.FreshAirControlACK:
+ //case Command.Set_Air_State_New_ack:
+ //case Command.ReadHornHistoryACK:
+ //case Command.ReadHornLoopsStatusACK:
+ //case Command.ReadHornPushACK:
+ //case Command.SetHornPushACK:
+ //case Command.ReadHornLoopAlarmACK:
+ //case Command.SetHornTargetEnableACK:
+ //case Command.ReadHornTargetEnableACK:
+ // receiveFlag += string.Format("{0}", usefulBytes[0]);
+ // break;
+ //case Command.RemoteFirstACK:
+ // for (int i = 1; i < 1 + 28; i++)
+ // {
+ // receiveFlag += string.Format("{0}", usefulBytes[i]);
+ // }
+ // break;
+ //case Command.RemoteSecoudACK:
+ // for (int i = 0; i < 7; i++)
+ // {
+ // receiveFlag += string.Format("{0}", usefulBytes[i]);
+ // }
+ // break;
default:
break;
}
@@ -431,7 +487,7 @@
{
if (Packet.FlagDateTime.AddMilliseconds(1000).Ticks <= System.DateTime.Now.Ticks)
{
- //System.MainPage.WriteLog ("閲嶅彂鏁版嵁:" + SendFlag);
+ MainPage.Log("閲嶅彂鏁版嵁:" + SendFlag);
BusSocket.AsyncBeginSend(Packet);
}
System.Threading.Thread.Sleep(100);
@@ -459,189 +515,195 @@
switch (target.Command)
{
- case Command.YIPanelDeviceInof:
- for (int i = 0; i < 4; i++)
- {
- this.sendFlag += string.Format("{0}", target.AddData[i]);
- }
- break;
- case Command.ReadDoorLockSceneObj:
- this.SendFlag += string.Format("{0},{1},{2},{3},{4}", target.AddData[0], target.AddData[1], target.AddData[2], target.AddData[3], target.AddData[4]);
- break;
- case Command.ReadDoorLockClock:
- case Command.CreatConnection:
- this.SendFlag += string.Format("{0}", target.AddData[0]);
- break;
- case Command.ReadDoorLockUseRemark:
- case Command.ReadSensorPushMessage:
- case Command.SetSensorPushMessage:
- case Command.SetSensorScence:
- case Command.ReadAnalog:
- this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
- break;
- case Command.ReadSensorScence:
- this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
- break;
- case Command.SendRemoteInfoToServer:
- for (int i = 40; i < 48; i++)
- {
- this.sendFlag += string.Format("{0}", target.AddData[i]);
- }
- break;
- case Command.SetCommonSwitch:
- case Command.InfraredChannelControl:
+ case Command.SetSingleLight:
+ case Command.ReadLogicLoopColor:
case Command.ReadACMode:
case Command.SetACMode:
- case Command.ReadFoolHeat:
- case Command.SetFoolHeat:
- case Command.Serverx_FH_CMD:
- case Command.SetArm:
- case Command.ReadArm:
- case Command.ReadSensorHistory:
- case Command.SetSensorAutomationTargetLevelEnable:
- case Command.ReadSensorAutomationLevelTargetEnable:
- this.SendFlag += string.Format("{0}", target.AddData[0]);
- break;
- case Command.ReadDeviceModul:
- case Command.ReadGateway:
- case Command.ReadSecurityStatus:
- case Command.ReadHornTargetState:
- this.SendFlag = string.Format("{0},{1}", target.AddData[0], target.AddData[1]);
- break;
- case Command.SetScene:
- case Command.SetSeries:
- case Command.SetHotelCurtain:
- case Command.ReadAnalogValue:
- case Command.SetSensorPushValues:
- case Command.ReadSensorPushValues:
- this.SendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]);
- break;
- //case Command.ReadOnePortWirelessFROtherInfo:
- case Command.UpdataRemake:
- case Command.WriteManageWirelessNet:
- case Command.UpdataLightDimmingTheLargestLevel:
- case Command.UpdataLightDimmingMaximumOrMinimum:
- case Command.ReadGateWayModelInfo:
- case Command.ReadGatewayServerIP:
- case Command.SetGateWayModelInfo:
- case Command.SetGateWayModelInternetInfo:
- case Command.ReadDeviceMac:
- case Command.SetDeviceSubnetID:
- case Command.PositioningEquipment:
- case Command.PositioningPanel:
- case Command.CheckConfigSuccess:
- case Command.GotoConfigMode:
- case Command.ReadACPanel:
- case Command.SetACPanel:
- case Command.ReadTerrestriaHeatRemark:
- case Command.UpdateGatewayIp:
- case Command.ReadWirelessPanelMode:
- case Command.ReadDrycontactMode:
- case Command.ReadACFloorHeatingSettingEquipment:
- case Command.SetACFloorHeatingSettingEquipment:
- case Command.Read43FloorHeatingSettingEquipment:
- case Command.Set43FloorHeatingSettingEquipment:
- case Command.READ_AIR_ALL_Parameter:
- case Command.Set_AIR_ALL_Parameter:
- case Command.ReadFloorHeatProbe:
- case Command.ControlMusicModel:
- case Command.ReadButtonKeyEnable:
- case Command.UpdateEquipmentLoopRemake:
- case Command.SetGateway:
- case Command.ReadMusicPanelSetting:
- case Command.ReadMusicPanelEnable:
- case Command.SetMusicPanelEnable:
- case Command.SetMusicPanelSetting:
- case Command.ReadGatewayProgrammingMode:
- case Command.RED_HSFH_TOTAL:
- case Command.RED_HSFH_INFORMATION:
- case Command.RED_HSRM_TOTAL:
- case Command.RED_HSRM_INFORMATION:
- case Command.CLEAR_SYSTEM_HISTORY:
- case Command.SetSensorTargetRemark:
- case Command.ReadSensorAutomationEnableList:
- case Command.SetSensorAutomationEnableList:
- case Command.SetSensorAutomationListID:
- case Command.ReadSensorAutomationListID:
- case Command.SetSensorAutomationName:
- case Command.ReadSensorAutomationName:
- case Command.Set_Floor_Heat_State:
- case Command.Read_Floor_Heat_State:
- case Command.Read_Air_Condition_Set:
- case Command.UpdateHornLoopRemake:
- case Command.ReadHornLoopCount:
- case Command.ReadPanelTempType:
- this.SendFlag += "";
- break;
- case Command.ControlMusicModel2:
- for (int i = 1; i < target.AddData.Length; i++)
- {
- if (target.AddData[i + 1] == 0x0D)
- {
- break;
- }
- this.sendFlag += string.Format("{0},", target.AddData[i]);
- }
- break;
- case Command.Remote3th:
- this.SendFlag = string.Format("{0},", (int)target.Command + 1);
- break;
- case Command.ReadDeviceLoopInfo:
- if (target.AddData[0] == 1)//鐗规畩澶勭悊鐏厜绫伙紝DMX妯″潡姣忎竴涓洖璺笉鍥哄畾灏忕被锛屾牴鎹叿浣撹缃潵鍥炲
- this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[2]);
- else
- this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
- break;
- case Command.SetDeviceLoopInfo:
- case Command.InfraredControl:
- case Command.SetLogicLoopColor:
- case Command.SetSecurityByPass:
- case Command.SetSensorAutomationDateTimeCycle:
- case Command.ReadSensorAutomationDateTimeCycle:
- this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
- break;
- case Command.ReadWirelessPanelButtonKey:
- case Command.WriteWirelessPanelButtonKey:
- case Command.ReadDryContactStatus:
- case Command.UpdataCurtainModelStutas:
- case Command.SetSingleLight:
- case Command.DownloadInfrared:
- case Command.UpLoadInfrared:
- case Command.InstructionPanelKey:
- case Command.ReadInstructionPanelKey:
- case Command.ReadSensorTargetRemark:
- case Command.SetHornTargetState:
- this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]);
- break;
- case Command.AssignedAddress:
- case Command.UpdataCurtainModelRunTime:
- case Command.ReadCurtainStatus:
- case Command.ReadLogicLoopColor:
- case Command.ReadPanleTemp:
- case Command.FreshAirRead:
- case Command.FreshAirControl:
- case Command.Set_Air_State_New:
- case Command.ReadHornTargetEnable:
- case Command.SetHornTargetEnable:
- case Command.ReadHornLoopAlarm:
- case Command.SetHornPush:
- case Command.ReadHornPush:
- case Command.ReadHornHistory:
- case Command.ReadHornLoopsStatus:
+ case Command.ReadFloorHeat:
+ case Command.SetFloorHeat:
this.sendFlag += string.Format("{0}", target.AddData[0]);
break;
- case Command.RemoteFirst:
- for (int i = 0; i < 28; i++)
- {
- this.sendFlag += string.Format("{0}", target.AddData[i]);
- }
+ case Command.SetLogicLoopColor:
+ this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
break;
- case Command.RemoteSecoud:
- for (int i = 0; i < 7; i++)
- {
- this.sendFlag += string.Format("{0}", target.AddData[i]);
- }
- break;
+ //case Command.YIPanelDeviceInof:
+ // for (int i = 0; i < 4; i++)
+ // {
+ // this.sendFlag += string.Format("{0}", target.AddData[i]);
+ // }
+ // break;
+ //case Command.ReadDoorLockSceneObj:
+ // this.SendFlag += string.Format("{0},{1},{2},{3},{4}", target.AddData[0], target.AddData[1], target.AddData[2], target.AddData[3], target.AddData[4]);
+ // break;
+ //case Command.ReadDoorLockClock:
+ //case Command.CreatConnection:
+ // this.SendFlag += string.Format("{0}", target.AddData[0]);
+ // break;
+ //case Command.ReadDoorLockUseRemark:
+ //case Command.ReadSensorPushMessage:
+ //case Command.SetSensorPushMessage:
+ //case Command.SetSensorScence:
+ //case Command.ReadAnalog:
+ // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
+ // break;
+ //case Command.ReadSensorScence:
+ // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
+ // break;
+ //case Command.SendRemoteInfoToServer:
+ // for (int i = 40; i < 48; i++)
+ // {
+ // this.sendFlag += string.Format("{0}", target.AddData[i]);
+ // }
+ // break;
+ //case Command.SetCommonSwitch:
+ //case Command.InfraredChannelControl:
+ //case Command.ReadFoolHeat:
+ //case Command.SetFoolHeat:
+ //case Command.Serverx_FH_CMD:
+ //case Command.SetArm:
+ //case Command.ReadArm:
+ //case Command.ReadSensorHistory:
+ //case Command.SetSensorAutomationTargetLevelEnable:
+ //case Command.ReadSensorAutomationLevelTargetEnable:
+ // this.SendFlag += string.Format("{0}", target.AddData[0]);
+ // break;
+ //case Command.ReadDeviceModul:
+ //case Command.ReadGateway:
+ //case Command.ReadSecurityStatus:
+ //case Command.ReadHornTargetState:
+ // this.SendFlag = string.Format("{0},{1}", target.AddData[0], target.AddData[1]);
+ // break;
+ //case Command.SetScene:
+ //case Command.SetSeries:
+ //case Command.SetHotelCurtain:
+ //case Command.ReadAnalogValue:
+ //case Command.SetSensorPushValues:
+ //case Command.ReadSensorPushValues:
+ // this.SendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]);
+ // break;
+ ////case Command.ReadOnePortWirelessFROtherInfo:
+ //case Command.UpdataRemake:
+ //case Command.WriteManageWirelessNet:
+ //case Command.UpdataLightDimmingTheLargestLevel:
+ //case Command.UpdataLightDimmingMaximumOrMinimum:
+ //case Command.ReadGateWayModelInfo:
+ //case Command.ReadGatewayServerIP:
+ //case Command.SetGateWayModelInfo:
+ //case Command.SetGateWayModelInternetInfo:
+ //case Command.ReadDeviceMac:
+ //case Command.SetDeviceSubnetID:
+ //case Command.PositioningEquipment:
+ //case Command.PositioningPanel:
+ //case Command.CheckConfigSuccess:
+ //case Command.GotoConfigMode:
+ //case Command.ReadACPanel:
+ //case Command.SetACPanel:
+ //case Command.ReadTerrestriaHeatRemark:
+ //case Command.UpdateGatewayIp:
+ //case Command.ReadWirelessPanelMode:
+ //case Command.ReadDrycontactMode:
+ //case Command.ReadACFloorHeatingSettingEquipment:
+ //case Command.SetACFloorHeatingSettingEquipment:
+ //case Command.Read43FloorHeatingSettingEquipment:
+ //case Command.Set43FloorHeatingSettingEquipment:
+ //case Command.READ_AIR_ALL_Parameter:
+ //case Command.Set_AIR_ALL_Parameter:
+ //case Command.ReadFloorHeatProbe:
+ //case Command.ControlMusicModel:
+ //case Command.ReadButtonKeyEnable:
+ //case Command.UpdateEquipmentLoopRemake:
+ //case Command.SetGateway:
+ //case Command.ReadMusicPanelSetting:
+ //case Command.ReadMusicPanelEnable:
+ //case Command.SetMusicPanelEnable:
+ //case Command.SetMusicPanelSetting:
+ //case Command.ReadGatewayProgrammingMode:
+ //case Command.RED_HSFH_TOTAL:
+ //case Command.RED_HSFH_INFORMATION:
+ //case Command.RED_HSRM_TOTAL:
+ //case Command.RED_HSRM_INFORMATION:
+ //case Command.CLEAR_SYSTEM_HISTORY:
+ //case Command.SetSensorTargetRemark:
+ //case Command.ReadSensorAutomationEnableList:
+ //case Command.SetSensorAutomationEnableList:
+ //case Command.SetSensorAutomationListID:
+ //case Command.ReadSensorAutomationListID:
+ //case Command.SetSensorAutomationName:
+ //case Command.ReadSensorAutomationName:
+ //case Command.Set_Floor_Heat_State:
+ //case Command.Read_Floor_Heat_State:
+ //case Command.Read_Air_Condition_Set:
+ //case Command.UpdateHornLoopRemake:
+ //case Command.ReadHornLoopCount:
+ //case Command.ReadPanelTempType:
+ // this.SendFlag += "";
+ // break;
+ //case Command.ControlMusicModel2:
+ // for (int i = 1; i < target.AddData.Length; i++)
+ // {
+ // if (target.AddData[i + 1] == 0x0D)
+ // {
+ // break;
+ // }
+ // this.sendFlag += string.Format("{0},", target.AddData[i]);
+ // }
+ // break;
+ //case Command.Remote3th:
+ // this.SendFlag = string.Format("{0},", (int)target.Command + 1);
+ // break;
+ //case Command.ReadDeviceLoopInfo:
+ // if (target.AddData[0] == 1)//鐗规畩澶勭悊鐏厜绫伙紝DMX妯″潡姣忎竴涓洖璺笉鍥哄畾灏忕被锛屾牴鎹叿浣撹缃潵鍥炲
+ // this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[2]);
+ // else
+ // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
+ // break;
+ //case Command.SetDeviceLoopInfo:
+ //case Command.InfraredControl:
+ //case Command.SetSecurityByPass:
+ //case Command.SetSensorAutomationDateTimeCycle:
+ //case Command.ReadSensorAutomationDateTimeCycle:
+ // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]);
+ // break;
+ //case Command.ReadWirelessPanelButtonKey:
+ //case Command.WriteWirelessPanelButtonKey:
+ //case Command.ReadDryContactStatus:
+ //case Command.SetCurtainModelStutas:
+ //case Command.DownloadInfrared:
+ //case Command.UpLoadInfrared:
+ //case Command.InstructionPanelKey:
+ //case Command.ReadInstructionPanelKey:
+ //case Command.ReadSensorTargetRemark:
+ //case Command.SetHornTargetState:
+ // this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]);
+ // break;
+ //case Command.AssignedAddress:
+ //case Command.UpdataCurtainModelRunTime:
+ //case Command.ReadCurtainStatus:
+ //case Command.ReadPanleTemp:
+ //case Command.FreshAirRead:
+ //case Command.FreshAirControl:
+ //case Command.Set_Air_State_New:
+ //case Command.ReadHornTargetEnable:
+ //case Command.SetHornTargetEnable:
+ //case Command.ReadHornLoopAlarm:
+ //case Command.SetHornPush:
+ //case Command.ReadHornPush:
+ //case Command.ReadHornHistory:
+ //case Command.ReadHornLoopsStatus:
+ // this.sendFlag += string.Format("{0}", target.AddData[0]);
+ // break;
+ //case Command.RemoteFirst:
+ // for (int i = 0; i < 28; i++)
+ // {
+ // this.sendFlag += string.Format("{0}", target.AddData[i]);
+ // }
+ // break;
+ //case Command.RemoteSecoud:
+ // for (int i = 0; i < 7; i++)
+ // {
+ // this.sendFlag += string.Format("{0}", target.AddData[i]);
+ // }
+ // break;
default:
//return;
break;
@@ -661,14 +723,21 @@
/// <param name="sendCount">閲嶅彂娆℃暟</param>
public void Send(Target target, int sendCount, bool isWait)
{
- Packet = new Packet(target.SendBytes, target.IPEndPoint);
- Packet.HaveSendCount = 3 - sendCount;
-
- ini(target);
-
- if (isWait)
+ try
{
- this.wait();
+ Packet = new Packet(target.SendBytes, target.IPEndPoint);
+ Packet.HaveSendCount = 3 - sendCount;
+
+ ini(target);
+
+ if (isWait)
+ {
+ this.wait();
+ }
+ }
+ catch(Exception ex)
+ {
+ MainPage.Log($"Send bus data error {ex.Message}");
}
}
--
Gitblit v1.8.0