Exemple #1
0
        public void UploadButtonRemarkAndCMDToDevice(Byte SubNetID, Byte DeviceID, int DeviceType, int RemoteAddress, Byte ReadOnlyRemarkorCMD)
        {
            if (ReadOnlyRemarkorCMD == 0)
            {
                ModifyButtonRemark(SubNetID, DeviceID, DeviceType, RemoteAddress);
            }
            if (Mode == 0 || Mode > 30)
            {
                return;
            }
            Byte ExtraLength = 0;

            if (IPmoduleDeviceTypeList.RFIpModuleV2.Contains(DeviceType))
            {
                ExtraLength = 1;
            }
            else if (EnviroNewDeviceTypeList.EnviroNewPanelDeviceTypeList.Contains(DeviceType))
            {
                ExtraLength = 3;
            }

            if (KeyTargets != null)
            {
                foreach (UVCMD.ControlTargets TmpCmd in KeyTargets)
                {
                    if (TmpCmd.Type != 0 && TmpCmd.Type != 255)
                    {
                        byte[] arayCMD = new byte[9 + ExtraLength];
                        arayCMD[0] = ID;
                        arayCMD[1] = byte.Parse(TmpCmd.ID.ToString());
                        arayCMD[2] = TmpCmd.Type;
                        arayCMD[3] = TmpCmd.SubnetID;
                        arayCMD[4] = TmpCmd.DeviceID;
                        arayCMD[5] = TmpCmd.Param1;
                        arayCMD[6] = TmpCmd.Param2;
                        arayCMD[7] = TmpCmd.Param3;   // save targets
                        arayCMD[8] = TmpCmd.Param4;
                        if (ExtraLength != 0)
                        {
                            if (ExtraLength == 3)
                            {
                                arayCMD[6 + ExtraLength] = 4;
                                arayCMD[7 + ExtraLength] = 0;
                                arayCMD[8 + ExtraLength] = 36;
                            }
                            else
                            {
                                arayCMD[8 + ExtraLength] = (Byte)RemoteAddress;
                            }
                        }
                        if (CsConst.mySends.AddBufToSndList(arayCMD, 0xE002, SubNetID, DeviceID, false, true, true, true) == false)
                        {
                            return;
                        }
                        HDLUDP.TimeBetwnNext(arayCMD.Length);
                        CsConst.myRevBuf = new byte[1200];
                    }
                }
            }
        }
Exemple #2
0
 private void btnSaveAlarm_Click(object sender, EventArgs e)
 {
     try
     {
         Cursor.Current = Cursors.WaitCursor;
         string str1 = cbAlarm1.Text.Trim();
         str1 = str1.Replace("C", "");
         string str = cbAlarm2.Text.Trim();
         str = str.Replace("A", "");
         byte[] arayTmp = new byte[4];
         arayTmp[0] = 1;
         arayTmp[1] = Convert.ToByte(str1);
         arayTmp[2] = Convert.ToByte(Convert.ToDecimal(str) * 10);
         arayTmp[3] = Convert.ToByte(sbAlarm.Value);
         if (arayTmp[2] > 140)
         {
             arayTmp[2] = 140;
         }
         if (arayTmp[2] < 50)
         {
             arayTmp[2] = 50;
         }
         if (CsConst.mySends.AddBufToSndList(arayTmp, 0x1D8E, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(mywdDevicerType)) == true)
         {
             HDLUDP.TimeBetwnNext(10);
             CsConst.myRevBuf = new byte[1200];
             Array.Copy(arayTmp, 1, oReceptacles.MyBasicInfo.arayAlarm, 0, 3);
         }
     }
     catch
     {
     }
     Cursor.Current = Cursors.Default;
 }
Exemple #3
0
 public void ReadFloorheatingAdvancedCommandsGroup(Byte SubNetID, Byte DeviceID, int DeviceType)
 {
     // read advance commands when playing
     AdvancedCommands = new UVCMD.ControlTargets[16];
     Byte[] ArayTmp = new byte[1];
     if (CsConst.isRestore)
     {
         for (byte bytI = 0; bytI <= 15; bytI++)
         {
             ArayTmp[0] = (Byte)(100 + bytI);
             if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x195A, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
             {
                 AdvancedCommands[bytI]          = new UVCMD.ControlTargets();
                 AdvancedCommands[bytI].ID       = CsConst.myRevBuf[26];
                 AdvancedCommands[bytI].Type     = CsConst.myRevBuf[27];
                 AdvancedCommands[bytI].SubnetID = CsConst.myRevBuf[28];
                 AdvancedCommands[bytI].DeviceID = CsConst.myRevBuf[29];
                 AdvancedCommands[bytI].Param1   = CsConst.myRevBuf[30];
                 AdvancedCommands[bytI].Param2   = CsConst.myRevBuf[31];
                 AdvancedCommands[bytI].Param3   = CsConst.myRevBuf[32];
                 AdvancedCommands[bytI].Param4   = CsConst.myRevBuf[33];
                 CsConst.myRevBuf = new byte[1200];
                 HDLUDP.TimeBetwnNext(10);
             }
             else
             {
                 return;
             }
         }
     }
 }
Exemple #4
0
        public void ModifyMusicAdvancedCommandsGroup(Byte SubNetID, Byte DeviceID, int DeviceType)
        {
            if (Targets == null)
            {
                return;
            }
            // read advance commands when playing
            Byte CmdID = 0;

            foreach (UVCMD.ControlTargets TmpCmd in Targets)
            {
                if (TmpCmd != null)
                {
                    byte[] arayCMD = new byte[9];
                    arayCMD[0] = CmdID;
                    arayCMD[1] = TmpCmd.Type;
                    arayCMD[2] = TmpCmd.SubnetID;
                    arayCMD[3] = TmpCmd.DeviceID;
                    arayCMD[4] = TmpCmd.Param1;
                    arayCMD[5] = TmpCmd.Param2;
                    arayCMD[6] = TmpCmd.Param3;   // save targets
                    arayCMD[7] = TmpCmd.Param4;
                    arayCMD[8] = ID;
                    CsConst.mySends.AddBufToSndList(arayCMD, 0x195C, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType));
                    HDLUDP.TimeBetwnNext(arayCMD.Length);
                }
                CmdID++;
            }
        }
Exemple #5
0
 public Boolean ReadSalveChannelWhenSlaveMode(Byte SubNetID, Byte DeviceID, int DeviceType)
 {
     try
     {
         if (ControlMode == 0) // 从机时读取
         {
             Byte[] ArayTmp = new byte[1];
             ArayTmp[0] = ID;
             if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1972, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true) //新版把目标独立出来
             {
                 Array.Copy(CsConst.myRevBuf, 25, CalculationModeTargets, 0, 34);
                 CsConst.myRevBuf = new byte[1200];
                 HDLUDP.TimeBetwnNext(1);
             }
             else
             {
                 return(false);
             }
         }
     }
     catch
     {
         return(false);
     }
     return(true);
 }
