Class Crc

java.lang.Object
com.diozero.util.Crc

public class Crc
extends Object
CRC-8 and CRC-16 calculator. See:
  • https://en.wikipedia.org/wiki/Cyclic_redundancy_check
  • https://crccalc.com
  • http://www.zlib.net/crc_v3.txt
  • https://github.com/sigurn/crc8/blob/master/crc8.go
  • https://github.com/sigurn/crc16/blob/master/crc16.go
  • https://www.lammertbies.nl/comm/info/crc-calculation
  • Field Details

    • CRC8

      public static final Crc.Params CRC8
    • CRC8_CDMA2000

      public static final Crc.Params CRC8_CDMA2000
    • CRC8_DARC

      public static final Crc.Params CRC8_DARC
    • CRC8_DVBS2

      public static final Crc.Params CRC8_DVBS2
    • CRC8_EBU

      public static final Crc.Params CRC8_EBU
    • CRC8_ICODE

      public static final Crc.Params CRC8_ICODE
    • CRC8_ITU

      public static final Crc.Params CRC8_ITU
    • CRC8_MAXIM

      public static final Crc.Params CRC8_MAXIM
    • CRC8_ROHC

      public static final Crc.Params CRC8_ROHC
    • CRC8_WCDMA

      public static final Crc.Params CRC8_WCDMA
    • CRC16_CCITT_FALSE

      public static final Crc.Params CRC16_CCITT_FALSE
    • CRC16_ARC

      public static final Crc.Params CRC16_ARC
    • CRC16_AUG_CCITT

      public static final Crc.Params CRC16_AUG_CCITT
    • CRC16_BUYPASS

      public static final Crc.Params CRC16_BUYPASS
    • CRC16_CDMA2000

      public static final Crc.Params CRC16_CDMA2000
    • CRC16_DDS_110

      public static final Crc.Params CRC16_DDS_110
    • CRC16_DECT_R

      public static final Crc.Params CRC16_DECT_R
    • CRC16_DECT_X

      public static final Crc.Params CRC16_DECT_X
    • CRC16_DNP

      public static final Crc.Params CRC16_DNP
    • CRC16_EN_13757

      public static final Crc.Params CRC16_EN_13757
    • CRC16_GENIBUS

      public static final Crc.Params CRC16_GENIBUS
    • CRC16_MAXIM

      public static final Crc.Params CRC16_MAXIM
    • CRC16_MCRF4XX

      public static final Crc.Params CRC16_MCRF4XX
    • CRC16_RIELLO

      public static final Crc.Params CRC16_RIELLO
    • CRC16_T10_DIF

      public static final Crc.Params CRC16_T10_DIF
    • CRC16_TELEDISK

      public static final Crc.Params CRC16_TELEDISK
    • CRC16_TMS37157

      public static final Crc.Params CRC16_TMS37157
    • CRC16_USB

      public static final Crc.Params CRC16_USB
    • CRC16_A

      public static final Crc.Params CRC16_A
    • CRC16_KERMIT

      public static final Crc.Params CRC16_KERMIT
    • CRC16_MODBUS

      public static final Crc.Params CRC16_MODBUS
    • CRC16_X25

      public static final Crc.Params CRC16_X25
    • CRC16_XMODEM

      public static final Crc.Params CRC16_XMODEM
  • Constructor Details

    • Crc

      public Crc()
  • Method Details

    • crc8

      public static int crc8​(short data)
      Calculate CRC-8 checksum using the default CRC8 parameters
      Parameters:
      data - data to checksum (big endian)
      Returns:
      CRC-8 checksum
    • crc8

      public static int crc8​(Crc.Params params, short data)
      Calculate CRC-8 checksum using the specified parameters
      Parameters:
      params - CRC parameters
      data - data to checksum (big endian)
      Returns:
      CRC-8 checksum
    • crc8

      public static int crc8​(byte... data)
      Calculate CRC-8 checksum using the default CRC8 parameters
      Parameters:
      data - data to checksum
      Returns:
      CRC-8 checksum
    • crc8

      public static int crc8​(Crc.Params params, byte... data)
      Calculate CRC-8 checksum using the specified parameters
      Parameters:
      params - CRC parameters
      data - data to checksum
      Returns:
      CRC-8 checksum
    • crc16Short

      public static int crc16Short​(Crc.Params params, short data)
      Calculate CRC-16 using the specified parameters
      Parameters:
      params - CRC parameters
      data - The data to generate the CRC for (big endian)
      Returns:
      the calculated CRC-16 value
    • crc16

      public static int crc16​(Crc.Params params, byte... data)