wx.CallAfter(self.AddProgressText, "Checking start message...")\r
if self.DoCommCommandWithTimeout(None, 'start') == False:\r
wx.CallAfter(self.AddProgressText, "Error: Missing start message.")\r
+ self.comm.close()\r
return\r
\r
wx.CallAfter(self.AddProgressText, "Disabling step motors...")\r
if self.DoCommCommandWithTimeout('M84') == False:\r
wx.CallAfter(self.AddProgressText, "Error: Missing reply to Deactivate steppers (M84).")\r
wx.CallAfter(self.AddProgressText, "Possible cause: Temperature MIN/MAX.\nCheck temperature sensor connections.")\r
+ self.comm.close()\r
return\r
\r
wx.MessageBox('Please move the printer head to the center of the machine\nalso move the platform so it is not at the highest or lowest position,\nand make sure the machine is powered on.', 'Machine check', wx.OK | wx.ICON_INFORMATION)\r
wx.CallAfter(self.AddProgressText, "(This takes about 30 seconds)")\r
if self.DoCommCommandWithTimeout("M104 S100") == False:\r
wx.CallAfter(self.AddProgressText, "Failed to set temperature")\r
+ self.comm.close()\r
return\r
\r
time.sleep(25)\r
\r
if self.DoCommCommandWithTimeout("M104 S0") == False:\r
wx.CallAfter(self.AddProgressText, "Failed to set temperature")\r
+ self.comm.close()\r
return\r
\r
if tempInc < 15:\r
wx.CallAfter(self.AddProgressText, "Your temperature sensor or heater is not working!")\r
+ self.comm.close()\r
return\r
wx.CallAfter(self.AddProgressText, "Heater and temperature sensor working\nWarning: head might still be hot!")\r
\r
wx.CallAfter(self.AddProgressText, "Checking endstops")\r
if self.DoCommCommandWithTimeout('M119', 'x_min') != "x_min:L x_max:L y_min:L y_max:L z_min:L z_max:L":\r
wx.CallAfter(self.AddProgressText, "Error: There is a problem in your endstops!\nOne of them seems to be pressed while it shouldn't\ncheck the cable connections and the switches themselfs.")\r
+ self.comm.close()\r
return\r
wx.CallAfter(self.AddProgressText, "Please press the X end switch in the front left corner.")\r
if not self.DoCommCommandAndWaitForReply('M119', 'x_min', "x_min:H x_max:L y_min:L y_max:L z_min:L z_max:L"):\r
wx.CallAfter(self.AddProgressText, "Failed to check the x_min endstop!")\r
+ self.comm.close()\r
return\r
wx.CallAfter(self.AddProgressText, "Please press the X end switch in the front right corner.")\r
if not self.DoCommCommandAndWaitForReply('M119', 'x_min', "x_min:L x_max:H y_min:L y_max:L z_min:L z_max:L"):\r
wx.CallAfter(self.AddProgressText, "Failed to check the x_max endstop!")\r
+ self.comm.close()\r
return\r
wx.CallAfter(self.AddProgressText, "Please press the Y end switch in the front left corner.")\r
if not self.DoCommCommandAndWaitForReply('M119', 'x_min', "x_min:L x_max:L y_min:H y_max:L z_min:L z_max:L"):\r
wx.CallAfter(self.AddProgressText, "Failed to check the x_max endstop!")\r
+ self.comm.close()\r
return\r
wx.CallAfter(self.AddProgressText, "Please press the Y end switch in the back left corner.")\r
if not self.DoCommCommandAndWaitForReply('M119', 'x_min', "x_min:L x_max:L y_min:L y_max:H z_min:L z_max:L"):\r
wx.CallAfter(self.AddProgressText, "Failed to check the x_max endstop!")\r
+ self.comm.close()\r
return\r
wx.CallAfter(self.AddProgressText, "Please press the Z end switch in the top.")\r
if not self.DoCommCommandAndWaitForReply('M119', 'x_min', "x_min:L x_max:L y_min:L y_max:L z_min:H z_max:L"):\r
wx.CallAfter(self.AddProgressText, "Failed to check the x_max endstop!")\r
+ self.comm.close()\r
return\r
wx.CallAfter(self.AddProgressText, "Please press the Z end switch in the bottom.")\r
if not self.DoCommCommandAndWaitForReply('M119', 'x_min', "x_min:L x_max:L y_min:L y_max:L z_min:L z_max:H"):\r
wx.CallAfter(self.AddProgressText, "Failed to check the x_max endstop!")\r
+ self.comm.close()\r
return\r
wx.CallAfter(self.AddProgressText, "End stops are working.")\r
\r
\r
def OnRun(self):\r
self.comm = machineCom.MachineCom()\r
+ while True:\r
+ line = self.comm.readline()\r
+ if line == '':\r
+ return\r
+ if line.startswith('start'):\r
+ break\r
self.sendGCommand('M302') #Disable cold extrusion protection\r
self.sendGCommand("G92 E0");\r
self.sendGCommand("G1 E100 F300");\r
+ time.sleep(5)\r
self.comm.close()\r
\r
def sendGCommand(self, cmd):\r
validators.warningAbove(c, 260.0, "Temperatures above 260C could damage your machine, be careful!")
configBase.TitleRow(right, "Support")
- c = configBase.SettingRow(right, "Support type", 'support', ['None', 'Exterior only', 'Everywhere', 'Empty layers only'], 'Type of support structure build.\nNone does not do any support.\nExterior only only creates support on the outside.\nEverywhere creates support even on the insides of the model.\nOnly on empty layers is for stacked objects.')
+ c = configBase.SettingRow(right, "Support type", 'support', ['None', 'Exterior Only', 'Everywhere', 'Empty Layers Only'], 'Type of support structure build.\nNone does not do any support.\nExterior only only creates support on the outside.\nEverywhere creates support even on the insides of the model.\nOnly on empty layers is for stacked objects.')
configBase.TitleRow(right, "Filament")
c = configBase.SettingRow(right, "Diameter (mm)", 'filament_diameter', '2.89', 'Diameter of your filament, as accurately as possible.\nIf you cannot measure this value you will have to callibrate it, a higher number means less extrusion, a smaller number generates more extrusion.')