DfuSe: support verify of STBee Mini
This commit is contained in:
@@ -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,19 +248,23 @@ class DFU_STM32:
|
|||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
addr += 1024
|
addr += 1024
|
||||||
i += 1
|
i += 1
|
||||||
# 0-length write at the end
|
if self.__protocol == DFU_STM32PROTOCOL_0:
|
||||||
self.ll_download_block(self.__blocknum, None)
|
# 0-length write at the end
|
||||||
s = self.ll_get_status()
|
self.ll_download_block(self.__blocknum, None)
|
||||||
if s[4] == STATE_DFU_MANIFEST:
|
s = self.ll_get_status()
|
||||||
time.sleep(1)
|
if s[4] == STATE_DFU_MANIFEST:
|
||||||
try:
|
time.sleep(1)
|
||||||
s = self.ll_get_status()
|
try:
|
||||||
except:
|
s = self.ll_get_status()
|
||||||
|
except:
|
||||||
|
self.__devhandle.reset()
|
||||||
|
elif s[4] == STATE_DFU_MANIFEST_WAIT_RESET:
|
||||||
self.__devhandle.reset()
|
self.__devhandle.reset()
|
||||||
elif s[4] == STATE_DFU_MANIFEST_WAIT_RESET:
|
elif s[4] != STATE_DFU_IDLE:
|
||||||
self.__devhandle.reset()
|
raise ValueError, "write failed (%d)." % s[4]
|
||||||
elif s[4] != STATE_DFU_IDLE:
|
else:
|
||||||
raise ValueError, "write failed (%d)." % s[4]
|
self.ll_clear_status()
|
||||||
|
self.ll_clear_status()
|
||||||
sys.stdout.write("\n")
|
sys.stdout.write("\n")
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user