johill
public python v1 · immutabledef crc (crc_calc, bt_to_crc, poly): al = bt_to_crc c = 0 #Boolean value bl = 0 for bl in range(8,0,-1): al ^= crc_calc c = (al & 0x01) != 0 al = crc_calc if(c): al ^= 0xce al >>= 1 if(c): al |= 0x80 crc_calc = al al = bt_to_crc al >>= 1 bt_to_crc = al return crc_calcdef crc_bytes(bytes, poly): # initial value is 0xFF c = 0xFF for i in range(0,len(bytes)): c = crc(c, bytes[i], poly) return c