fix minor bugs

master
Firmware Batman 2017-08-22 16:13:35 -07:00
parent 91e19756be
commit 441110e7a2
2 changed files with 16 additions and 6 deletions

View File

@ -188,8 +188,9 @@ class ESPROM(object):
self.sync()
self._port.timeout = 5
return
except:
traceback.print_exc()
except Exception:
print("Connection timeout.")
#traceback.print_exc()
time.sleep(0.05)
raise FatalError('Failed to connect to ESP8266')

View File

@ -73,7 +73,10 @@ class PandaDFU(object):
self._handle.controlWrite(0x21, DFU_DNLOAD, 0, 0, "\x41" + struct.pack("I", address))
self.status()
def program(self, address, dat, block_size):
def program(self, address, dat, block_size=None):
if block_size == None:
block_size = len(dat)
# Set Address Pointer
self._handle.controlWrite(0x21, DFU_DNLOAD, 0, 0, "\x21" + struct.pack("I", address))
self.status()
@ -90,8 +93,11 @@ class PandaDFU(object):
# **** Reset ****
self._handle.controlWrite(0x21, DFU_DNLOAD, 0, 0, "\x21" + struct.pack("I", 0x8000000))
self.status()
self._handle.controlWrite(0x21, DFU_DNLOAD, 2, 0, "")
stat = str(self._handle.controlRead(0x21, DFU_GETSTATUS, 0, 0, 6))
try:
self._handle.controlWrite(0x21, DFU_DNLOAD, 2, 0, "")
stat = str(self._handle.controlRead(0x21, DFU_GETSTATUS, 0, 0, 6))
except Exception:
pass
# *** wifi mode ***
@ -316,7 +322,10 @@ class Panda(object):
ret = []
for device in context.getDeviceList(skip_on_error=True):
if device.getVendorID() == 0xbbaa and device.getProductID() in [0xddcc, 0xddee]:
ret.append(device.getSerialNumber())
try:
ret.append(device.getSerialNumber())
except Exception:
continue
# TODO: detect if this is real
#ret += ["WIFI"]
return ret