I'm trying to calculate the check sum of a m-bus data frame. In page 1 of this PDF I'm able to read that the frame's check sum "is calculated from the arithmetical sum of the data mentioned above, without taking carry digits into account". The data I have above are the bytes:
- Start
- L Field
- L Field
- Start
- C Field
- A Field
- CI Field
- Check sum
- Stop
In page 2 we can find that one example of a valid data frame is:
68 03 03 68 53 01 BB 0F 16
In hexadecimal, being 0F the check sum. Unfortunately I must be doing something wrong because I'm not able to reach that value.
Could someone explain how this algorithm, to find the check sum, works?