chiark / gitweb /
Set machine dimensions
[cura.git] / Cura / gui / configWizard.py
index 1a8bb03cca800874e46f025fe8704beb6ad75427..d7955846f76465bf8d8cee02a6b1ea8706d25541 100644 (file)
@@ -1112,10 +1112,16 @@ class LulzbotMachineSelectPage(InfoPage):
                self.LulzbotMini = self.AddImageButton(self.panel, 0, 0, _("LulzBot Mini"),
                                                                                           'Lulzbot_mini.jpg', image_size, style=ImageButton.IB_GROUP)
                self.LulzbotMini.OnSelected(self.OnLulzbotMiniSelected)
-               self.LulzbotTaz = self.AddImageButton(self.panel, 0, 1, _("LulzBot TAZ 4 or 5"),
+               
+               self.LulzbotTaz6 = self.AddImageButton(self.panel, 0, 1, _("LulzBot TAZ 6"),
+                                                                                          'Lulzbot_TAZ6.jpg', image_size)
+               self.LulzbotTaz6.OnSelected(self.OnLulzbotTaz6Selected)
+               
+               self.LulzbotTaz = self.AddImageButton(self.panel, 1, 0, _("LulzBot TAZ 4 or 5"),
                                                                                           'Lulzbot_TAZ5.jpg', image_size)
                self.LulzbotTaz.OnSelected(self.OnLulzbotTazSelected)
-               self.OtherPrinters = self.AddImageButton(self.panel, 1, 0, _("Other Printers"),
+               
+               self.OtherPrinters = self.AddImageButton(self.panel, 1, 1, _("Other Printers"),
                                                                                                 'Generic-3D-Printer.png', image_size)
                self.OtherPrinters.OnSelected(self.OnOthersSelected)
                self.LulzbotMini.SetValue(True)
@@ -1131,6 +1137,9 @@ class LulzbotMachineSelectPage(InfoPage):
                wx.wizard.WizardPageSimple.Chain(self.GetParent().lulzbotMiniToolheadPage,
                                                                                 self.GetParent().lulzbotReadyPage)
 
+       def OnLulzbotTaz6Selected(self):
+               wx.wizard.WizardPageSimple.Chain(self, self.GetParent().lulzbotTaz6SelectPage)
+
        def OnLulzbotTazSelected(self):
                wx.wizard.WizardPageSimple.Chain(self, self.GetParent().lulzbotTazSelectPage)
 
@@ -1141,7 +1150,7 @@ class LulzbotMachineSelectPage(InfoPage):
                return False
 
        def StoreData(self):
-               if self.LulzbotTaz.GetValue() or self.LulzbotMini.GetValue():
+               if self.LulzbotTaz.GetValue() or self.LulzbotMini.GetValue() or self.LulzbotTaz6.GetValue():
                        if self.LulzbotTaz.GetValue():
                                profile.putMachineSetting('machine_width', '290')
                                profile.putMachineSetting('machine_depth', '275')
@@ -1152,6 +1161,16 @@ class LulzbotMachineSelectPage(InfoPage):
                                profile.putMachineSetting('extruder_head_size_min_y', '0.0')
                                profile.putMachineSetting('extruder_head_size_max_y', '0.0')
                                profile.putMachineSetting('extruder_head_size_height', '0.0')
+                       elif self.LulzbotTaz6.GetValue():
+                               profile.putMachineSetting('machine_width', '280')
+                               profile.putMachineSetting('machine_depth', '280')
+                               profile.putMachineSetting('machine_height', '250')
+                               profile.putMachineSetting('serial_baud', '115200')
+                               profile.putMachineSetting('extruder_head_size_min_x', '0.0')
+                               profile.putMachineSetting('extruder_head_size_max_x', '0.0')
+                               profile.putMachineSetting('extruder_head_size_min_y', '0.0')
+                               profile.putMachineSetting('extruder_head_size_max_y', '0.0')
+                               profile.putMachineSetting('extruder_head_size_height', '0.0')
                        else:
                                # Nozzle diameter and machine type will be set in the toolhead selection page
                                profile.putMachineSetting('machine_name', 'LulzBot Mini')
@@ -1213,18 +1232,43 @@ class LulzbotMiniToolheadSelectPage(InfoPage):
                        profile.putMachineSetting('toolhead_shortname', 'Flexystruder')
                        profile.putMachineSetting('machine_type', 'lulzbot_mini_flexystruder')
 
+class LulzbotTaz6SelectPage(InfoPage):
+       def __init__(self, parent):
+               super(LulzbotTaz6SelectPage, self).__init__(parent, _("LulzBot TAZ 6 Selection"))
+
+               self.panel = self.AddPanel()
+               image_size=(LulzbotMachineSelectPage.IMAGE_WIDTH, LulzbotMachineSelectPage.IMAGE_HEIGHT)
+               self.taz6 = self.AddImageButton(self.panel, 0, 0, _('Tilapia'),
+                                                                               'Lulzbot_Toolhead_TAZ_Tilapia.jpg', image_size,
+                                                                               style=ImageButton.IB_GROUP)
+               self.taz6.OnSelected(self.OnTilapiaSelected)
+               self.taz6.SetValue(True)
+
+       def OnPageShown(self):
+               self.taz6.TriggerGroupCallbacks()
+
+       def OnTilapiaSelected(self):
+               wx.wizard.WizardPageSimple.Chain(self, self.GetParent().lulzbotReadyPage)
+
+       def StoreData(self):
+               profile.putProfileSetting('nozzle_size',  '0.5')
+               profile.putMachineSetting('extruder_amount', '1')
+               profile.putMachineSetting('toolhead', 'Single Extruder Tilapia')
+               profile.putMachineSetting('toolhead_shortname', 'Tilapia')
+               profile.putMachineSetting('machine_type', 'lulzbot_TAZ_6_Single_Tilapia')
+               profile.putMachineSetting('machine_name', 'LulzBot TAZ 6')
 
 class LulzbotTazSelectPage(InfoPage):
        def __init__(self, parent):
-               super(LulzbotTazSelectPage, self).__init__(parent, _("LulzBot TAZ Selection"))
+               super(LulzbotTazSelectPage, self).__init__(parent, _("LulzBot TAZ 4-5 Selection"))
 
                self.panel = self.AddPanel()
                image_size=(LulzbotMachineSelectPage.IMAGE_WIDTH, LulzbotMachineSelectPage.IMAGE_HEIGHT)
-               self.taz5 = self.AddImageButton(self.panel, 0, 0, _('Stock TAZ 5 (PEI and v2)'),
+               self.taz5 = self.AddImageButton(self.panel, 0, 0, _('Stock TAZ 5 (PEI && v2)'),
                                                                                'Lulzbot_TAZ_5_Hex_and_PEI.jpg', image_size,
                                                                                style=ImageButton.IB_GROUP)
                self.taz5.OnSelected(self.OnTaz5Selected)
-               self.taz4 = self.AddImageButton(self.panel, 0, 1, _('Stock TAZ 4 (PET and v1)'),
+               self.taz4 = self.AddImageButton(self.panel, 0, 1, _('Stock TAZ 4 (PET && v1)'),
                                                                                'Lulzbot_TAZ_4_Buda_and_PET.jpg', image_size)
                self.taz4.OnSelected(self.OnTaz4Selected)
                self.modified = self.AddImageButton(self.panel, 1, 0, _('Modified LulzBot TAZ 4 or 5'),
@@ -1285,7 +1329,6 @@ class LulzbotTazBedSelectPage(InfoPage):
                        profile.putMachineSetting('machine_type', 'lulzbot_TAZ_4')
                        profile.putMachineSetting('machine_name', 'LulzBot TAZ 4')
 
-
 class LulzbotTazToolheadSelectPage(InfoPage):
        def __init__(self, parent):
                super(LulzbotTazToolheadSelectPage, self).__init__(parent, _("LulzBot TAZ Tool Head Selection"))
@@ -1438,15 +1481,14 @@ class LulzbotFirmwareUpdatePage(InfoPage):
        def __init__(self, parent):
                super(LulzbotFirmwareUpdatePage, self).__init__(parent, _("LulzBot Firmware Update"))
 
-               self.AddText(_('Your LulzBot printer\'s firmware will now be updated.'))
+               self.AddText(_("Your LulzBot printer\'s firmware will now be updated.\n" +
+               "Note: this will overwrite your existing firmware."))
                self.AddSeperator()
-               self.AddText(_("Firmware is the \"brain\" inside your 3D printer.\n" +
-                                          "It controls motors/heaters, regulates temperature\n" +
-                                          "and ultimately makes your printer work."))
-               self.AddHiddenSeperator()
-               self.AddText(_("When changing tool heads it is neccesary to update the firmware.\n" +
-                                          "Please connect (with a USB cable) the printer you are currently configuring and power it on.\n" +
-                                          "Disconnecting all other 3D printers helps reduce confusion."))
+               self.AddText(_("Follow these steps to prevent writing firmware to the wrong device:\n" +
+                                          "    1) Unplug all USB devices from your computer\n" +
+                                          "    2) Plug your 3D Printer into the computer with a USB cable\n" +
+                                          "    3) Turn on your 3D Printer\n" +
+                                          "    4) Click \"Flash the firmware\""))
                self.AddHiddenSeperator()
                upgradeButton, skipUpgradeButton = self.AddDualButton(_('Flash the firmware'), _('Skip upgrade'))
                upgradeButton.Bind(wx.EVT_BUTTON, self.OnUpgradeClick)
@@ -1462,13 +1504,11 @@ class LulzbotFirmwareUpdatePage(InfoPage):
 
        def OnSkipClick(self, e):
                dlg = wx.MessageDialog(self,
-                       _("CAUTION: Updating your firmware is strongly recommended and " \
-                         "critical to protecting your LulzBot with the latest updates " \
-                         "and settings. Expert users note that this will overwrite " \
-                         " firmware changes or customization; you can skip this step " \
-                         "at your discretion.\n\n" +
-                         "Are you sure you want to skip the firmware upgrade?"),
-                       _('Skip firmware upgrade?'),
+                       _("CAUTION: Updating firmware is necessary when changing the\n" \
+                         "tool head on your LulzBot desktop 3D Printer." \
+                         "\n\n" +
+                         "Are you sure you want to skip the firmware update?"),
+                       _('Skip firmware update?'),
                        wx.YES_NO | wx.ICON_EXCLAMATION)
                skip = dlg.ShowModal() == wx.ID_YES
                dlg.Destroy()
@@ -1519,6 +1559,8 @@ class LulzbotChangeToolheadWizard(wx.wizard.Wizard):
                        self.FindWindowById(wx.ID_BACKWARD).Enable()
                else:
                        self.FindWindowById(wx.ID_BACKWARD).Disable()
+               if hasattr(e.GetPage(), 'OnPageShown'):
+                       e.GetPage().OnPageShown()
 
        def OnCancel(self, e):
                profile.putProfileSetting('nozzle_size', self._nozzle_size)
@@ -1536,7 +1578,6 @@ class ConfigWizard(wx.wizard.Wizard):
 
                self.Bind(wx.wizard.EVT_WIZARD_PAGE_CHANGED, self.OnPageChanged)
                self.Bind(wx.wizard.EVT_WIZARD_PAGE_CHANGING, self.OnPageChanging)
-               self.Bind(wx.wizard.EVT_WIZARD_PAGE_SHOWN, self.OnPageShown)
                self.Bind(wx.wizard.EVT_WIZARD_CANCEL, self.OnCancel)
 
                self.machineSelectPage = MachineSelectPage(self)
@@ -1562,6 +1603,7 @@ class ConfigWizard(wx.wizard.Wizard):
                self.lulzbotMachineSelectPage = LulzbotMachineSelectPage(self)
                self.lulzbotTazBedSelectPage = LulzbotTazBedSelectPage(self)
                self.lulzbotTazSelectPage = LulzbotTazSelectPage(self)
+               self.lulzbotTaz6SelectPage = LulzbotTaz6SelectPage(self)
 
                wx.wizard.WizardPageSimple.Chain(self.lulzbotMachineSelectPage, self.lulzbotMiniToolheadPage)
                wx.wizard.WizardPageSimple.Chain(self.lulzbotMiniToolheadPage, self.lulzbotReadyPage)
@@ -1576,11 +1618,6 @@ class ConfigWizard(wx.wizard.Wizard):
                self.RunWizard(self.lulzbotMachineSelectPage)
                self.Destroy()
 
-       def OnPageShown(self, e):
-               page = e.GetPage()
-               if hasattr(page, 'OnPageShown'):
-                       page.OnPageShown()
-
        def OnPageChanging(self, e):
                e.GetPage().StoreData()
 
@@ -1593,6 +1630,8 @@ class ConfigWizard(wx.wizard.Wizard):
                        self.FindWindowById(wx.ID_BACKWARD).Enable()
                else:
                        self.FindWindowById(wx.ID_BACKWARD).Disable()
+               if hasattr(e.GetPage(), 'OnPageShown'):
+                       e.GetPage().OnPageShown()
 
        def OnCancel(self, e):
                new_machine_index = int(profile.getPreferenceFloat('active_machine'))