Calculating the checksum, Calculating the two’s complement, 4 calculating the checksum -6 – Lantronix Device Server UDS 10 User Manual

Page 92: 5 calculating the two’s complement -6

Advertising
background image

UDP

8-6

UDS-10 User Guide

To get and set the node configuration, 120 bytes should be exchanged at once in 32-Byte
records. The IP address in the record (bytes 0 to 3) will be ignored (unless the UDP FD
command is being used).

8.2.4 Calculating the Checksum

As mentioned in Table 20 - Block Types above, the last two characters of an Intel Hex setup
record represent a checksum of the data in the line. Since the checksum is a two-digit
hexadecimal value, it can represent a value from 0 to 255.

The checksum is calculated by summing the value of the data on the line and taking the two’s
complement of the sum.
Note: Do not include the leading colon or the checksum byte in the sum.

Example:

0300300002337A1E

Record length: 03 (3 bytes of data)
Address: 0030 (the 3 bytes will be stored at 0030, 0031, and 0032)
Record Type: 00 (normal data)
Data: 02, 33, 7A
Checksum: 1E

03 + 00 + 30 + 00+ 02 + 33 + 7A = E2

The two’s complement of E2 is 1E. See Calculating the Two’s Complement below.

8.2.5 Calculating the Two’s Complement

The two’s complement of a number is the value that must be added to the number to reach a
Hexadecimal value of 100 (256 in decimal). In the example above, E2 + 1E = 100.

You can also calculate the two’s complement by subtracting the sum from 100. Using the
example above again, 100 - E2 = 1E. It may help to use a scientific calculator.

Advertising