DfuSe: support verify of STBee Mini

This commit is contained in:
NIIBE Yutaka
2010-11-02 12:23:03 +09:00
parent 4d6ba8afba
commit 0e3f55b479

View File

@@ -107,7 +107,7 @@ class DFU_STM32:
raise ValueError, "Wrong interface class" raise ValueError, "Wrong interface class"
if interface.interfaceSubClass != DFU_SUBCLASS: if interface.interfaceSubClass != DFU_SUBCLASS:
raise ValueError, "Wrong interface sub class" raise ValueError, "Wrong interface sub class"
self.__protocol = interface.interfaceProtocol
self.__devhandle = device.open() self.__devhandle = device.open()
self.__devhandle.setConfiguration(configuration) self.__devhandle.setConfiguration(configuration)
self.__devhandle.claimInterface(interface) self.__devhandle.claimInterface(interface)
@@ -248,6 +248,7 @@ class DFU_STM32:
sys.stdout.flush() sys.stdout.flush()
addr += 1024 addr += 1024
i += 1 i += 1
if self.__protocol == DFU_STM32PROTOCOL_0:
# 0-length write at the end # 0-length write at the end
self.ll_download_block(self.__blocknum, None) self.ll_download_block(self.__blocknum, None)
s = self.ll_get_status() s = self.ll_get_status()
@@ -261,6 +262,9 @@ class DFU_STM32:
self.__devhandle.reset() self.__devhandle.reset()
elif s[4] != STATE_DFU_IDLE: elif s[4] != STATE_DFU_IDLE:
raise ValueError, "write failed (%d)." % s[4] raise ValueError, "write failed (%d)." % s[4]
else:
self.ll_clear_status()
self.ll_clear_status()
sys.stdout.write("\n") sys.stdout.write("\n")
sys.stdout.flush() sys.stdout.flush()