'lulzbot_TAZ_4_FlexyDuallyV1': "Taz4-5-Dual-or-FlexyDually-Budaschnozzle-2015Q1.hex",
'lulzbot_TAZ_5_FlexyDuallyV1': "Taz4-5-Dual-or-FlexyDually-Budaschnozzle-2015Q1.hex",
'lulzbot_TAZ_4_FlexyDuallyV2': "Taz4-5-FlexyDually-LBHexagon-2015Q3.hex",
- 'lulzbot_TAZ_5_FlexyDuallyV2': "Taz4-5-FlexyDually-LBHexagon-2015Q3.hex"
+ 'lulzbot_TAZ_5_FlexyDuallyV2': "Taz4-5-FlexyDually-LBHexagon-2015Q3.hex",
+ 'lulzbot_TAZ_6_SingleTilapia': "Taz6-Single-Tilapia-2015-Q4.hex"
}
machine_type = profile.getMachineSetting('machine_type', machineIndex)
extruders = profile.getMachineSettingFloat('extruder_amount', machineIndex)
self.Layout()
self.Fit()
self.success = False
+ self.show_connect_dialog = False
def Run(self):
if self.filename is None:
self.thread.start()
self.ShowModal()
+ # Creating a MessageBox in a separate thread while main thread is locked inside a ShowModal
+ # will cause Python to crash with X errors. So we need to show the dialog here instead
+ if self.show_connect_dialog:
+ wx.MessageBox(_("Failed to find machine for firmware upgrade\nIs your machine connected to the PC?"),
+ _("Firmware update"), wx.OK | wx.ICON_ERROR)
return self.success
def OnRun(self):
programmer = stk500v2.Stk500v2()
programmer.progressCallback = self.OnProgress
if self.port == 'AUTO':
- wx.CallAfter(self.updateLabel, _("Please connect the printer to\nyour computer with the USB cable."))
+ wx.CallAfter(self.updateLabel, _("Please connect the printer to your\ncomputer with a USB cable and power it on."))
while not programmer.isConnected():
for self.port in machineCom.serialList(True):
try:
programmer.connect(self.port)
except ispBase.IspError:
programmer.close()
+ if not self:
+ #Window destroyed
+ return
if not programmer.isConnected():
- wx.MessageBox(_("Failed to find machine for firmware upgrade\nIs your machine connected to the PC?"),
- _("Firmware update"), wx.OK | wx.ICON_ERROR)
+ self.show_connect_dialog = True
wx.CallAfter(self.Close)
return
def updateLabel(self, text):
self.progressLabel.SetLabel(text)
- #self.Layout()
+ self.Layout()
def OnProgress(self, value, max):
if self:
programmer = stk500v2.Stk500v2()
programmer.progressCallback = self.OnProgress
if self.port == 'AUTO':
- wx.CallAfter(self.updateLabel, _("Please connect the printer to\nyour computer with the USB cable."))
+ wx.CallAfter(self.updateLabel, _("Please connect the printer to your\ncomputer with a USB cable and power it on."))
while not programmer.isConnected():
for self.port in machineCom.serialList(True):
try:
def updateLabel(self, text):
self.progressLabel.SetLabel(text)
- #self.Layout()
+ self.Layout()
def OnProgress(self, value, max):
wx.CallAfter(self.progressGauge.SetRange, max)