Skip to content

Commit e08b585

Browse files
Angelo Scialabbacmaglie
authored andcommitted
bridge.py: CRC16 being used as CRC
1 parent f40631c commit e08b585

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

linux/bridge/packet.py

100755100644
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,20 @@ def cbreak():
1616

1717
class CRC:
1818
def __init__(self, file):
19-
self.result = 0xAAAA
19+
self.result = 0xFFFF
2020
self.file = file
2121

2222
def write(self, data):
2323
while len(data) > 0:
2424
if not self.file is None:
2525
self.file.write(data[0])
26-
self.result = self.result ^ ord(data[0])
27-
self.result = (self.result >> 8) + ((self.result & 0xFF) << 8)
26+
tmp = data
27+
tmp = chr(ord(tmp[0]) ^ (self.result & 0xFF))
28+
tmp = chr(ord(tmp[0]) ^ ((ord(tmp[0]) << 4) & 0xFF))
29+
self.result = (((ord(tmp[0]) << 8) & 0xFFFF) | (self.result >> 8)) ^ ((ord(tmp[0]) >> 4) & 0xFF) ^ ((ord(tmp[0]) << 3) & 0xFFFF)
2830
data = data[1:]
29-
31+
32+
3033
def write_crc(self):
3134
#print hex(self.result)
3235
stdout.write(chr(self.result >> 8))

0 commit comments

Comments
 (0)