Пример #1
0
        /// <summary>
        /// Upload all information from hardware
        /// </summary>
        /// <param name="DevName"></param>
        public void UploadSMSFrmDeviceToBuf(string DevName, int wdDeviceType, int intActivePage)// 0 mean all, else that tab only
        {
            string strRemark = DevName.Split('\\')[1].Trim().Split('(')[0].Trim();

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

            //保存basic informations网络信息
            byte bytSubID = byte.Parse(DevName.Split('-')[0].ToString());
            byte bytDevID = byte.Parse(DevName.Split('-')[1].ToString());

            byte[] ArayMain = new byte[20];
            byte[] arayTmp  = HDLUDP.StringToByte(strRemark);
            if (arayTmp.Length > 20)
            {
                Array.Copy(arayTmp, 0, ArayMain, 0, 20);
            }
            else
            {
                Array.Copy(arayTmp, 0, ArayMain, 0, arayTmp.Length);
            }
            if (CsConst.isRestore)
            {
                if (CsConst.mySends.AddBufToSndList(ArayMain, 0x0010, bytSubID, bytDevID, false, true, true, false) == true)
                {
                    HDLUDP.TimeBetwnNext(20);
                }
                else
                {
                    return;
                }
            }
            //save receive message and control HDL devices
            if (intActivePage == 0 || intActivePage == 1)
            {
                #region
                byte bytID = 0;
                if (MyControls != null)
                {
                    foreach (SMSControls oTmpSMS in MyControls)
                    {
                        ArayMain = new byte[871];
                        //添加备注到缓存
                        ArayMain[0] = Convert.ToByte(oTmpSMS.ID);
                        strRemark   = oTmpSMS.strRemark;
                        byte[] ArayRemark = HDLUDP.StringToByte(strRemark);
                        if (ArayRemark.Length <= 20)
                        {
                            Array.Copy(ArayRemark, 0, ArayMain, 1, ArayRemark.Length);
                        }
                        else
                        {
                            Array.Copy(ArayRemark, 0, ArayMain, 1, 20);
                        }
                        //添加短信内容到缓存
                        ArayRemark = HDLUDP.StringTo2Byte(oTmpSMS.strSMSContent, true);
                        Array.Copy(ArayRemark, 0, ArayMain, 21, ArayRemark.Length);

                        //添加12组信息到缓存 类似与初始化数据
                        for (int intI = 0; intI < 12; intI++)
                        {
                            for (int intJ = 0; intJ < 20; intJ++)
                            {
                                ArayMain[53 + intI * 36 + intJ] = 0;
                            }
                            for (int intJ = 0; intJ < 16; intJ++)
                            {
                                ArayMain[73 + intI * 36 + intJ] = 0x45;
                            }
                        }

                        if (oTmpSMS.MyVerify != null)
                        {
                            int intID = 0;
                            foreach (PhoneInF oPhone in oTmpSMS.MyVerify)
                            {
                                ArayRemark = HDLUDP.StringToByte(oPhone.Remark);
                                if (ArayRemark.Length <= 20)
                                {
                                    Array.Copy(ArayRemark, 0, ArayMain, 53 + intID * 36, ArayRemark.Length);
                                }
                                else
                                {
                                    Array.Copy(ArayRemark, 0, ArayMain, 53 + intID * 36, 20);
                                }

                                ArayRemark = HDLUDP.StringToByte(oPhone.PhoneNum);
                                if (ArayRemark.Length <= 16)
                                {
                                    Array.Copy(ArayRemark, 0, ArayMain, 73 + intID * 36, ArayRemark.Length);
                                }
                                else
                                {
                                    Array.Copy(ArayRemark, 0, ArayMain, 73 + intID * 36, 16);
                                }
                                intID++;
                            }
                        }

                        //先将48个目标变为无效
                        for (int intI = 0; intI < 48; intI++)
                        {
                            ArayMain[492 + intI * 8] = 0x55;
                        }

                        if (oTmpSMS.MyTargets != null && oTmpSMS.MyTargets.Count != 0)
                        {
                            int intID = 0;
                            foreach (UVCMD.ControlTargets oCMD in oTmpSMS.MyTargets)
                            {
                                ArayMain[485 + intID * 8] = oCMD.SubnetID;
                                ArayMain[486 + intID * 8] = oCMD.DeviceID;
                                ArayMain[487 + intID * 8] = oCMD.Type;

                                ArayMain[488 + intID * 8] = oCMD.Param1;
                                ArayMain[489 + intID * 8] = oCMD.Param2;
                                ArayMain[490 + intID * 8] = oCMD.Param3;
                                ArayMain[491 + intID * 8] = oCMD.Param4;
                                if (oCMD.IsValid == true)
                                {
                                    ArayMain[492 + intID * 8] = 0xAA;
                                }
                                else
                                {
                                    ArayMain[492 + intID * 8] = 0x55;
                                }

                                intID++;
                            }
                        }
                        if (oTmpSMS.blnIsVerify)
                        {
                            ArayMain[869] = 0x11;
                        }
                        else
                        {
                            ArayMain[869] = 0x10;
                        }

                        if (oTmpSMS.blnReply)
                        {
                            ArayMain[870] = 0x11;
                        }
                        else
                        {
                            ArayMain[870] = 0x10;
                        }

                        //由于是大包 增加包头处理
                        arayTmp    = new byte[873];
                        arayTmp[0] = 871 / 256;
                        arayTmp[1] = 871 % 256;
                        Array.Copy(ArayMain, 0, arayTmp, 2, 871);
                        if (CsConst.mySends.AddBufToSndList(arayTmp, 0xC019, bytSubID, bytDevID, true, true, true, false) == true)
                        {
                            HDLUDP.TimeBetwnNext(20);
                        }
                        else
                        {
                            return;
                        }
                        bytID++;
                        if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                        {
                            CsConst.calculationWorker.ReportProgress(bytID / 2, null);
                        }
                    }
                }
                #endregion
            }

            //// send message when needs
            if (intActivePage == 0 || intActivePage == 2)
            {
                #region
                if (MySendSMS != null && MySendSMS.Count != 0)
                {
                    foreach (SendSMS oSend in MySendSMS)
                    {
                        ArayMain = new byte[1794];  // 用于存放数据
                        // 20 bytes remark
                        byte[] ArayRemark = HDLUDP.StringToByte(oSend.strRemark);
                        if (ArayRemark.Length <= 20)
                        {
                            Array.Copy(ArayRemark, 0, ArayMain, 0, ArayRemark.Length);
                        }
                        else
                        {
                            Array.Copy(ArayRemark, 0, ArayMain, 0, 20);
                        }
                        // 判断接收的手机号码
                        #region
                        for (int intJ = 0; intJ < 10; intJ++)
                        {
                            ArayMain[200 + intJ * 177] = 0x55;
                        }
                        if (oSend.MyGuests != null && oSend.MyGuests.Count != 0)
                        {
                            int intID = 0;
                            foreach (PhoneInF oPhone in oSend.MyGuests)
                            {
                                if (oPhone.Valid)
                                {
                                    ArayMain[200 + intID * 177] = 0xAA;
                                }
                                ArayRemark = HDLUDP.StringToByte(oPhone.Remark);
                                if (ArayRemark.Length <= 20)
                                {
                                    Array.Copy(ArayRemark, 0, ArayMain, 24 + intID * 177, ArayRemark.Length);
                                }
                                else
                                {
                                    Array.Copy(ArayRemark, 0, ArayMain, 24 + intID * 177, 20);
                                }
                                ArayRemark = HDLUDP.StringToByte(oPhone.PhoneNum);
                                if (ArayRemark.Length <= 16)
                                {
                                    Array.Copy(ArayRemark, 0, ArayMain, 44 + intID * 177, ArayRemark.Length);
                                }
                                else
                                {
                                    Array.Copy(ArayRemark, 0, ArayMain, 44 + intID * 177, 16);
                                }

                                ArayRemark = HDLUDP.StringTo2Byte(oPhone.strSMS, true);
                                Array.Copy(ArayRemark, 0, ArayMain, 60 + intID * 177, ArayRemark.Length);

                                intID++;
                            }
                        }
                        #endregion

                        //发送数据
                        byte[] ArayTmp = new byte[602];

                        ArayTmp[0] = Convert.ToByte(600 / 256);
                        ArayTmp[1] = Convert.ToByte(600 % 256);

                        if (wdDeviceType == 4001)
                        {
                            ArayTmp[2] = Convert.ToByte(oSend.ID);
                            Array.Copy(ArayMain, 0, ArayTmp, 4, 598);

                            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xC062, bytSubID, bytDevID, true, true, true, false) == true)
                            {
                                HDLUDP.TimeBetwnNext(20);
                            }
                            else
                            {
                                return;
                            }
                        }
                        else
                        {
                            for (int intI = 0; intI < 3; intI++)
                            {
                                ArayTmp[2] = Convert.ToByte(oSend.ID);
                                ArayTmp[3] = Convert.ToByte(intI);
                                Array.Copy(ArayMain, intI * 598, ArayTmp, 4, 598);

                                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xC062, bytSubID, bytDevID, true, true, true, false) == true)
                                {
                                    HDLUDP.TimeBetwnNext(20);
                                }
                                else
                                {
                                    return;
                                }
                            }
                        }
                        if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                        {
                            CsConst.calculationWorker.ReportProgress(50 + (oSend.ID / 2), null);
                        }
                    }
                }
                #endregion
            }

            //更新缓存
            arayTmp = null;
            if (CsConst.mySends.AddBufToSndList(arayTmp, 0xC01B, bytSubID, bytDevID, true, false, true, false) == true)
            {
            }


            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(100, null);
            }
        }
