com.dalsemi.onewire.utils
Class CRC8

java.lang.Object
  |
  +--com.dalsemi.onewire.utils.CRC8

public class CRC8
extends 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.

Version:
0.00, 28 Aug 2000

Method Summary
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
equals, 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