/// <summary>
 /// 对比QSW数据包
 /// </summary>
 private static void AnalyzeQSW(QSW_Send bin, List <QSW_Send> comList)
 {
     Console.ForegroundColor = ConsoleColor.Red;
     for (int i = 0; i < comList.Count; i++)
     {
         if (!ByteUtility.Compares(bin.body, comList[i].body))
         {
             Console.WriteLine("QSW Package ERROR: [{0}]", i);
         }
     }
     Console.ResetColor();
     Console.WriteLine("Analyzed QSW Packages Done! Total count : {0}\n", comList.Count);
 }
Beispiel #2
0
        /// <summary>
        /// 从串口文件中取到所有的有效升级数据包和响应包
        /// </summary>
        /// <param name="file">文件路径和文件名</param>
        /// <param name="fileType">文件类型 0 为bin文件 1 为文本文件</param>
        private void GetPackageList(string file, int fileType)
        {
            byte[] fff;
            if (fileType == 0)
            {
                FileUtility.GetDataFromBinFile(file, out fff);
            }
            else if (fileType == 1)
            {
                FileUtility.GetDataFormTxtFile(file, out fff);
            }
            else
            {
                return;
            }

            for (int i = 0; i < fff.Length; i++)
            {
                if (fff[i] == 'S' && fff[i + 1] == 'S' && fff[i + 2] == 'W')
                {
                    var ssws = new SSW_Send(ByteUtility.GetSubByte(fff, i, 25));
                    if (ssws.isValid)
                    {
                        this.sswSendList.Add(ssws);
                    }
                    else
                    {
                        var sswr = new SSW_Recv(ByteUtility.GetSubByte(fff, i, 9));
                        if (sswr.isValid)
                        {
                            this.sswRecvList.Add(sswr);
                        }
                    }
                }
                else if (fff[i] == 'U' && fff[i + 1] == 'S' && fff[i + 2] == 'W')
                {
                    var usws = new USW_Send(ByteUtility.GetSubByte(fff, i, 523));
                    if (usws.isValid)
                    {
                        this.uswSendList.Add(usws);
                    }
                    else
                    {
                        var uswr = new USW_Recv(ByteUtility.GetSubByte(fff, i, 10));
                        if (uswr.isValid)
                        {
                            this.uswRecvList.Add(uswr);
                        }
                    }
                }
                else if (fff[i] == 'Q' && fff[i + 1] == 'S' && fff[i + 2] == 'W')
                {
                    var qsws = new QSW_Send(ByteUtility.GetSubByte(fff, i, 8));
                    if (qsws.isValid)
                    {
                        this.qswSendList.Add(qsws);
                    }
                    else
                    {
                        var qswr = new QSW_Recv(ByteUtility.GetSubByte(fff, i, 32));
                        if (qswr.isValid)
                        {
                            this.qswRecvList.Add(qswr);
                        }
                    }
                }
            }
        }