CRC Autofill

What's CRC

CRC Cyclic redundancy check is a technique used to detect errors in digital data. As a type of checksum, the CRC produces a fixed-length data set based on the build of a file or larger data set. In terms of its use, CRC is a hash function that detects accidental changes to raw computer data commonly used in digital telecommunications networks and storage devices such as hard disk drives.
This technique was invented by W. Wesley Peterson in 1961 and further developed by the CCITT (Comité Consultatif International Telegraphique et Telephonique). Cyclic redundancy checks are quite simple to implement in hardware, and can be easily analyzed mathematically. CRC is one of the better techniques that is commonly used in detecting common transmission errors.
CRC is based on binary division and is also called “polynomial code checksum.”

Importance of CRC is data communication.

The receiver can determine whether or not the check bits agree with the data, to ascertain with a certain degree of probability whether or not an error occurred in transmission. If an error occurred, the receiver sends a “negative acknowledgement” (NAK) back to the sender, requesting that the message be retransmitted.

SerialTool CRC autofill/autocomplete.

When you are sending manual commands via Serial Port you may need to calculate the CRC to accomplish to a correct communication otherwise the receiver may not accept it.
To calculate the CRC on every single packet is a big loss of time and needs to precisely copy and paste data which leads to longer and not error free tasks.
SerialTool can calculate automatically the CRC choosen among the wide range of CRC types available while transmitting.
If the CRC option is enabled the choosen CRC bytes will be automatically added at the end of the send packet.

SerialTool Inverted bytes.

Some systems need to have inverted CRC bytes to accomplish to bytes endianness.
SerialTool allows you to send in inverse order if needed by the receiving system.

SerialTool Modbus CRC autofill/autocomplete

Modbus is a CRC type commonly used in industrial communication protocols.
Modbus is a request-response protocol implemented using a master-slave relationship. In a master-slave relationship, communication always occurs in pairs—one device must initiate a request and then wait for a response—and the initiating device (the master) is responsible for initiating every interaction. Typically, the master is a human machine interface (HMI) or Supervisory Control and Data Acquisition (SCADA) system and the slave is a sensor, programmable logic controller (PLC), or programmable automation controller (PAC). The content of these requests and responses, and the network layers across which these messages are sent, are defined by the different layers of the protocol.
SerialTool supports it as many other CRC calculations.
Example of send and receive:
SEND REQUEST: Modbus ASCII 3A 30 32 30 31 30 30 32 30 30 30 30 43 44 31 0D 0A + CRC
READ RESPONSE: Modbus ASCII 3A 30 32 30 31 30 32 38 30 30 32 37 39 0D 0A + CRC

Modbus Send and Read.

SerialTool CRC Types

CRC-8

  1. CRC 8
  2. CRC 8 EBU
  3. CRC 8 HDLC
  4. CRC 8 MAXIM
  5. CRC 8 WCDMA
  6. CRC 8 LTE
CRC-16
  1. CRC 16 ARC
  2. CRC 16 BUYPASS
  3. CRC 16 CCITTFALSE
  4. CRC 16 MCRF4XX
  5. CRC 16 CDMA2000
  6. CRC 16 CMS
  7. CRC 16 DECTR
  8. CRC 16 DECTX
  9. CRC 16 DNP
  10. CRC 16 GENIBUS
  11. CRC 16 KERMIT
  12. CRC 16 MAXIM
  13. CRC 16 MODBUS
  14. CRC 16 T10DIF
  15. CRC 16 USB
  16. CRC 16 X25
  17. CRC 16 XMODEM
CRC-24
  1. CRC 24
  2. CRC 24 FLEXRAYA
  3. CRC 24 FLEXRAYB
  4. CRC 24 LTEA
  5. CRC 24 LTEB
  6. CRC 24 NRC
CRC-32
  1. CRC 32
  2. CRC 32 BZIP2
  3. CRC 32 C
  4. CRC 32 MPEG2
  5. CRC 32 POSIX
  6. CRC 32 Q