Пример #1
0
        private ushort[] ParseCurrentVoltageResponse(byte[] data)
        {
            byte[] dataForCRC = data.Take(data.Count() - 1).ToArray();

            if (data[25] == CalculateCRC8(dataForCRC))
            {
                ushort[] frame = new ushort[16];
                int      j     = 4;

                for (int i = 0; i < frame.Length; i++)
                {
                    if (i < 4)
                    {
                        frame[i] = data[i];
                    }
                    else if (i < 13)
                    {
                        frame[i] = BytesManipulating.FromBytes(data[j + 1], data[j]);
                        j       += 2;
                    }
                    else
                    {
                        frame[i] = data[j];
                        j++;
                    }
                }
                return(frame);
            }
            else
            {
                Logger.Log.Error("Нарушена целостность пакета.");
                MessageBox.Show("Нарушена целостность пакета.");
                return(null);
            }
        }
Пример #2
0
        private ushort[] ParseTestTirResponse(byte[] data)
        {
            byte[] dataForCRC = data.Take(data.Count() - 1).ToArray();

            if (data[24] == CalculateCRC8(dataForCRC))
            {
                return(BytesManipulating.ConvertByteArrayIntoUshortArray(data));
            }
            else
            {
                Logger.Log.Error("Нарушена целостность пакета.");
                MessageBox.Show("Нарушена целостность пакета.");
                return(null);
            }
        }