Exemple #6
0
 public Boolean ReadButtonRemark(byte SubNetID, byte DeviceID, int DeviceType, bool isShowMessage)
 {
     try
     {
         byte[] ArayTmp = null;
         int    CMD     = 0xE004;
         if (EnviroNewDeviceTypeList.EnviroNewPanelDeviceTypeList.Contains(DeviceType))
         {
             ArayTmp    = new byte[4];
             ArayTmp[0] = Convert.ToByte(ID + 1);
             ArayTmp[1] = 5;
             ArayTmp[2] = 0;
             ArayTmp[3] = 9;
         }
         //读取备注
         if (CsConst.mySends.AddBufToSndList(ArayTmp, CMD, SubNetID, DeviceID, false, isShowMessage, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
         {
             byte[] arayRemark = new byte[20];
             Array.Copy(CsConst.myRevBuf, 26, arayRemark, 0, 20);
             Remark = HDLPF.Byte2String(arayRemark);
             HDLUDP.TimeBetwnNext(1);
         }
         else
         {
             return(false);
         }
     }
     catch
     {
         return(false);
     }
     return(true);
 }
Exemple #7
0
 public bool DownLoadInfoFrmDevice(string DevNam, int wdDeviceType, int intActivePage, int num1, int num2)
 {
     string strMainRemark = DevNam.Split('\\')[1].Trim();
     DevNam = DevNam.Split('\\')[0].Trim();
     byte bytSubID = byte.Parse(DevNam.Split('-')[0].ToString());
     byte bytDevID = byte.Parse(DevNam.Split('-')[1].ToString());
     byte[] ArayTmp = null;
     if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x000E, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == false)
     {
         return false;
     }
     else
     {
         byte[] arayRemark = new byte[20];
         for (int intI = 0; intI < 20; intI++) { arayRemark[intI] = CsConst.myRevBuf[25 + intI]; }
         DeviceName = bytSubID.ToString() + "-" + bytDevID.ToString() + "\\" + HDLPF.Byte2String(arayRemark);
         CsConst.myRevBuf = new byte[1200];
     }
     if (CsConst.isRestore)
     {
         num1 = 1;
         num2 = 64;
     }
     if (intActivePage == 0 || intActivePage == 1)
     {
         myACSetting = new List<ThirdPartAC>();
         for (int i = num1; i <= num2; i++)
         {
             ArayTmp = new byte[1];
             ArayTmp[0] = Convert.ToByte(i);
             if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x0240, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
             {
                 ThirdPartAC temp = new ThirdPartAC();
                 temp.ID = Convert.ToByte(i);
                 temp.ACNO = CsConst.myRevBuf[26];
                 temp.Enable = CsConst.myRevBuf[27];
                 temp.CoolMasterAddress = CsConst.myRevBuf[28];
                 temp.GroupID = CsConst.myRevBuf[29];
                 temp.arayACinfo = new byte[10];
                 Array.Copy(CsConst.myRevBuf, 30, temp.arayACinfo, 0, 10);
                 CsConst.myRevBuf = new byte[1200];
                 HDLUDP.TimeBetwnNext(ArayTmp.Length);
                 if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x0244, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                 {
                     byte[] arayRemark = new byte[20];
                     Array.Copy(CsConst.myRevBuf, 26, arayRemark, 0, 20);
                     temp.Remark = HDLPF.Byte2String(arayRemark);
                     CsConst.myRevBuf = new byte[1200];
                     HDLUDP.TimeBetwnNext(ArayTmp.Length);
                 }
                 else return false;
                 myACSetting.Add(temp);
             }
             else return false;
             if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy) CsConst.calculationWorker.ReportProgress(i, null);
         }
     }
     if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy) CsConst.calculationWorker.ReportProgress(100, null);
     return true;
 }
Exemple #8
0
        public void DownloadLogicFalseCommandsFromDevice(Byte SubNetID, Byte DeviceID, int DeviceType, Byte bStartCmd, Byte bToCmd)
        {
            try
            {
                Byte  sumLogicCommandsInEveryBlock = 20;
                Byte  sumLogibBlockInModule        = 24;
                Int32 operationCode = 0x1612;
                if (Eightin1DeviceTypeList.HDL8in1DeviceType.Contains(DeviceType))
                {
                    operationCode                = 0x1654;
                    sumLogibBlockInModule        = Eightin1DeviceTypeList.TotalLogic;
                    sumLogicCommandsInEveryBlock = Eightin1DeviceTypeList.sumCommandsInEveryBlock;
                }

                if (bStartCmd == 0 && bToCmd == 0)
                {
                    bStartCmd = 1;
                    bToCmd    = sumLogicCommandsInEveryBlock;
                }

                //不成立的触发目标
                #region
                NoSetUp = new List <UVCMD.ControlTargets>();
                for (Byte bytJ = 1; bytJ <= sumLogicCommandsInEveryBlock; bytJ++)
                {
                    if (bytJ >= bStartCmd && bytJ <= bToCmd)
                    {
                        Byte[] ArayTmp = new byte[2] {
                            (Byte)(ID + sumLogibBlockInModule), bytJ
                        };
                        if (CsConst.mySends.AddBufToSndList(ArayTmp, operationCode, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
                        {
                            UVCMD.ControlTargets oCMD = new UVCMD.ControlTargets();
                            oCMD.ID   = CsConst.myRevBuf[27];
                            oCMD.Type = CsConst.myRevBuf[28];  //转换为正确的类型

                            oCMD.SubnetID    = CsConst.myRevBuf[29];
                            oCMD.DeviceID    = CsConst.myRevBuf[30];
                            oCMD.Param1      = CsConst.myRevBuf[31];
                            oCMD.Param2      = CsConst.myRevBuf[32];
                            oCMD.Param3      = CsConst.myRevBuf[33];
                            oCMD.Param4      = CsConst.myRevBuf[34];
                            CsConst.myRevBuf = new byte[1200];
                            NoSetUp.Add(oCMD);
                            CsConst.myRevBuf = new byte[1200];
                            HDLUDP.TimeBetwnNext(1);
                        }
                        else
                        {
                            return;
                        }
                    }
                }
                #endregion
            }
            catch { }
        }
Exemple #9
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                while (CsConst.bStartSimpleTesting)
                {
                    #region
                    DateTime d1, d2;

                    d1 = DateTime.Now;
                    d2 = DateTime.Now;
                    while (UDPReceive.receiveQueue.Count > 0 || HDLSysPF.Compare(d2, d1) < 20000)
                    {
                        if (NeedSendOutBuffer.Count == 0)
                        {
                            timer1.Enabled = false;
                            CsConst.bStartSimpleTesting = false;
                        }
                        d2 = DateTime.Now;
                        if (UDPReceive.receiveQueue.Count > 0)
                        {
                            byte[] readData = UDPReceive.receiveQueue.Dequeue();
                            if (readData[21] * 256 + readData[22] == 0xE548)
                            {
                                if (readData[16] == 0x0D)
                                {
                                    foreach (Byte[] ArayTmp in NeedSendOutBuffer)
                                    {
                                        CsConst.mySends.SendBufToRemote(ArayTmp, CsConst.myDestIP);
                                        HDLUDP.TimeBetwnNext(10);
                                        CsConst.bStartSimpleTesting = false;
                                    }
                                }
                                else
                                {
                                    for (int I = 0; I < (readData[16] - 0x0B - 2) / 2; I++)
                                    {
                                        for (int j = 0; j < NeedSendOutBuffer.Count; j++)
                                        {
                                            if (readData[17] == NeedSendOutBuffer[j][0] && readData[18] == NeedSendOutBuffer[j][1])
                                            {
                                                NeedSendOutBuffer.RemoveAt(j);
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #endregion
                }
            }
            catch
            {}
        }
Exemple #10
0
        public Boolean ModifyNormalCurtainSetupInformation(Byte SubNetID, Byte DeviceID, Byte CurtainID, int wdDeviceType)
        {
            Boolean blnSuccess = true;

            try
            {
                byte[] arayTmp = new byte[21];
                arayTmp[0] = CurtainID;

                byte[] arayTmp1 = HDLUDP.StringToByte(remark);
                arayTmp1.CopyTo(arayTmp, 1);

                if (CsConst.mySends.AddBufToSndList(arayTmp, 0xF010, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == false)
                {
                    return(false);
                }

                arayTmp    = new byte[3];
                arayTmp[0] = CurtainID;
                arayTmp[1] = byte.Parse((runTime / 256).ToString());   // modify valid or not
                arayTmp[2] = byte.Parse((runTime % 256).ToString());
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0xE802, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == false)
                {
                    return(false);
                }
                HDLUDP.TimeBetwnNext(20);

                arayTmp[1] = byte.Parse((onDelay / 256).ToString());   // modify valid or not
                arayTmp[2] = byte.Parse((onDelay % 256).ToString());
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0xE807, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == false)
                {
                    return(false);
                }
                HDLUDP.TimeBetwnNext(20);

                if (wdDeviceType != 707)
                {
                    arayTmp[1] = byte.Parse((offDelay / 256).ToString());      // modify off delay
                    arayTmp[2] = byte.Parse((offDelay % 256).ToString());
                    if (CsConst.mySends.AddBufToSndList(arayTmp, 0xE80B, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == false)
                    {
                        return(false);
                    }
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(20 * CurtainID);
                }
            }
            catch (Exception ex)
            {
            }
            return(blnSuccess);
        }
Exemple #11
0
        private void btnSaveTime_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                byte[] arayTmp = new byte[3];
                arayTmp[0] = 1;
                arayTmp[1] = byte.Parse((oCurtain.intJogTime / 256).ToString());
                arayTmp[2] = byte.Parse((oCurtain.intJogTime % 256).ToString());
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x1C74, SubNetID, DevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(mywdDeviceType)) == false)
                {
                    return;
                }
                HDLUDP.TimeBetwnNext(3);

                //if new curtain, add jog time to it
                arayTmp[0] = 2;
                arayTmp[1] = byte.Parse((oCurtain.intJogTime1 / 256).ToString());
                arayTmp[2] = byte.Parse((oCurtain.intJogTime1 % 256).ToString());
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x1C74, SubNetID, DevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(mywdDeviceType)) == false)
                {
                    return;
                }
                HDLUDP.TimeBetwnNext(20);
                Cursor.Current = Cursors.Default;

                arayTmp[0] = 3;
                arayTmp[1] = byte.Parse((oCurtain.intJogTime2 / 256).ToString());
                arayTmp[2] = byte.Parse((oCurtain.intJogTime2 % 256).ToString());
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x1C74, SubNetID, DevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(mywdDeviceType)) == false)
                {
                    return;
                }
                HDLUDP.TimeBetwnNext(20);
                Cursor.Current = Cursors.Default;

                arayTmp[0] = 4;
                arayTmp[1] = byte.Parse((oCurtain.intJogTime3 / 256).ToString());
                arayTmp[2] = byte.Parse((oCurtain.intJogTime3 % 256).ToString());
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x1C74, SubNetID, DevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(mywdDeviceType)) == false)
                {
                    return;
                }
                HDLUDP.TimeBetwnNext(20);
                Cursor.Current = Cursors.Default;
            }
            catch
            {
            }
            Cursor.Current = Cursors.Default;
        }
