ASCII Device CRC/LRC/Checksum Checking and Generation
Home » ASCII Device CRC/LRC/Checksum Checking and Generation
Printer Friendly Version
 

ASCII Device CRC/LRC/Checksum Checking and Generation

CRC/LRC/Checksum Checking

    The metacharacters sequence
        %02X\c(poly,init,start-offset,end-offset)
    is used to match the crc/checksum of input.

poly Polynomial (hex) to be used.
txxxx t - 0 for forward algorithm
t - 1 for reverse algorithm
xxxx - Polynomial to be used
01021 CRC-CCIT 
08005 CRC-16
18408 CRC-CCIT Reverse
1A001 CRC-16 Reverse
2 CRC-16 modified for 7-bit characters.
0001x 7/8 Bits Checksum
7 6 5 4 3 2 1 0
0 0 0 1 Bits Type Result Modification
Bits
0 8 Bits Checksum
1 7 Bits Checksum
Type
0 Sum
1 XOR
Result Modification
0 No Change
1 1-Complement
2 2-Complement
3 No Change (16 Bits Check sum)
init Initial value (hex)
start-offset Offset (decimal) of first character to start calculation. 0 for beginning of string
end-offset Offset (decimal) of last character to end calculation. 0 for last character of string. -1 for second last character of string

    eg.
        \x02%02u(\d+)\x2e%02X\c(12,0,0,0)\x03
    will match the input
        <02>00123456.3B<03>

CRC/Checksum Generation

    The sequence in POLL and WRITE statements
        %02X\c(poly,init,start-offset,end-offset)
    is used to generate crc/checksum.

    e.g.
        Poll \x01%02u\a00%02X\c(5,0,0,0)\x03
    will transmit (for device with address set to 12)
        <01>12003C<03>

 
© Copyright IOServer Pty Ltd. All rights reserved.
E-mail:  Phone/Fax: +61 2 9805 0356 (Australia)

Last updated: 15 January 2011