Class CRC8


  • public class CRC8
    extends java.lang.Object
    CRC8 is a class to contain an implementation of the Cyclic-Redundency-Check CRC8 for the iButton. The CRC8 is used in the 1-Wire Network address of all iButtons and 1-Wire devices.

    CRC8 is based on the polynomial = X^8 + X^5 + X^4 + 1.

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int compute​(byte[] dataToCrc)
      Perform the CRC8 on an array of data elements based on a zero seed.
      static int compute​(byte[] dataToCrc, int seed)
      Perform the CRC8 on an array of data elements based on the provided seed.
      static int compute​(byte[] dataToCrc, int off, int len)
      Perform the CRC8 on an array of data elements based on a zero seed.
      static int compute​(byte[] dataToCrc, int off, int len, int seed)
      Perform the CRC8 on an array of data elements based on the provided seed.
      static int compute​(int dataToCRC)
      Perform the CRC8 on the data element based on a zero seed.
      static int compute​(int dataToCRC, int seed)
      Perform the CRC8 on the data element based on the provided seed.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • compute

        public static int compute​(int dataToCRC,
                                  int seed)
        Perform the CRC8 on the data element based on the provided seed.

        CRC8 is based on the polynomial = X^8 + X^5 + X^4 + 1.

        Parameters:
        dataToCrc - data element on which to perform the CRC8
        seed - seed the CRC8 with this value
        Returns:
        CRC8 value
      • compute

        public static int compute​(int dataToCRC)
        Perform the CRC8 on the data element based on a zero seed.

        CRC8 is based on the polynomial = X^8 + X^5 + X^4 + 1.

        Parameters:
        dataToCrc - data element on which to perform the CRC8
        Returns:
        CRC8 value
      • compute

        public static int compute​(byte[] dataToCrc)
        Perform the CRC8 on an array of data elements based on a zero seed.

        CRC8 is based on the polynomial = X^8 + X^5 + X^4 + 1.

        Parameters:
        dataToCrc - array of data elements on which to perform the CRC8
        Returns:
        CRC8 value
      • compute

        public static int compute​(byte[] dataToCrc,
                                  int off,
                                  int len)
        Perform the CRC8 on an array of data elements based on a zero seed.

        CRC8 is based on the polynomial = X^8 + X^5 + X^4 + 1.

        Parameters:
        dataToCrc - array of data elements on which to perform the CRC8
        off - offset into array
        len - length of data to crc
        Returns:
        CRC8 value
      • compute

        public static int compute​(byte[] dataToCrc,
                                  int off,
                                  int len,
                                  int seed)
        Perform the CRC8 on an array of data elements based on the provided seed.

        CRC8 is based on the polynomial = X^8 + X^5 + X^4 + 1.

        Parameters:
        dataToCrc - array of data elements on which to perform the CRC8
        off - offset into array
        len - length of data to crc
        seed - seed to use for CRC8
        Returns:
        CRC8 value
      • compute

        public static int compute​(byte[] dataToCrc,
                                  int seed)
        Perform the CRC8 on an array of data elements based on the provided seed.

        CRC8 is based on the polynomial = X^8 + X^5 + X^4 + 1.

        Parameters:
        dataToCrc - array of data elements on which to perform the CRC8
        seed - seed to use for CRC8
        Returns:
        CRC8 value