public byte[] GenerateTable(CRC8_POLY polynomial)
            {
                byte[] csTable = new byte[256];

                for (int i = 0; i < 256; ++i)
                {
                    int curr = i;

                    for (int j = 0; j < 8; ++j)
                    {
                        if ((curr & 0x80) != 0)
                        {
                            curr = (curr << 1) ^ (int)polynomial;
                        }
                        else
                        {
                            curr <<= 1;
                        }
                    }

                    csTable[i] = (byte)curr;
                }

                return(csTable);
            }
Exemplo n.º 2
0
        public byte[] GenerateTable(CRC8_POLY polynomial)
        {
            byte[] csTable = new byte[256];

            for (int i = 0; i < 256; ++i)
            {
                int curr = i;

                for (int j = 0; j < 8; ++j)
                {
                    if ((curr & 0x80) != 0)
                    {
                        curr = (curr << 1) ^ (int)polynomial;
                    }
                    else
                    {
                        curr <<= 1;
                    }
                }

                csTable[i] = (byte)curr;
            }

            return csTable;
        }
Exemplo n.º 3
0
 public static string CRC8(byte[] data, CRC8_POLY poly)
 {
     byte[] table = new byte[256];
     for (int i = 0; i < 256; ++i)
     {
         int curr = (byte)i;
         for (int j = 0; j < 8; ++j)
         {
             if ((curr & 0x80) != 0)
             {
                 curr = (curr << 1) ^ (int)poly;
             }
             else
             {
                 curr <<= 1;
             }
         }
         table[i] = (byte)curr;
     }
     byte[] res = new byte[] { ReflectByte(0xe3) }; //начальная инициализация
     foreach (byte b in data)
     {
         res[0] = table[res[0] ^ b];
     }
     return(Utils.Bin2AHex(res));
 }
Exemplo n.º 4
0
 public CRC8Calc(CRC8_POLY polynomial)
 {
     this.table = this.GenerateTable(polynomial);
 }
 public CRC8Calc(CRC8_POLY polynomial)
 {
     this.table = this.GenerateTable(polynomial);
 }
Exemplo n.º 6
0
        ///  <summary>
        ///  .
        ///  </summary>
        ///
        ///  <param name="polynomial"> . </param>
        ///  
        ///  <returns> . </returns> 
        public Byte[] GenerateTable(CRC8_POLY polynomial)
        {
            Byte[] csTable = new Byte[256];

            for (Int32 i = 0; i < 256; ++i)
            {
                Int32 curr = i;

                for (Int32 j = 0; j < 8; ++j)
                {
                    if ((curr & 0x80) != 0)
                        curr = (curr << 1) ^ (Int32)polynomial;
                    else
                        curr <<= 1;
                }
                csTable[i] = (Byte)curr;
            }
            return csTable;
        }
Exemplo n.º 7
0
 public CrcNet(CRC8_POLY polynomial)
 {
     this.table = this.GenerateTable(polynomial);
 }
 public Program(CRC8_POLY polynomial)
 {
     this.table = this.GenerateTable(polynomial);
 }