So calculating a checksum may be a simple method for detecting errors, but doesn't give much more protection than the parity bit, independent of the length of the checksum.

The idea behind a check value calculation is simple.

I'm convinced it is a 16-bit CRC algorithm but dont know wich, there is so many different algorithms.

I added som test-code like this: This message is an initial message that the decoder sends to the RCM software and that "opens" the RCM software for recieving data from the decoder.

This simple detection mechanism works if an odd number of bits in a byte changes, but an even number of false bits in one byte will not be detected by the parity check.

To overcome this problem people have searched for mathematical sound mechanisms to detect multiple false bits. Nowadays CRC calculations are used in all types of communications.

In this example we have used a one byte long checksum which gives us 256 different values.

Using a two byte checksum will result in 65,536 possible different checksum values and when a four byte value is used there are more than four billion possible values.

The one byte checksum of this array can be calculated by adding all values, than dividing it by 256 and keeping the remainder. You can use the calculator above to check this result.If you aren't going to include the source make sure your "snippets" have enough context to stand on their own.For example, "times" and "ndash" are undefined with no explanation for what those values represent.Let us assume that in our example array the lowest significant bit of the character 'L' is set, and the lowest significant bit of charcter 'a' is lost during communication.The receiver will than see the array [ 77, 96, 109, 109, 101, 114, 116 ] representing the string "".

The one byte checksum of this array can be calculated by adding all values, than dividing it by 256 and keeping the remainder. You can use the calculator above to check this result.

If you aren't going to include the source make sure your "snippets" have enough context to stand on their own.

For example, "times" and "ndash" are undefined with no explanation for what those values represent.

Let us assume that in our example array the lowest significant bit of the character 'L' is set, and the lowest significant bit of charcter 'a' is lost during communication.

The receiver will than see the array [ 77, 96, 109, 109, 101, 114, 116 ] representing the string "".

In this message the CRC-value is 74 b8 00 00 that is in reverse order 47220 (0xb874), and the array is , how will that happen?