Exemple #12
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         Cursor.Current = Cursors.WaitCursor;
         if (tabControl1.SelectedIndex == 0)
         {
             byte[] arayTmp = new byte[4];
             for (int i = 0; i < dgvSlave.Rows.Count; i++)
             {
                 arayTmp[0] = Convert.ToByte(i + 1);
                 arayTmp[1] = Convert.ToByte(clS2.Items.IndexOf(dgvSlave[1, i].Value.ToString()));
                 arayTmp[2] = Convert.ToByte(HDLPF.IsNumStringMode(dgvSlave[2, i].Value.ToString(), 0, 255));
                 arayTmp[3] = Convert.ToByte(HDLPF.IsNumStringMode(dgvSlave[3, i].Value.ToString(), 0, 255));
                 if (CsConst.mySends.AddBufToSndList(arayTmp, 0xE0EA, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
                 {
                     HDLUDP.TimeBetwnNext(20);
                 }
                 else
                 {
                     break;
                 }
             }
         }
         else if (tabControl1.SelectedIndex == 1)
         {
             byte[] arayTmp = new byte[17];
             if (chbEnable.Checked)
             {
                 arayTmp[0] = 1;
             }
             for (int i = 0; i < dgvSyn.Rows.Count; i++)
             {
                 arayTmp[1 + 2 * i] = Convert.ToByte(HDLPF.IsNumStringMode(dgvSyn[1, i].Value.ToString(), 0, 255));
                 arayTmp[2 + 2 * i] = Convert.ToByte(HDLPF.IsNumStringMode(dgvSyn[2, i].Value.ToString(), 0, 255));
                 if (CsConst.mySends.AddBufToSndList(arayTmp, 0x1962, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
                 {
                 }
                 else
                 {
                     break;
                 }
             }
         }
     }
     catch
     {
     }
     Cursor.Current = Cursors.Default;
 }
Exemple #13
0
        private void btnRefMode_Click(object sender, EventArgs e)
        {
            setVisible(false);
            Cursor.Current = Cursors.WaitCursor;
            byte[] ArayTmp = new byte[0];

            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1C9A, SubNetID, DevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(MyintDeviceType)) == true)
            {
                Array.Copy(CsConst.myRevBuf, 25, oMHRCU.myHVAC.arayMode, 0, 4);
                HDLUDP.TimeBetwnNext(1);
            }
            else
            {
                Cursor.Current = Cursors.Default;
                return;
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(98);
            }

            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1C9E, SubNetID, DevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(MyintDeviceType)) == true)
            {
                Array.Copy(CsConst.myRevBuf, 25, oMHRCU.myHVAC.arayRelay, 0, 6);
                HDLUDP.TimeBetwnNext(1);
            }
            else
            {
                Cursor.Current = Cursors.Default;
                return;
            }
            ArayTmp = new byte[1];
            for (byte i = 0; i < 5; i++)
            {
                ArayTmp[0] = i;
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1CA2, SubNetID, DevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(MyintDeviceType)) == true)
                {
                    Array.Copy(CsConst.myRevBuf, 25, oMHRCU.myHVAC.araComplex, i * 7, 7);
                    HDLUDP.TimeBetwnNext(1);
                }
                else
                {
                    Cursor.Current = Cursors.Default;
                    return;
                }
            }
            showMODEInfo();
            Cursor.Current = Cursors.Default;
        }
Exemple #14
0
 public void ModifyPageVisibleOrNotInformation(Byte SubNetID, Byte DeviceID, int DeviceType)
 {
     if (DLPPanelDeviceTypeList.HDLDLPPanelDeviceTypeList.Contains(DeviceType))
     {
         if (otherInfo.bytAryShowPage != null)  //显示页面信息
         {
             if (CsConst.mySends.AddBufToSndList(otherInfo.bytAryShowPage, 0xE12E, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == false)
             {
                 return;
             }
             HDLUDP.TimeBetwnNext(otherInfo.bytAryShowPage.Length);
             CsConst.myRevBuf = new byte[1200];
         }
     }
 }
Exemple #15
0
        public Boolean SaveTemperatureSensor(Byte SubNetID, Byte DeviceID, int DeviceType)
        {
            Boolean blnIsSuccess = true;

            Byte[] bytTmp = new byte[33];   //温度传感器
            bytTmp[0] = bytTempSensor;
            if (bytTmp[0] != 0 && TempSensors != null)
            {
                TempSensors.CopyTo(bytTmp, 1);
            }
            blnIsSuccess = CsConst.mySends.AddBufToSndList(bytTmp, 0x1915, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType));
            HDLUDP.TimeBetwnNext(bytTmp.Length);
            CsConst.myRevBuf = new byte[1200];
            return(blnIsSuccess);
        }
