import wx, threading, re, subprocess, sys, os\r
from wx.lib import buttons\r
\r
-from gui import machineCom\r
from gui import icon\r
from gui import toolbarUtil\r
+from util import machineCom\r
from util import profile\r
from util import gcodeInterpreter\r
\r
self.sendList = []\r
self.printIdx = None\r
self.temp = None\r
+ self.bedTemp = None\r
self.bufferLineCount = 4\r
self.sendCnt = 0\r
\r
h = self.connectButton.GetSize().GetHeight()\r
self.temperatureSelect = wx.SpinCtrl(self.panel, -1, '0', size=(21*3,21), style=wx.SP_ARROW_KEYS)\r
self.temperatureSelect.SetRange(0, 400)\r
+ self.bedTemperatureLabel = wx.StaticText(self.panel, -1, "BedTemp:")\r
+ self.bedTemperatureSelect = wx.SpinCtrl(self.panel, -1, '0', size=(21*3,21), style=wx.SP_ARROW_KEYS)\r
+ self.bedTemperatureSelect.SetRange(0, 400)\r
+ self.bedTemperatureLabel.Show(False)\r
+ self.bedTemperatureSelect.Show(False)\r
\r
self.sizer.Add(self.connectButton, pos=(0,1))\r
#self.sizer.Add(self.loadButton, pos=(1,1))\r
\r
self.sizer.Add(wx.StaticText(self.panel, -1, "Temp:"), pos=(0,3))\r
self.sizer.Add(self.temperatureSelect, pos=(0,4))\r
+ self.sizer.Add(self.bedTemperatureLabel, pos=(0,5))\r
+ self.sizer.Add(self.bedTemperatureSelect, pos=(0,6))\r
\r
self.directControlPanel = wx.Panel(self.panel)\r
self.sizer.Add(self.directControlPanel, pos=(1,3), span=(5,4))\r
self.cancelButton.Bind(wx.EVT_BUTTON, self.OnCancel)\r
\r
self.Bind(wx.EVT_SPINCTRL, self.OnTempChange, self.temperatureSelect)\r
+ self.Bind(wx.EVT_SPINCTRL, self.OnBedTempChange, self.bedTemperatureSelect)\r
\r
self.Layout()\r
self.Fit()\r
self.progress.SetValue(self.printIdx)\r
if self.temp != None:\r
status += 'Temp: %d\n' % (self.temp)\r
+ if self.bedTemp != None and self.bedTemp > 0:\r
+ status += 'Bed Temp: %d\n' % (self.bedTemp)\r
+ self.bedTemperatureLabel.Show(True)\r
+ self.bedTemperatureSelect.Show(True)\r
self.statsText.SetLabel(status.strip())\r
self.Layout()\r
\r
def OnTempChange(self, e):\r
self.sendCommand("M104 S%d" % (self.temperatureSelect.GetValue()))\r
\r
+ def OnBedTempChange(self, e):\r
+ self.sendCommand("M140 S%d" % (self.bedTemperatureSelect.GetValue()))\r
+\r
def LoadGCodeFile(self, filename):\r
if self.printIdx != None:\r
return\r
wx.CallAfter(self.UpdateButtonStates)\r
if 'T:' in line:\r
self.temp = float(re.search("[0-9\.]*", line.split('T:')[1]).group(0))\r
+ if 'B:' in line:\r
+ self.bedTemp = float(re.search("[0-9\.]*", line.split('B:')[1]).group(0))\r
wx.CallAfter(self.UpdateProgress)\r
if self.printIdx == None:\r
if line == '': #When we have a communication "timeout" and we're not sending gcode, then read the temperature.\r