Skip to content

Commit ab1d921

Browse files
committed
Better handling of device fails
1 parent 8606daa commit ab1d921

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

python/samples/i2cgui.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
from functools import partial
88

99
import serial.tools.list_ports as slp
10+
import serial
1011

1112
import wx
1213
import wx.lib.newevent as NE
1314

14-
from i2cdriver import I2CDriver
15+
import i2cdriver
1516

1617
PingEvent, EVT_PING = NE.NewEvent()
1718

@@ -216,9 +217,11 @@ def addrbutton(s):
216217
d1 = min(self.devs)
217218
try:
218219
self.connect(self.devs[d1])
219-
except serial.SerialException:
220+
except:
220221
del self.devs[d1]
221222
d1 = None
223+
cb.Set(sorted(self.devs.keys()))
224+
if d1 is not None:
222225
cb.SetValue(d1)
223226

224227
t = threading.Thread(target=ping_thr, args=(self, ))
@@ -275,7 +278,7 @@ def filter(d):
275278
return dict([d for d in seldev if d])
276279

277280
def connect(self, dev):
278-
self.sd = I2CDriver(dev)
281+
self.sd = i2cdriver.I2CDriver(dev)
279282
[w.Enable(True) for w in self.allw]
280283
self.refresh(None)
281284

@@ -350,6 +353,6 @@ def hot(self, i, s):
350353
except:
351354
import sys, traceback
352355
xc = traceback.format_exception(*sys.exc_info())
353-
dlg = wx.MessageDialog(None, "".join(xc), "i2cgui Error Trap", wx.OK | wx.ICON_WARNING)
356+
dlg = wx.MessageDialog(None, "".join(xc), "i2cgui Error Trap (%s)" % i2cdriver.__version__, wx.OK | wx.ICON_WARNING)
354357
dlg.ShowModal()
355358
dlg.Destroy()

0 commit comments

Comments
 (0)