Exemple #16
0
        /// <summary>
        /// 单独保存某个表格的目标
        /// </summary>
        /// <param name="bytSubID"></param>
        /// <param name="bytDevID"></param>
        /// <param name="bytLogicBlock"></param>
        /// <param name="bytTableID"></param>
        public void SaveLogicBlockOneTableCommandsGroup(Byte bytSubID, Byte bytDevID, Byte bytLogicBlock, Byte bytTableID)
        {
            Byte bytJ = 0;

            for (Byte TmpTableID = 1; TmpTableID <= MyDesign[bytLogicBlock].TableIDs[0]; TmpTableID++)
            {
                if (bytTableID == MyDesign[bytLogicBlock].TableIDs[TmpTableID])
                {
                    bytJ = (Byte)(TmpTableID);
                    break;
                }
            }
            if (bytJ != 0)
            {
                bytJ--;
            }
            #region
            //修改目标设置
            if (MyDesign[bytLogicBlock].ArmCmds != null && MyDesign[bytLogicBlock].ArmCmds.Length != 0 && MyDesign[bytLogicBlock].ArmCmds[bytJ] != null)
            {
                #region
                if (MyDesign[bytLogicBlock].ArmCmds[bytJ].Count != 0)
                {
                    Byte[] ArayTmp = new Byte[10];
                    ArayTmp[0] = 0;
                    ArayTmp[1] = (byte)(bytLogicBlock * 12 + bytTableID);

                    foreach (UVCMD.ControlTargets TmpCmd in MyDesign[bytLogicBlock].ArmCmds[bytJ])
                    {
                        ArayTmp[2] = byte.Parse(TmpCmd.ID.ToString());
                        ArayTmp[3] = TmpCmd.Type;
                        ArayTmp[4] = TmpCmd.SubnetID;
                        ArayTmp[5] = TmpCmd.DeviceID;
                        ArayTmp[6] = TmpCmd.Param1;
                        ArayTmp[7] = TmpCmd.Param2;
                        ArayTmp[8] = TmpCmd.Param3;   // save targets
                        ArayTmp[9] = TmpCmd.Param4;
                        if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xDA1E, bytSubID, bytDevID, false, true, true, false) == false)
                        {
                            return;
                        }
                        HDLUDP.TimeBetwnNext(ArayTmp.Length);
                    }
                }
                #endregion
            }
            #endregion
        }
Exemple #17
0
        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            if (tabControl1.SelectedIndex == 0)
            {
                byte[] arayTmp = new byte[1];
                dgvSlave.Rows.Clear();
                for (int i = 1; i <= 8; i++)
                {
                    arayTmp[0] = Convert.ToByte(i);
                    if (CsConst.mySends.AddBufToSndList(arayTmp, 0xE0E8, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
                    {
                        string strEnable = CsConst.mstrINIDefault.IniReadValue("Public", "99816", "");
                        if (CsConst.myRevBuf[27] == 1)
                        {
                            strEnable = CsConst.mstrINIDefault.IniReadValue("Public", "99817", "");
                        }
                        object[] obj = new object[] { i.ToString(), strEnable, CsConst.myRevBuf[28].ToString(), CsConst.myRevBuf[29].ToString() };
                        dgvSlave.Rows.Add(obj);

                        HDLUDP.TimeBetwnNext(20);
                    }
                    else
                    {
                        Cursor.Current = Cursors.Default;
                        break;
                    }
                }
            }
            else if (tabControl1.SelectedIndex == 1)
            {
                dgvSyn.Rows.Clear();
                byte[] arayTmp = new byte[0];
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x1960, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
                {
                    chbEnable.Checked = (CsConst.myRevBuf[25] == 1);
                    for (int i = 0; i < 8; i++)
                    {
                        object[] obj = new object[] { (i + 1).ToString(), CsConst.myRevBuf[26 + 2 * i], CsConst.myRevBuf[26 + 2 * i + 1] };
                        dgvSyn.Rows.Add(obj);
                    }
                }
            }
            Cursor.Current = Cursors.Default;
        }
Exemple #18
0
        private void btnSaveTemp_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            byte[] arayTmp = new byte[3];
            int    intTmp  = Convert.ToInt32(txtLux.Text);

            arayTmp[0] = Convert.ToByte(intTmp / 256);
            arayTmp[1] = Convert.ToByte(intTmp % 256);
            arayTmp[2] = Convert.ToByte(sbLcdLimit.Value.ToString());
            if (CsConst.mySends.AddBufToSndList(arayTmp, 0x3340, SubNetID, DevID, false, true, true, false) == true)
            {
                oNewDS.arayInfo[5] = arayTmp[0];
                oNewDS.arayInfo[6] = arayTmp[1];
                oNewDS.arayInfo[9] = arayTmp[2];
                HDLUDP.TimeBetwnNext(20);
            }
            Cursor.Current = Cursors.Default;
        }
Exemple #19
0
 private void btnrefence_Click(object sender, EventArgs e)
 {
     Cursor.Current = Cursors.WaitCursor;
     if (CsConst.mySends.AddBufToSndList(null, 0x3342, SubNetID, DevID, false, true, true, false) == true)
     {
         oNewDS.arayInfo[5] = CsConst.myRevBuf[25];
         oNewDS.arayInfo[6] = CsConst.myRevBuf[26];
         oNewDS.arayInfo[7] = CsConst.myRevBuf[27];
         oNewDS.arayInfo[8] = CsConst.myRevBuf[28];
         oNewDS.arayInfo[9] = CsConst.myRevBuf[29]; //  2016 12 28 new lcd level
         txtLux.Text        = (oNewDS.arayInfo[5] * 256 + oNewDS.arayInfo[6]).ToString();
         luLuxValue.Text    = (oNewDS.arayInfo[7] * 256 + oNewDS.arayInfo[8]).ToString() + " lux";
         sbLcdLimit.Value   = oNewDS.arayInfo[9];
         sbLcdLimit_ValueChanged(sbLcdLimit, null);
         HDLUDP.TimeBetwnNext(1);
     }
     Cursor.Current = Cursors.Default;
 }
