

TargetPos is -3 : result is stored starting at the 3rd character from the end.Īfter a # you can type in any comment to describe your checksum TargetPos is -2 : result is stored starting at the 2nd character from the end. TargetPos is -1 : first (and only) byte of the result is stored at the last sequence character position.

Len is -1 : use everything until the end of the sequence. StartPos is -4 : start calculating at the 4th character from the end. StartPos, len and targetPos support negative values, too, as a way to specify positions relative to the end of the sequence and not relative to the start of the sequence. You can type in a comment about this checksum specification In this case, the results is stored one character before the end, so there is still space for a "end of line" character, typically a CR as in Modbus ASCII. Specifies the first character position for storing the resulting checksum value.īy default Docklight writes the checksum result to the last sequence data positions, unless you have specified "A" for ASCII result. Little Endian - the resulting checksum value is stored with the least significant byte (LSB) first. If used, the resulting checksum value is converted into a HEX number as readable ASCII text. By default everything before the checksum result is used. Start and length of the character area that is used to calculate the checksum.

String that specifies the checksum algorithm and its parameters, according to the checksumSpec Format table above. With anything inside being an optional part. In the Checksum tab, choose one of the predefined definition strings from the drop-down list, or type in your own definition in the following format:

This is the most commonly used testing string, and many specifications will refer to this string and provide you the correct checksum the CRC should return when applied on this string.Ĭhecksums in Edit Send Sequence / Edit Receive Sequence A good way to make sure your CRC calculation makes sense is to run it over an ASCII test string of "123456789". Unfortunately there are a lot of CRC variations and algorithms around, and choosing (not to mention: understanding) the right CRC flavor can be a rather difficult job. We have carefully tested and cross-checked our implementations against common literature and resources as listed in the CRC Glossary. ) can be replaced by a specification string for the generic CRC computation (CRC:8,07,00.) as described above. This takes places before the final XOR operation.Įach of the predefined CRC algorithms (CRC-8, CRC-CCITT. ReflectedOutput : Yes = Reflect the result after completing the algorithm. ReflectedInput : Yes = Reflect the data bytes (MSB becomes LSB), before feeding them into the algorithm. Apply an XOR operation on the resulting remainder before returning it to the user. The initial remainder to start off the calculation.įinalXor : HEX value. Generic CRC calculator, where all CRC parameters can be set individually: Like -MOD256 / LRC, but it expects the source data to be HEX numbers as readable ASCII text. This is equivalent to what is known as LRC (Longitudinal redundancy check) used e.g. Similar to MOD256, but returns the negative 8 bit result, so the sum of all bytes including the checksum is zero. Same as:ĬRC:32,04C11DB7,FFFFFFFF,FFFFFFFF,Yes,Yes Same as:ģ2 bit CRC as used in PKZip, AUTODIN II, Ethernet, FDDI. Similar to CRC-16, but with a different init value. Same as:ġ6 bit width CRC as used in Modbus. Same as:ġ6 bit width CRC as used in IBM Bisynch, ARC. Same as:ġ6 bit width CRC as designated by CCITT. Can be found in Dallas iButton(TM) applications. Same as:Ĩ bit width CRC known as DOW CRC or CCITT-8 CRC. See the "CRC: width, polynomial." syntax described in the last row.Ĩ bit width CRC, e.g. An alternative checksumSpec text for the same checksum type would be: Used for example in MMC/SD card applications. 8 bit checksum: Sum on all bytes, modulo 256.ħ bit width CRC.
