chiark / gitweb /
Better catch errors in first run wizard.
[cura.git] / Cura / gui / configWizard.py
index 812b073f0f9c89b7d513d6f32a8c68d745ce731d..50f849896cf838dba6ea26c7c4433df11353b6dd 100644 (file)
@@ -174,6 +174,11 @@ class UltimakerCheckupPage(InfoPage):
        def OnRun(self):\r
                wx.CallAfter(self.AddProgressText, "Connecting to machine...")\r
                self.comm = machineCom.MachineCom()\r
+               \r
+               if not self.comm.isOpen():\r
+                       wx.CallAfter(self.AddProgressText, "Error: Failed to open serial port to machine")\r
+                       wx.CallAfter(self.AddProgressText, "If this keeps happening, try disconnecting and reconnecting the USB cable")\r
+                       return\r
 \r
                wx.CallAfter(self.AddProgressText, "Checking start message...")\r
                if self.DoCommCommandWithTimeout(None, 'start') == False:\r
@@ -288,10 +293,10 @@ class UltimakerCheckupPage(InfoPage):
                t.start()\r
                while True:\r
                        line = self.comm.readline()\r
-                       if line == '':\r
+                       if line == '' or line == None:\r
                                self.comm.close()\r
                                return False\r
-                       print line\r
+                       print line.rstrip()\r
                        if line.startswith(replyStart):\r
                                break\r
                t.cancel()\r
@@ -369,6 +374,10 @@ class UltimakerCalibrateStepsPerEPage(InfoPage):
                self.extrudeButton.Enable(False)\r
                currentEValue = float(self.stepsPerEInput.GetValue())\r
                self.comm = machineCom.MachineCom()\r
+               if not self.comm.isOpen():\r
+                       wx.CallAfter(self.AddProgressText, "Error: Failed to open serial port to machine")\r
+                       wx.CallAfter(self.AddProgressText, "If this keeps happening, try disconnecting and reconnecting the USB cable")\r
+                       return\r
                while True:\r
                        line = self.comm.readline()\r
                        if line == '':\r
@@ -392,6 +401,10 @@ class UltimakerCalibrateStepsPerEPage(InfoPage):
        \r
        def OnHeatRun(self):\r
                self.comm = machineCom.MachineCom()\r
+               if not self.comm.isOpen():\r
+                       wx.CallAfter(self.AddProgressText, "Error: Failed to open serial port to machine")\r
+                       wx.CallAfter(self.AddProgressText, "If this keeps happening, try disconnecting and reconnecting the USB cable")\r
+                       return\r
                while True:\r
                        line = self.comm.readline()\r
                        if line == '':\r