Exemple #20
0
        public Boolean ReadDLPACPageCurrentStatus(Byte SubNetID, Byte DeviceID, int DeviceType)
        {
            Boolean blnIsSuccess = true;

            if (CsConst.mySends.AddBufToSndList(null, 0xE0EC, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
            {
                for (int i = 0; i < 10; i++)
                {
                    arayControl[i] = CsConst.myRevBuf[25 + i];
                }
                CsConst.myRevBuf = new byte[1200];
                HDLUDP.TimeBetwnNext(10);
            }
            else
            {
                blnIsSuccess = false;
            }
            return(blnIsSuccess);
        }
Exemple #21
0
 private void btnP1_Click(object sender, EventArgs e)
 {
     try
     {
         Cursor.Current = Cursors.WaitCursor;
         byte[] ArayTmp = new byte[0];
         if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1D8C, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(mywdDevicerType)) == true)
         {
             Array.Copy(CsConst.myRevBuf, 26, oReceptacles.MyBasicInfo.araAdjustP, 0, 2);
             HDLUDP.TimeBetwnNext(10);
             CsConst.myRevBuf = new byte[1200];
             showAdjust();
         }
     }
     catch
     {
     }
     Cursor.Current = Cursors.Default;
 }
        private void btnModify_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            byte[] arayRemark = new byte[20];
            string strRemark  = "";

            byte[] arayTmp2 = HDLUDP.StringToByte(strRemark);
            if (arayTmp2.Length > 20)
            {
                Array.Copy(arayTmp2, 0, arayRemark, 0, 20);
            }
            else
            {
                Array.Copy(arayTmp2, 0, arayRemark, 0, arayTmp2.Length);
            }
            byte[] araySendIR = new byte[12];
            araySendIR[0] = Convert.ToByte(Convert.ToInt32(dgvIR[0, dgvIR.CurrentRow.Index].Value.ToString()) - 1);
            araySendIR[1] = 0;
            for (int K = 0; K <= 9; K++)
            {
                araySendIR[2 + K] = arayRemark[K];
            }
            if (CsConst.mySends.AddBufToSndList(araySendIR, 0xD90E, SubNetID, DevID, false, true, true, false) == true)
            {
                HDLUDP.TimeBetwnNext(araySendIR.Length);
                CsConst.myRevBuf = new byte[1200];
            }

            araySendIR[1] = 1;    //save the remark then
            for (int K = 0; K <= 9; K++)
            {
                araySendIR[2 + K] = arayRemark[10 + K];
            }

            if (CsConst.mySends.AddBufToSndList(araySendIR, 0xD90E, SubNetID, DevID, false, true, true, false) == true)
            {
                HDLUDP.TimeBetwnNext(araySendIR.Length);
                CsConst.myRevBuf = new byte[1200];
            }
            Cursor.Current = Cursors.Default;
        }
Exemple #23
0
        public Boolean SaveHVACAddressAndAdjustValue(Byte SubNetID, Byte DeviceID, int DeviceType, Byte AdjustValue)
        {
            Boolean blnIsSuccess = true;

            if (MyHVAC != null)
            {
                Byte[] bytTmp = new byte[8];   //HVAC基本设置
                bytTmp[0]    = Convert.ToByte(IsEnable);
                bytTmp[1]    = MyHVAC.SubnetID;
                bytTmp[2]    = MyHVAC.DeviceID;
                bytTmp[3]    = AdjustValue;
                bytTmp[4]    = ACNo;
                bytTmp[5]    = ACType;
                bytTmp[6]    = bytIRON;
                bytTmp[7]    = AcPowerOn;
                blnIsSuccess = CsConst.mySends.AddBufToSndList(bytTmp, 0xE0E6, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType));
                HDLUDP.TimeBetwnNext(bytTmp.Length);
                CsConst.myRevBuf = new byte[1200];
            }
            return(blnIsSuccess);
        }
Exemple #24
0
        public Boolean SaveHVACModeAndFan(Byte SubNetID, Byte DeviceID, int DeviceType)
        {
            Boolean blnIsSuccess = true;

            Byte[] ArayTmp = new byte[11];  // 显示模式 + 风速
            ArayTmp[0] = 0;
            byte bytIndex = 1;

            bytAryWind.CopyTo(ArayTmp, 0);
            bytAryMode.CopyTo(ArayTmp, 5);

            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(45);
            }
            blnIsSuccess = CsConst.mySends.AddBufToSndList(ArayTmp, 0xE126, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType));
            HDLUDP.TimeBetwnNext(ArayTmp.Length);
            CsConst.myRevBuf = new byte[1200];

            return(blnIsSuccess);
        }
Exemple #25
0
 public Boolean ReadMusicAdvancedCommandsGroup(Byte SubNetID, Byte DeviceID, int DeviceType)
 {
     try
     {
         // read advance commands when playing
         Targets = new UVCMD.ControlTargets[14];
         Byte[] ArayTmp = new byte[2];
         if (CsConst.isRestore)
         {
             for (byte bytI = 0; bytI <= 13; bytI++)
             {
                 ArayTmp = new Byte[] { (Byte)(bytI), ID };
                 if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x195A, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
                 {
                     Targets[bytI]          = new UVCMD.ControlTargets();
                     Targets[bytI].ID       = CsConst.myRevBuf[26];
                     Targets[bytI].Type     = CsConst.myRevBuf[27];
                     Targets[bytI].SubnetID = CsConst.myRevBuf[28];
                     Targets[bytI].DeviceID = CsConst.myRevBuf[29];
                     Targets[bytI].Param1   = CsConst.myRevBuf[30];
                     Targets[bytI].Param2   = CsConst.myRevBuf[31];
                     Targets[bytI].Param3   = CsConst.myRevBuf[32];
                     Targets[bytI].Param4   = CsConst.myRevBuf[33];
                     CsConst.myRevBuf       = new byte[1200];
                     HDLUDP.TimeBetwnNext(10);
                 }
                 else
                 {
                     return(false);
                 }
             }
         }
     }
     catch
     {
         return(false);
     }
     return(true);
 }
