0

I'm trying to find out, how the checksumming in an RS485 communication works. The data is packetized and seems to be using 8bit checksums.

One packet per line, the last byte that isn't 0x00 seems to be the checksum.

I've been able to generate this data which is incrementing continuously.

0xAA at the beginning is the preamble of the packet, so that probably isn't part of the checksum.

aa1c01010439000000000000000002a600001429000025caff000000d8000000
aa1c01010439000000000000000002a600001429000025ca00000000d9000000
aa1c01010439000000000000000002a600001429000025cb00000000da000000
aa1c01010439000000000000000002a600001429000025cc00000000db000000
aa1c01010439000000000000000002a600001429000025cd00000000dc000000
aa1c01010439000000000000000002a600001429000025ce00000000dd000000
aa1c01010439000000000000000002a600001429000025cf00000000de000000
aa1c01010439000000000000000002a600001429000025d000000000df000000
aa1c01010439000000000000000002a600001429000025d100000000e0000000
aa1c01010439000000000000000002a600001429000025d200000000e1000000
aa1c01010439000000000000000002a600001429000025d300000000e2000000
aa1c01010439000000000000000002a600001429000025d400000000e3000000
aa1c01010439000000000000000002a600001429000025d500000000e4000000
aa1c01010439000000000000000002a600001429000025d600000000e5000000
aa1c01010439000000000000000002a600001429000025d700000000e6000000
aa1c01010439000000000000000002a600001429000025d800000000e7000000
aa1c01010439000000000000000002a600001429000025d900000000e8000000
aa1c01010439000000000000000002a600001429000025da00000000e9000000
aa1c01010439000000000000000002a600001429000025db00000000ea000000
aa1c01010439000000000000000002a600001429000025dc00000000eb000000

I have some more data, but that has much more going on in it: https://gist.github.com/Manawyrm/0167fec375d3756dda19c750998f34fc

I have tried a simple XOR and CRC8 implementation, and have tried every offset for the start of the data.

Can someone recognize the checksum algorithm used here? It seems relativly simple, because the checksum is incrementing together with the data.

Thanks, Tobias

1

It is a plain byte sum.

for the last line:

aa+1c+01+01+04+39+00+00+00+00+00+00+00+00+02+a6+00+00+14+29+00+00+25+dc
=
02EB
  • Wow, I think that's a perfect example of thinking too complex :-) Thank you! – Tobias Mädel Jun 6 '17 at 9:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.