Add serial disconnect function.

This commit is contained in:
iabdalkader 2016-04-27 18:27:36 +02:00
parent 3f0340d103
commit 03eb277aa9
2 changed files with 11 additions and 5 deletions

View File

@ -115,6 +115,7 @@ class Bootloader:
return True
def task_connect(self, state):
openmv.disconnect()
try:
# Attempt to connect to bootloader
openmv.init(self.port, self.baud, timeout=0.050)
@ -123,12 +124,11 @@ class Bootloader:
state["bar"].set_text("Erasing...")
self.cancel_button.set_sensitive(False)
except Exception as e:
openmv.disconnect()
if self.flash_msg:
state["bar"].set_text("Connecting to bootloader...\
\n ")
state["bar"].set_text("Connecting to bootloader...\n ")
else:
state["bar"].set_text("Connecting to bootloader...\
\nDisconnect and re-connect cam!")
state["bar"].set_text("Connecting to bootloader...\nDisconnect and re-connect cam!")
self.flash_msg = self.flash_msg ^ 1
sleep(0.100)
@ -152,7 +152,6 @@ class Bootloader:
# Send chunk
chunk = min (60, xfer_total-xfer_bytes)
#openmv.flash_write(buf[xfer_bytes:xfer_bytes+chunk], xfer_bytes)
openmv.flash_write(buf[xfer_bytes : xfer_bytes+chunk])
xfer_bytes += chunk

View File

@ -50,6 +50,13 @@ def init(port, baudrate=921600, timeout=0.3):
# open CDC port
__serial = serial.Serial(port, baudrate=baudrate, timeout=timeout)
def disconnect():
try:
if (__serial):
__serial.close()
except:
pass
def set_timeout(timeout):
__serial.timeout = timeout