You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
13 lines
321 B
13 lines
321 B
2 years ago
|
def crc8_pedal(data):
|
||
|
crc = 0xFF # standard init value
|
||
|
poly = 0xD5 # standard crc8: x8+x7+x6+x4+x2+1
|
||
|
size = len(data)
|
||
|
for i in range(size - 1, -1, -1):
|
||
|
crc ^= data[i]
|
||
|
for _ in range(8):
|
||
|
if ((crc & 0x80) != 0):
|
||
|
crc = ((crc << 1) ^ poly) & 0xFF
|
||
|
else:
|
||
|
crc <<= 1
|
||
|
return crc
|