I can't get the the checksum to match using polynomial 0x85. I programmed the rutine to check it myself so there could be a problem but it really seems like it is working correctly.
When you say little endian do you mean that the data should be check in this order D6 D5 D4 D3 D2 D1 D0:
For...