Пример #2
0
        /// <summary>
        ///上传设置
        /// </summary>
        public bool UploadFHInfosToDevice(string DevName, int wdDeviceType, int intActivePage)
        {
            string strMainRemark = DevName.Split('\\')[1].Trim().Split('(')[0].Trim();

            DevName = DevName.Split('\\')[0].Trim();
            //保存basic informations
            byte bytSubID = byte.Parse(DevName.Split('-')[0].ToString());
            byte bytDevID = byte.Parse(DevName.Split('-')[1].ToString());

            byte[] ArayMain      = new byte[20];
            byte[] arayTmpRemark = HDLUDP.StringToByte(strMainRemark);
            if (arayTmpRemark.Length > 20)
            {
                Array.Copy(arayTmpRemark, 0, ArayMain, 0, 20);
            }
            else
            {
                Array.Copy(arayTmpRemark, 0, ArayMain, 0, arayTmpRemark.Length);
            }

            if (CsConst.mySends.AddBufToSndList(ArayMain, 0x0010, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
            {
                HDLUDP.TimeBetwnNext(20);
            }
            else
            {
                return(false);
            }
            byte[] ArayTmp = null;
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(1);
            }
            if (intActivePage == 0 || intActivePage == 1)
            {
                #region
                ArayTmp = new byte[7];
                Array.Copy(arayDateTime, 0, ArayTmp, 0, 7);
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0xD99C, 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(2);
                }

                ArayTmp = new byte[2];
                Array.Copy(arayDateTime, 7, ArayTmp, 0, 2);
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1C10, 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(3);
                }

                ArayTmp = new byte[17];
                Array.Copy(araySummer, 0, ArayTmp, 0, 16);
                ArayTmp[1]  = Convert.ToByte(DateTime.Now.Year / 256);
                ArayTmp[2]  = Convert.ToByte(DateTime.Now.Year % 256);
                ArayTmp[4]  = HDLSysPF.GetDayofMonth(ArayTmp[3], ArayTmp[7], Convert.ToByte(ArayTmp[6] + 1));
                ArayTmp[9]  = Convert.ToByte(DateTime.Now.Year / 256);
                ArayTmp[10] = Convert.ToByte(DateTime.Now.Year % 256);
                ArayTmp[12] = HDLSysPF.GetDayofMonth(ArayTmp[11], ArayTmp[15], Convert.ToByte(ArayTmp[14] + 1));
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1D18, 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(4);
                }

                if (CsConst.isRestore)
                {
                    if (wdDeviceType == 211 || wdDeviceType == 208 || wdDeviceType == 209)
                    {
                        ArayTmp = new byte[4];
                        Array.Copy(arayOutdoor, 0, ArayTmp, 0, 4);
                        if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1D04, 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(5);
                }
                #endregion
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(10);
            }
            if (intActivePage == 0 || intActivePage == 2)
            {
                #region
                if (myHeating != null)
                {
                    for (int i = 0; i < myHeating.Count; i++)
                    {
                        FHeating temp = myHeating[i];
                        ArayTmp[0]    = temp.ID;
                        arayTmpRemark = HDLUDP.StringTo2Byte(temp.strRemark, true);
                        if (arayTmpRemark.Length > 20)
                        {
                            Array.Copy(arayTmpRemark, 0, ArayTmp, 1, 20);
                        }
                        else
                        {
                            Array.Copy(arayTmpRemark, 0, ArayTmp, 1, arayTmpRemark.Length);
                        }
                        if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1D00, 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(10 + i * 5 + 1);
                        }

                        ArayTmp    = new byte[10];
                        ArayTmp[0] = temp.ID;
                        Array.Copy(temp.arayWorkControl, 0, ArayTmp, 1, 7);
                        if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1C5C, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                        {
                            Array.Copy(CsConst.myRevBuf, 26, temp.arayWorkControl, 0, 13);
                            HDLUDP.TimeBetwnNext(1);
                        }
                        else
                        {
                            return(false);
                        }
                        if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
                        {
                            CsConst.calculationWorker.ReportProgress(10 + i * 5 + 2);
                        }

                        ArayTmp    = new byte[18];
                        ArayTmp[0] = temp.ID;
                        Array.Copy(temp.araySensorSetting, 0, ArayTmp, 1, 17);
                        if (wdDeviceType == 210)
                        {
                            ArayTmp = new byte[14];
                            Array.Copy(temp.araySensorSetting, 0, ArayTmp, 1, 13);
                        }
                        if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1C54, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                        {
                            HDLUDP.TimeBetwnNext(20);
                        }
                        else
                        {
                            return(false);
                        }

                        if (wdDeviceType == 211 || wdDeviceType == 208 || wdDeviceType == 209)
                        {
                            ArayTmp    = new byte[2];
                            ArayTmp[0] = temp.ID;
                            Array.Copy(temp.arayWorkSetting, 10, ArayTmp, 0, 1);
                            if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1D08, 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(10 + i * 5 + 3);
                        }
                        ArayTmp    = new byte[11];
                        ArayTmp[0] = temp.ID;
                        Array.Copy(temp.arayWorkSetting, 0, ArayTmp, 1, 10);
                        if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1C58, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                        {
                            HDLUDP.TimeBetwnNext(20);
                        }
                        else
                        {
                            return(false);
                        }
                        ArayTmp    = new byte[12];
                        ArayTmp[0] = temp.ID;
                        Array.Copy(temp.arayFlush, 0, ArayTmp, 1, 11);
                        if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1C60, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                        {
                            HDLUDP.TimeBetwnNext(20);
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                #endregion
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(40);
            }
            if (intActivePage == 0 || intActivePage == 3)
            {
                #region
                ArayTmp = new byte[6];
                Array.Copy(araySynChannel, 0, ArayTmp, 0, 6);
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1C6c, 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(41);
                }

                ArayTmp = new byte[15];
                Array.Copy(arayHost, 0, ArayTmp, 0, 15);
                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1CE4, 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(42);
                }
                #endregion
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(50);
            }
            if (intActivePage == 0 || intActivePage == 4 || intActivePage == 6)
            {
                #region
                if (CsConst.isRestore)
                {
                    if (myTargets1 != null)
                    {
                        for (int i = 0; i < myTargets1.Count; i++)
                        {
                            FHTargets temp = myTargets1[i];
                            ArayTmp    = new byte[10];
                            ArayTmp[0] = temp.ID;
                            ArayTmp[1] = temp.StatusIndex;
                            for (int j = 0; j < temp.Targets.Count; j++)
                            {
                                ArayTmp[2] = temp.Targets[j].ID;
                                ArayTmp[3] = temp.Targets[j].Type;
                                ArayTmp[4] = temp.Targets[j].SubnetID;
                                ArayTmp[5] = temp.Targets[j].DeviceID;
                                ArayTmp[6] = temp.Targets[j].Param1;
                                ArayTmp[7] = temp.Targets[j].Param2;
                                ArayTmp[8] = temp.Targets[j].Param3;
                                ArayTmp[9] = temp.Targets[j].Param4;
                                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1CE0, 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(50 + i);
                            }
                        }
                    }
                }
                #endregion
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(60);
            }
            if (intActivePage == 0 || intActivePage == 5 || intActivePage == 6)
            {
                #region
                if (CsConst.isRestore)
                {
                    if (myTargets2 != null)
                    {
                        for (int i = 0; i < myTargets2.Count; i++)
                        {
                            FHTargets temp = myTargets2[i];
                            ArayTmp    = new byte[10];
                            ArayTmp[0] = temp.ID;
                            ArayTmp[1] = temp.StatusIndex;
                            for (int j = 0; j < temp.Targets.Count; j++)
                            {
                                ArayTmp[2] = temp.Targets[j].ID;
                                ArayTmp[3] = temp.Targets[j].Type;
                                ArayTmp[4] = temp.Targets[j].SubnetID;
                                ArayTmp[5] = temp.Targets[j].DeviceID;
                                ArayTmp[6] = temp.Targets[j].Param1;
                                ArayTmp[7] = temp.Targets[j].Param2;
                                ArayTmp[8] = temp.Targets[j].Param3;
                                ArayTmp[9] = temp.Targets[j].Param4;
                                if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1CE0, 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(60 + i);
                            }
                        }
                    }
                }
                #endregion
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(70);
            }
            if (intActivePage == 0 || intActivePage == 7)
            {
                #region
                if (myPumps != null)
                {
                    ArayTmp    = new byte[1];
                    ArayTmp[0] = PumpsEnable;
                    if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1D20, bytSubID, bytDevID, false, true, true, CsConst.minAllWirelessDeviceType.Contains(wdDeviceType)) == true)
                    {
                        HDLUDP.TimeBetwnNext(20);
                    }
                    else
                    {
                        return(false);
                    }

                    for (int i = 0; i < myPumps.Count; i++)
                    {
                        Pumps temp = myPumps[i];
                        ArayTmp    = new byte[7];
                        ArayTmp[0] = temp.ID;
                        ArayTmp[1] = temp.Enable;
                        ArayTmp[2] = temp.ChooseChns;
                        if (temp.ID == 6)
                        {
                            ArayTmp[2] = 63;
                        }
                        ArayTmp[3] = Convert.ToByte(temp.TrueDelay / 256);
                        ArayTmp[4] = Convert.ToByte(temp.TrueDelay % 256);
                        ArayTmp[5] = Convert.ToByte(temp.FalseDelay / 256);
                        ArayTmp[6] = Convert.ToByte(temp.FalseDelay % 256);
                        if (CsConst.mySends.AddBufToSndList(ArayTmp, 0x1D24, 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(70 + i);
                        }
                    }
                }
                #endregion
            }
            if (CsConst.calculationWorker != null && CsConst.calculationWorker.IsBusy)
            {
                CsConst.calculationWorker.ReportProgress(100);
            }
            return(true);
        }