def flash_digest(self, addr, length, digest_block_size=0):
self._esp.write(struct.pack(b'<B', self.CMD_FLASH_DIGEST))
self._esp.write(struct.pack(b'<III', addr, length, digest_block_size))
digests = []
while True:
p = self._esp.read()
if len(p) == 16:
digests.append(p)
elif len(p) == 1:
status_code = struct.unpack('<B', p)[0]
if status_code != 0:
raise FatalError('Write failure, status: %x' % status_code)
break
else:
raise FatalError('Unexpected packet: %s' % hexify(p))
return digests[-1], digests[:-1]
评论列表
文章目录