Exemple #26
0
        public bool UploadInfosToDevice(string DevNam, int wdDeviceType, int intActivePage)
        {
            string strMainRemark = DevNam.Split('\\')[1].Trim();

            DevNam = DevNam.Split('\\')[0].Trim();
            byte bytSubID   = byte.Parse(DevNam.Split('-')[0].ToString());
            byte bytDevID   = byte.Parse(DevNam.Split('-')[1].ToString());
            int  wdMaxValue = DeviceTypeList.GetMaxValueFromPublicModeGroup(wdDeviceType);

            byte[] arayTmp = new byte[20];

            if (HDLSysPF.ModifyDeviceMainRemark(bytSubID, bytDevID, strMainRemark, wdDeviceType) == true)
            {
                HDLUDP.TimeBetwnNext(20);
            }
            else
            {
                return(false);
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(5, null);
            }
            if (intActivePage == 0 || intActivePage == 1)
            {
                if (strNO == "")
                {
                    strNO = "0000";
                }
                if (strPassword == "")
                {
                    strPassword = "******";
                }
                if (strNO.Length < 4)
                {
                    strNO = GlobalClass.AddLeftZero(strNO, 4);
                }
                if (strPassword.Length < 4)
                {
                    strPassword = GlobalClass.AddLeftZero(strPassword, 6);
                }
                arayTmp = HDLUDP.StringToByte(strNO + strPassword);
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x352F, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    HDLUDP.TimeBetwnNext(20);
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(6, null);
                }


                if (CsConst.mySends.AddBufToSndList(arayBasic, 0x3527, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    HDLUDP.TimeBetwnNext(20);
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(6, null);
                }

                arayTmp    = new byte[2];
                arayTmp[0] = arayInfo[0];
                arayTmp[1] = arayInfo[1];
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x350E, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    HDLUDP.TimeBetwnNext(20);
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(7, null);
                }

                arayTmp = new byte[11];
                Array.Copy(arayCall, 0, arayTmp, 0, 11);
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x138C, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    HDLUDP.TimeBetwnNext(20);
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(8, null);
                }

                arayTmp    = new byte[2];
                arayTmp[0] = arayInfo[3];
                arayTmp[1] = arayInfo[4];
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x353D, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    HDLUDP.TimeBetwnNext(20);
                }
                else
                {
                    return(false);
                }

                arayTmp    = new byte[2];
                arayTmp[0] = arayInfo[5];
                arayTmp[1] = arayInfo[6];
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x3340, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    HDLUDP.TimeBetwnNext(20);
                }
                else
                {
                    return(false);
                }

                arayTmp = new byte[1] {
                    arayInfo[2]
                };
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x3535, bytSubID, bytDevID, false, false, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    HDLUDP.TimeBetwnNext(20);
                }

                arayTmp = new byte[1] {
                    bEnableCard
                };
                if (CsConst.mySends.AddBufToSndList(arayTmp, 0x3346, bytSubID, bytDevID, false, false, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    HDLUDP.TimeBetwnNext(20);
                }
            }

            if (CsConst.isRestore)
            {
                if (intActivePage == 0 || intActivePage == 2)
                {
                    for (int i = 0; i < MyCardInfo.Count; i++)
                    {
                        if (MyCardInfo[i].CardType != 0 && MyCardInfo[i].CardType != 0xFF)
                        {
                            CardInfo tmp = MyCardInfo[i];
                            arayTmp    = new byte[64];
                            arayTmp[0] = tmp.UIDL;
                            Array.Copy(tmp.UID, 0, arayTmp, 1, tmp.UIDL);
                            arayTmp[11] = tmp.CardType;
                            arayTmp[12] = Convert.ToByte(tmp.CardNum / 256);
                            arayTmp[13] = Convert.ToByte(tmp.CardNum % 256);
                            arayTmp[14] = Convert.ToByte(tmp.BuildingNO / 256);
                            arayTmp[15] = Convert.ToByte(tmp.BuildingNO % 256);
                            arayTmp[16] = Convert.ToByte(tmp.UnitNO / 256);
                            arayTmp[17] = Convert.ToByte(tmp.UnitNO % 256);
                            arayTmp[18] = Convert.ToByte(tmp.RoomNO / 256);
                            arayTmp[19] = Convert.ToByte(tmp.RoomNO % 256);
                            Array.Copy(tmp.arayDate, 0, arayTmp, 20, tmp.arayDate.Length);
                            Array.Copy(tmp.arayName, 0, arayTmp, 25, tmp.arayName.Length);
                            Array.Copy(tmp.arayPhone, 0, arayTmp, 35, tmp.arayPhone.Length);

                            Byte[] arayTmpRemark = HDLUDP.StringToByte(tmp.Remark);
                            if (arayTmpRemark.Length > 18)
                            {
                                Array.Copy(arayTmpRemark, 0, arayTmp, 46, 18);
                            }
                            else
                            {
                                Array.Copy(arayTmpRemark, 0, arayTmp, 46, arayTmpRemark.Length);
                            }

                            if (CsConst.mySends.AddBufToSndList(arayTmp, 0x3518, bytSubID, bytDevID, false, false, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                            {
                                HDLUDP.TimeBetwnNext(20);
                            }
                            else
                            {
                                return(false);
                            }
                            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                            {
                                CsConst.calculationWorker.ReportProgress(15 + i, null);
                            }
                        }
                    }
                }
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(100, null);
            }
            return(true);
        }
Exemple #27
0
        public bool DownLoadInfoFrmDevice(string DevNam, int wdDeviceType, int intActivePage, int num1, int num2)
        {
            string strMainRemark = DevNam.Split('\\')[1].Trim();

            DevNam = DevNam.Split('\\')[0].Trim();
            byte bytSubID = byte.Parse(DevNam.Split('-')[0].ToString());
            byte bytDevID = byte.Parse(DevNam.Split('-')[1].ToString());

            byte[] ArayTmp = null;
            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x000E, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
            {
                byte[] arayRemark = new byte[20];
                for (int intI = 0; intI < 20; intI++)
                {
                    arayRemark[intI] = CsConst.myRevBuf[25 + intI];
                }
                DevNam = bytSubID.ToString() + "-" + bytDevID.ToString() + "\\" + HDLPF.Byte2String(arayRemark);

                HDLUDP.TimeBetwnNext(1);
            }
            else
            {
                return(false);
            }

            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(5, null);
            }
            if (intActivePage == 0 || intActivePage == 1)
            {
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x352D, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    byte[] arayRemark = new byte[4];
                    Array.Copy(CsConst.myRevBuf, 25, arayRemark, 0, 4);
                    strNO      = HDLPF.Byte2String(arayRemark);
                    arayRemark = new byte[6];
                    Array.Copy(CsConst.myRevBuf, 29, arayRemark, 0, 6);
                    strPassword = HDLPF.Byte2String(arayRemark);
                    if (strNO == "")
                    {
                        strNO = "0000";
                    }
                    if (strNO.Length < 4)
                    {
                        strNO = GlobalClass.AddLeftZero(strNO, 4);
                    }

                    HDLUDP.TimeBetwnNext(1);
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(6, null);
                }

                arayBasic = new byte[] { 7, 7, 7, 7, 0 };
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x3525, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    Array.Copy(CsConst.myRevBuf, 25, arayBasic, 0, 5);
                    if (arayBasic[0] < 1 || arayBasic[0] > 7)
                    {
                        arayBasic[0] = 7;
                    }
                    if (arayBasic[1] < 1 || arayBasic[1] > 7)
                    {
                        arayBasic[1] = 7;
                    }
                    if (arayBasic[2] < 1 || arayBasic[2] > 7)
                    {
                        arayBasic[2] = 7;
                    }
                    if (arayBasic[3] < 1 || arayBasic[3] > 7)
                    {
                        arayBasic[3] = 7;
                    }

                    HDLUDP.TimeBetwnNext(1);
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(7, null);
                }

                arayInfo = new byte[20];
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x350C, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    arayInfo[0] = CsConst.myRevBuf[25];
                    arayInfo[1] = CsConst.myRevBuf[26];

                    HDLUDP.TimeBetwnNext(1);
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(8, null);
                }

                arayCall = new byte[20];
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x138E, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    Array.Copy(CsConst.myRevBuf, 25, arayCall, 0, 11);
                    HDLUDP.TimeBetwnNext(1);
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(9, null);
                }
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x3533, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    arayInfo[2] = CsConst.myRevBuf[25];
                    HDLUDP.TimeBetwnNext(1);
                }
                else
                {
                    return(false);
                }

                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x353B, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    arayInfo[3] = CsConst.myRevBuf[25];
                    arayInfo[4] = CsConst.myRevBuf[26];
                    HDLUDP.TimeBetwnNext(1);
                }
                else
                {
                    return(false);
                }

                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x3342, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    arayInfo[5] = CsConst.myRevBuf[25];
                    arayInfo[6] = CsConst.myRevBuf[26];
                    arayInfo[7] = CsConst.myRevBuf[27];
                    arayInfo[8] = CsConst.myRevBuf[28];
                    arayInfo[9] = CsConst.myRevBuf[29];
                    HDLUDP.TimeBetwnNext(1);
                }
                else
                {
                    return(false);
                }

                //刷卡使能位
                if (CsConst.mySends.AddBufToSndList(null, 0x3344, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    bEnableCard = CsConst.myRevBuf[25];
                    HDLUDP.TimeBetwnNext(1);
                }
                else
                {
                    return(false);
                }
            }
            if (intActivePage == 0 || intActivePage == 2)
            {
                MyCardInfo = new List <CardInfo>();
                for (int i = 0; i < 32; i++)
                {
                    CardInfo temp = new CardInfo();
                    temp.UID        = new byte[10];
                    temp.UIDL       = 0;
                    temp.CardType   = 0;
                    temp.CardNum    = Convert.ToByte(i + 1);
                    temp.BuildingNO = 0;
                    temp.RoomNO     = 0;
                    temp.UnitNO     = 0;
                    temp.arayDate   = new byte[5];
                    temp.arayPhone  = new byte[11];
                    temp.arayName   = new byte[10];
                    temp.Remark     = "";
                    MyCardInfo.Add(temp);
                }

                ArayTmp    = new byte[4];
                ArayTmp[0] = 0;
                ArayTmp[1] = 0;
                ArayTmp[2] = 0;
                ArayTmp[3] = 32;
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xE474, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    byte[] arayValid = new byte[4];
                    Array.Copy(CsConst.myRevBuf, 29, arayValid, 0, 4);
                    string strEnable = "";
                    for (int i = 0; i < 4; i++)
                    {
                        string strTmp = GlobalClass.AddLeftZero(Convert.ToString(arayValid[i], 2), 8);
                        for (int j = 7; j >= 0; j--)
                        {
                            string str = strTmp.Substring(j, 1);
                            strEnable = strEnable + str;
                        }
                    }
                    for (int i = 0; i < 32; i++)
                    {
                        if (strEnable.Substring(i, 1) == "1")
                        {
                            ArayTmp    = new byte[2];
                            ArayTmp[0] = 0;
                            ArayTmp[1] = Convert.ToByte(i + 1);
                            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x3516, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                            {
                                MyCardInfo[i].UIDL = CsConst.myRevBuf[26];
                                Array.Copy(CsConst.myRevBuf, 27, MyCardInfo[i].UID, 0, 10);
                                MyCardInfo[i].CardType   = CsConst.myRevBuf[37];
                                MyCardInfo[i].BuildingNO = CsConst.myRevBuf[40] * 256 + CsConst.myRevBuf[41];
                                MyCardInfo[i].UnitNO     = CsConst.myRevBuf[42] * 256 + CsConst.myRevBuf[43];
                                MyCardInfo[i].RoomNO     = CsConst.myRevBuf[44] * 256 + CsConst.myRevBuf[45];
                                Array.Copy(CsConst.myRevBuf, 46, MyCardInfo[i].arayDate, 0, 5);
                                Array.Copy(CsConst.myRevBuf, 51, MyCardInfo[i].arayName, 0, 10);
                                Array.Copy(CsConst.myRevBuf, 61, MyCardInfo[i].arayPhone, 0, 11);
                                byte[] arayRemark = new byte[18];
                                for (int intI = 0; intI < 18; intI++)
                                {
                                    arayRemark[intI] = CsConst.myRevBuf[72 + intI];
                                }
                                MyCardInfo[i].Remark = HDLPF.Byte2String(arayRemark);

                                HDLUDP.TimeBetwnNext(1);
                            }
                            else
                            {
                                return(false);
                            }
                            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                            {
                                CsConst.calculationWorker.ReportProgress(10 + i, null);
                            }
                        }
                    }
                }
                else
                {
                    return(false);
                }
                MyRead2UpFlags[1] = true;
            }
            if (intActivePage == 0 || intActivePage == 3)
            {
                MyHistory  = new List <History>();
                ArayTmp    = new byte[2];
                ArayTmp[0] = 0;
                ArayTmp[1] = 1;
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x3512, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                {
                    if (CsConst.myRevBuf[25] == 0xF8)
                    {
                        HistoryCount = CsConst.myRevBuf[28] * 256 + CsConst.myRevBuf[29];
                    }
                    else
                    {
                        HistoryCount = 0;
                    }

                    HDLUDP.TimeBetwnNext(1);
                    if (HistoryCount > 0)
                    {
                        for (int i = num1; i <= num2; i++)
                        {
                            ArayTmp[0] = Convert.ToByte(i / 256);
                            ArayTmp[1] = Convert.ToByte(i % 256);
                            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x3512, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                            {
                                if (CsConst.myRevBuf[25] == 0xF8)
                                {
                                    History temp = new History();
                                    temp.ID       = i;
                                    temp.arayDate = new byte[6];
                                    Array.Copy(CsConst.myRevBuf, 30, temp.arayDate, 0, 6);
                                    temp.Type     = CsConst.myRevBuf[36];
                                    temp.arayInfo = new byte[25];
                                    Array.Copy(CsConst.myRevBuf, 37, temp.arayInfo, 0, 25);
                                    MyHistory.Add(temp);

                                    HDLUDP.TimeBetwnNext(1);
                                }
                                else
                                {
                                    return(false);
                                }
                            }
                            else
                            {
                                return(false);
                            }

                            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                            {
                                CsConst.calculationWorker.ReportProgress(50 + (i - num1) * 40 / (num2 - num1 + 1), null);
                            }
                        }
                    }
                }
                else
                {
                    return(false);
                }
                MyRead2UpFlags[2] = true;
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(100, null);
            }
            return(true);
        }
