chamtool xmodem: pad small dumps

This commit is contained in:
Philippe Teuwen
2016-10-25 08:29:03 +02:00
parent 046e289dc1
commit 116c19d1c4
+7 -2
View File
@@ -78,9 +78,15 @@ class XModem:
# Timeout or different char received
return None
lastBlock = False
while True:
dataBlock = dataStream.read(128)
if (len(dataBlock) < 128):
lastBlock = True
if (0 < len(dataBlock) < 128):
# Last part smaller than xmodem block -> pad it
dataBlock += '\x00' * (128 - len(dataBlock))
if (len(dataBlock) == 128):
# Write SOH, pktId, data and checksum
self.ioStream.write(self.BYTE_SOH)
@@ -93,8 +99,7 @@ class XModem:
#Proceed to next packet
packetCounter = (packetCounter + 1) % 256
bytesSent += 128
else:
if lastBlock:
# Write EOT and wait for ACK
self.ioStream.write(self.BYTE_EOT)
self.ioStream.read(1)