Exemple #28
0
        public Boolean UploadACSettingToDevice(Byte SubNetID, Byte DeviceID, int DeviceType, Byte TemperatureType, Byte FhLowLimit, Byte FhHighLimit, Byte AdjustValue)
        {
            Boolean blnIsSuccess = true;

            #region
            if (CsConst.mintDLPDeviceType.Contains(DeviceType))
            {
                if (this != null)
                {
                    byte[] bytTmp = new byte[1];//显示温度类型
                    bytTmp[0] = TemperatureType;
                    if (CsConst.mySends.AddBufToSndList(bytTmp, 0xE122, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == false)
                    {
                        return(false);
                    }
                    HDLUDP.TimeBetwnNext(1);
                    CsConst.myRevBuf = new byte[1200];

                    bytTmp    = new byte[2]; //要不要省电模式,扫风
                    bytTmp[0] = bytSavePower;
                    bytTmp[1] = bytWind;
                    if (CsConst.mySends.AddBufToSndList(bytTmp, 0x1911, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == false)
                    {
                        return(false);
                    }
                    HDLUDP.TimeBetwnNext(2);
                    CsConst.myRevBuf = new byte[1200];

                    bytTmp    = new byte[11]; // 温度范围
                    bytTmp[6] = TemperatureType;
                    for (byte bytI = 0; bytI < 6; bytI++)
                    {
                        bytTmp[bytI] = bytTempArea[bytI];
                    }
                    bytTmp[7]  = bytTempArea[6];
                    bytTmp[8]  = bytTempArea[7];
                    bytTmp[9]  = FhLowLimit;
                    bytTmp[10] = FhHighLimit;
                    if (CsConst.mySends.AddBufToSndList(bytTmp, 0x1902, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == false)
                    {
                        return(false);
                    }
                    HDLUDP.TimeBetwnNext(bytTmp.Length);
                    CsConst.myRevBuf = new byte[1200];

                    //模式和风速
                    blnIsSuccess = SaveHVACModeAndFan(SubNetID, DeviceID, DeviceType);



                    //红外控制空调
                    blnIsSuccess = SaveIrControlHVACFlag(SubNetID, DeviceID, DeviceType);

                    //红外自动控制
                    blnIsSuccess = SaveIrAutoControlHVACFlag(SubNetID, DeviceID, DeviceType);

                    blnIsSuccess = SaveHVACAddressAndAdjustValue(SubNetID, DeviceID, DeviceType, AdjustValue);
                }
            }
            #endregion
            return(blnIsSuccess);
        }
Exemple #29
0
        public void DownloadACSettingFromDevice(Byte SubNetID, Byte DeviceID, int DeviceType, ref Byte AdjustValue, ref Byte FhLowLimit, ref Byte FhHighLimit)
        {
            #region
            Byte[] ArayTmp = new Byte[0];

            MyHVAC      = new DeviceInfo("0-0");
            arayControl = new byte[10];
            // HVAC basic setup
            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xE0E4, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)  // read temperature type
            {
                IsEnable = (CsConst.myRevBuf[26] == 1);

                MyHVAC           = new DeviceInfo(CsConst.myRevBuf[27] + "-" + CsConst.myRevBuf[28] + @"\" + " "); //HVAC子网ID
                AdjustValue      = CsConst.myRevBuf[29];                                                           //补偿值
                ACNo             = CsConst.myRevBuf[30];                                                           // 空调ID
                ACType           = CsConst.myRevBuf[31];                                                           // 控制类型,新旧红外码之分
                bytIRON          = CsConst.myRevBuf[32];                                                           //红外上电控制
                AcPowerOn        = CsConst.myRevBuf[33];                                                           //上电保存
                CsConst.myRevBuf = new byte[1200];
                HDLUDP.TimeBetwnNext(10);
            }
            else
            {
                return;
            }

            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xE124, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)  // read mode
            {
                bytAryWind = new byte[5];
                for (byte bytI = 0; bytI < 5; bytI++)
                {
                    bytAryWind[bytI] = CsConst.myRevBuf[25 + bytI];
                }

                bytAryMode = new byte[6];
                for (byte bytI = 0; bytI < 5; bytI++)
                {
                    bytAryMode[bytI] = CsConst.myRevBuf[30 + bytI];
                }
                CsConst.myRevBuf = new byte[1200];
                HDLUDP.TimeBetwnNext(1);
            }
            else
            {
                return;
            }

            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1900, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)  // read temperature range
            {
                bytTempArea = new byte[8];
                for (byte bytI = 0; bytI < 6; bytI++)
                {
                    bytTempArea[bytI] = CsConst.myRevBuf[25 + bytI];
                }
                bytTempArea[6] = CsConst.myRevBuf[32];
                bytTempArea[7] = CsConst.myRevBuf[33];

                FhLowLimit       = CsConst.myRevBuf[34];
                FhHighLimit      = CsConst.myRevBuf[35];
                CsConst.myRevBuf = new byte[1200];
                HDLUDP.TimeBetwnNext(1);
            }
            else
            {
                return;
            }

            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1913, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)  // read temperature sensors
            {
                bytTempSensor = CsConst.myRevBuf[25];

                TempSensors = new byte[32];
                Array.Copy(CsConst.myRevBuf, 26, TempSensors, 0, 32);
                CsConst.myRevBuf = new byte[1200];
                HDLUDP.TimeBetwnNext(10);
            }
            else
            {
                return;
            }

            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x190F, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)  // read power saving or wind
            {
                bytSavePower     = CsConst.myRevBuf[25];
                bytWind          = CsConst.myRevBuf[26];
                CsConst.myRevBuf = new byte[1200];
                HDLUDP.TimeBetwnNext(10);
            }
            else
            {
                return;
            }

            if (CsConst.mySends.AddBufToSndList(null, 0xE0F0, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
            {//红外控制空调
                bytSendIR = CsConst.myRevBuf[25];
                HDLUDP.TimeBetwnNext(10);
            }
            else
            {
                return;
            }

            if (CsConst.mySends.AddBufToSndList(null, 0x1906, SubNetID, DeviceID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(DeviceType)) == true)
            {//红外自动控制
                bytRunMode       = Convert.ToByte((CsConst.myRevBuf[25] >> 4) & 0x0F);
                bytAutoControl   = Convert.ToByte(CsConst.myRevBuf[25] & 0x0F);
                CsConst.myRevBuf = new byte[1200];
                HDLUDP.TimeBetwnNext(10);
            }
            else
            {
                return;
            }
            #endregion
        }
Exemple #30
0
        /// <summary>
        /// 下载所有数据
        /// </summary>
        /// <param name="DevName"></param>
        /// <returns></returns>
        public bool DownloadEIBInforsFrmDevice(string DevName, int wdDeviceType, int intActivePage, int num1, int num2)
        {
            string strMainRemark = DevName.Split('\\')[1].Trim();

            DevName = DevName.Split('\\')[0].Trim();

            byte bytSubID = byte.Parse(DevName.Split('-')[0].ToString());
            byte bytDevID = byte.Parse(DevName.Split('-')[1].ToString());

            byte[] ArayTmp = new byte[0];
            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x000E, bytSubID, bytDevID, false, true, true, false) == false)
            {
                return(false);
            }
            else
            {
                byte[] arayRemark = new byte[20];
                for (int intI = 0; intI < 20; intI++)
                {
                    arayRemark[intI] = CsConst.myRevBuf[25 + intI];
                }
                DevName          = bytSubID.ToString() + "-" + bytDevID.ToString() + "-" + HDLPF.Byte2String(arayRemark);
                CsConst.myRevBuf = new byte[1200];
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(1);
            }

            if (intActivePage == 0)
            {
                // 读取基本信息bacnet地址设置
                #region
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xBACE, bytSubID, bytDevID, false, true, true, false) == true)
                {
                    Address = CsConst.myRevBuf[25] * 256 * 256 * 256
                              + CsConst.myRevBuf[26] * 256 * 256
                              + CsConst.myRevBuf[27] * 256
                              + CsConst.myRevBuf[28];
                    CsConst.myRevBuf = new byte[1200];
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(3);
                }
                #endregion

                //读取bacnet端口
                #region
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x180D, bytSubID, bytDevID, false, true, true, false) == true)
                {
                    blnSwitch = (CsConst.myRevBuf[26] == 1);
                    intPort   = CsConst.myRevBuf[31] * 256 + CsConst.myRevBuf[32];
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(3);
                }
                #endregion

                // 读取转换信息列表
                //读取bacnet个数
                #region

                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xBAC6, bytSubID, bytDevID, false, true, true, false) == true)
                {
                    ValidCount       = CsConst.myRevBuf[25] * 256 + CsConst.myRevBuf[26];
                    CsConst.myRevBuf = new byte[1200];
                }
                else
                {
                    return(false);
                }
                if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                {
                    CsConst.calculationWorker.ReportProgress(3);
                }
                #endregion
            }
            if (intActivePage == 0 || intActivePage == 1)
            {
                #region
                ArayTmp   = new byte[1];
                otherInfo = new List <OtherInfo>();
                for (int i = num1; i <= num2; i++)
                {
                    OtherInfo ch = new OtherInfo();

                    ArayTmp[0] = (byte)(i);
                    if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xBAC4, bytSubID, bytDevID, false, true, true, false) == true)
                    {
                        if (CsConst.myRevBuf != null)
                        {
                            ch.ID = CsConst.myRevBuf[26];
                            ch.BackNetIDAry[0] = CsConst.myRevBuf[27];
                            ch.BackNetIDAry[1] = CsConst.myRevBuf[28];
                            ch.BackNetIDAry[2] = CsConst.myRevBuf[29];
                            ch.BackNetIDAry[3] = CsConst.myRevBuf[30];
                            ch.Type            = CsConst.myRevBuf[32] * 256 + CsConst.myRevBuf[31];
                            ch.strDevName      = CsConst.myRevBuf[39].ToString() + " / " + CsConst.myRevBuf[40].ToString();
                            ch.Param1          = CsConst.myRevBuf[41];
                            ch.Param2          = CsConst.myRevBuf[42];
                            ch.Param3          = CsConst.myRevBuf[43];
                            ch.Param4          = CsConst.myRevBuf[44];
                            byte[] arayRemark = new byte[40];
                            for (int intJ = 0; intJ < 40; intJ++)
                            {
                                arayRemark[intJ] = CsConst.myRevBuf[49 + intJ];
                            }
                            ch.Remark = HDLPF.Byte2String(arayRemark);
                        }
                        CsConst.myRevBuf = new byte[1200];
                        HDLUDP.TimeBetwnNext(10);
                        otherInfo.Add(ch);
                    }
                    else
                    {
                        return(false);
                    }
                    if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                    {
                        CsConst.calculationWorker.ReportProgress(i / 3, null);
                    }
                }
                #endregion
            }
            MyRead2UpFlags[0] = true;
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(100, null);
            }
            return(true);
        }