chiark / gitweb /
Fix timelaps recording support
authordaid303 <daid303@gmail.com>
Mon, 1 Oct 2012 12:36:47 +0000 (14:36 +0200)
committerdaid303 <daid303@gmail.com>
Mon, 1 Oct 2012 12:36:47 +0000 (14:36 +0200)
Cura/gui/opengl.py
Cura/gui/printWindow.py
Cura/gui/webcam.py
Cura/util/machineCom.py
package.sh

index f553e27f9ea84bf96286a8b7c9138a2d07aefec4..fe1cf58353f53a5086ccaf6d8cb53c2023e80896 100644 (file)
@@ -337,12 +337,14 @@ def DrawGCodeLayer(layer):
                                c = retractColor\r
                        else:\r
                                c = moveColor\r
+               zOffset = 0.01\r
                if path.type == 'extrude':\r
                        if path.pathType == 'FILL':\r
                                c = fillColorCycle[fillCycle]\r
                                fillCycle = (fillCycle + 1) % len(fillColorCycle)\r
                        elif path.pathType == 'WALL-INNER':\r
                                c = innerWallColor\r
+                               zOffset = 0.02\r
                        elif path.pathType == 'SUPPORT':\r
                                c = supportColor\r
                        elif path.pathType == 'SKIRT':\r
@@ -375,10 +377,10 @@ def DrawGCodeLayer(layer):
 \r
                                glBegin(GL_QUADS)\r
                                glColor3fv(c)\r
-                               glVertex3f(vv0.x, vv0.y, vv0.z - 0.01)\r
-                               glVertex3f(vv1.x, vv1.y, vv1.z - 0.01)\r
-                               glVertex3f(vv3.x, vv3.y, vv3.z - 0.01)\r
-                               glVertex3f(vv2.x, vv2.y, vv2.z - 0.01)\r
+                               glVertex3f(vv0.x, vv0.y, vv0.z - zOffset)\r
+                               glVertex3f(vv1.x, vv1.y, vv1.z - zOffset)\r
+                               glVertex3f(vv3.x, vv3.y, vv3.z - zOffset)\r
+                               glVertex3f(vv2.x, vv2.y, vv2.z - zOffset)\r
                                glEnd()\r
                                if prevNormal != None:\r
                                        n = (normal + prevNormal)\r
@@ -387,15 +389,15 @@ def DrawGCodeLayer(layer):
                                        vv5 = v0 - n * lineWidth\r
                                        glBegin(GL_QUADS)\r
                                        glColor3fv(c)\r
-                                       glVertex3f(vv2.x, vv2.y, vv2.z)\r
-                                       glVertex3f(vv4.x, vv4.y, vv4.z)\r
-                                       glVertex3f(prevVv3.x, prevVv3.y, prevVv3.z)\r
-                                       glVertex3f(v0.x, v0.y, v0.z)\r
+                                       glVertex3f(vv2.x, vv2.y, vv2.z - zOffset)\r
+                                       glVertex3f(vv4.x, vv4.y, vv4.z - zOffset)\r
+                                       glVertex3f(prevVv3.x, prevVv3.y, prevVv3.z - zOffset)\r
+                                       glVertex3f(v0.x, v0.y, v0.z - zOffset)\r
                                        \r
-                                       glVertex3f(vv0.x, vv0.y, vv0.z)\r
-                                       glVertex3f(vv5.x, vv5.y, vv5.z)\r
-                                       glVertex3f(prevVv1.x, prevVv1.y, prevVv1.z)\r
-                                       glVertex3f(v0.x, v0.y, v0.z)\r
+                                       glVertex3f(vv0.x, vv0.y, vv0.z - zOffset)\r
+                                       glVertex3f(vv5.x, vv5.y, vv5.z - zOffset)\r
+                                       glVertex3f(prevVv1.x, prevVv1.y, prevVv1.z - zOffset)\r
+                                       glVertex3f(v0.x, v0.y, v0.z - zOffset)\r
                                        glEnd()\r
                                        \r
                                prevNormal = normal\r
index 0261b6104092829ab6cf47cac1ec74e150967e21..a9846f09376d192793f6474b0cc2f7917d174881 100644 (file)
@@ -111,7 +111,7 @@ class printWindow(wx.Frame):
                \r
                sb = wx.StaticBox(self.panel, label="Statistics")\r
                boxsizer = wx.StaticBoxSizer(sb, wx.VERTICAL)\r
-               self.statsText = wx.StaticText(self.panel, -1, "Filament: ####.##m #.##g\nPrint time: #####:##\nMachine state:\nDetecting baudrateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")\r
+               self.statsText = wx.StaticText(self.panel, -1, "Filament: ####.##m #.##g\nEstimated print time: #####:##\nMachine state:\nDetecting baudrateXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")\r
                boxsizer.Add(self.statsText, flag=wx.LEFT, border=5)\r
                \r
                self.sizer.Add(boxsizer, pos=(0,0), span=(6,1), flag=wx.EXPAND)\r
@@ -244,7 +244,7 @@ class printWindow(wx.Frame):
                        sizer = wx.GridBagSizer(2, 2)\r
                        self.camPage.SetSizer(sizer)\r
                        \r
-                       self.timelapsEnable = wx.CheckBox(self.camPage, -1, 'Enable timelaps')\r
+                       self.timelapsEnable = wx.CheckBox(self.camPage, -1, 'Enable timelaps movie recording')\r
                        sizer.Add(self.timelapsEnable, pos=(0,0), span=(1,2), flag=wx.EXPAND)\r
                        \r
                        pages = self.cam.propertyPages()\r
@@ -340,7 +340,7 @@ class printWindow(wx.Frame):
                        cost = self.gcode.calculateCost()\r
                        if cost != False:\r
                                status += "Filament cost: %s\n" % (cost)\r
-                       status += "Print time: %02d:%02d\n" % (int(self.gcode.totalMoveTimeMinute / 60), int(self.gcode.totalMoveTimeMinute % 60))\r
+                       status += "Estimated print time: %02d:%02d\n" % (int(self.gcode.totalMoveTimeMinute / 60), int(self.gcode.totalMoveTimeMinute % 60))\r
                if self.machineCom == None or not self.machineCom.isPrinting():\r
                        self.progress.SetValue(0)\r
                        if self.gcodeList != None:\r
@@ -384,8 +384,6 @@ class printWindow(wx.Frame):
                self.UpdateButtonStates()\r
        \r
        def OnCancel(self, e):\r
-               if self.cam != None:\r
-                       self.cam.endTimelaps()\r
                self.pauseButton.SetLabel('Pause')\r
                self.machineCom.cancelPrint()\r
                self.machineCom.sendCommand("M84")\r
@@ -503,6 +501,8 @@ class printWindow(wx.Frame):
                self.temperatureGraph.addPoint(temp, self.temperatureSelect.GetValue(), bedTemp, self.bedTemperatureSelect.GetValue())\r
        \r
        def mcStateChange(self, state):\r
+               if self.machineCom != None and state == self.machineCom.STATE_OPERATIONAL and self.cam != None:\r
+                       self.cam.endTimelaps()\r
                wx.CallAfter(self.UpdateButtonStates)\r
                wx.CallAfter(self.UpdateProgress)\r
        \r
@@ -513,6 +513,7 @@ class printWindow(wx.Frame):
                wx.CallAfter(self.UpdateProgress)\r
        \r
        def mcZChange(self, newZ):\r
+               self.currentZ = newZ\r
                if self.cam != None:\r
                        wx.CallAfter(self.cam.takeNewImage)\r
                        wx.CallAfter(self.camPreview.Refresh)\r
index fff9b2b6a936c0daa117dd33c6cc986fa418c332..cf5448aace869d3d83fdc72ac216de6188d8dc6b 100644 (file)
@@ -99,6 +99,7 @@ class webcam(object):
                self._timelapsFilename = filename\r
                self._snapshotCount = 0\r
                self._doTimelaps = True\r
+               print "startTimelaps"\r
        \r
        def endTimelaps(self):\r
                if self._doTimelaps:\r
index a5f211d4d33ed13c4c0be3ddcf6970878f24bc0c..b77ce98bdbe174506242e3b714aaec5f77b8d2ca 100644 (file)
@@ -89,7 +89,7 @@ class VirtualPrinter():
                                return ''
                        if self.readList == None:
                                return ''
-               time.sleep(0.01)
+               time.sleep(0.001)
                #print "Recv: %s" % (self.readList[0].rstrip())
                return self.readList.pop(0)
        
@@ -258,6 +258,7 @@ class MachineCom(object):
        
        def _monitor(self):
                timeout = time.time() + 5
+               tempRequestTimeout = timeout
                while True:
                        line = self._readline()
                        if line == None:
@@ -362,7 +363,8 @@ class MachineCom(object):
                if ret == '':
                        #self._log("Recv: TIMEOUT")
                        return ''
-               self._log("Recv: %s" % (unicode(ret, 'ascii', 'replace').encode('ascii', 'replace').rstrip()))
+               if ret != 'ok\n':
+                       self._log("Recv: %s" % (unicode(ret, 'ascii', 'replace').encode('ascii', 'replace').rstrip()))
                return ret
        
        def close(self, isError = False):
@@ -380,7 +382,8 @@ class MachineCom(object):
        def _sendCommand(self, cmd):
                if self._serial == None:
                        return
-               self._log('Send: %s' % (cmd))
+               if not cmd.startswith('N'):
+                       self._log('Send: %s' % (cmd))
                try:
                        #TODO: This can throw a write timeout exception, but we do not want timeout on writes. Find a fix for this.
                        #       Oddly enough, the write timeout is not even set and thus we should not get a write timeout.
index dc70e807173b2ab03f8de04ac59a876f57b09b74..3b08192f63789fcb83cdd1fa8b6e3c7b8c95d9c0 100755 (executable)
@@ -124,13 +124,14 @@ if [ $BUILD_TARGET = "win32" ]; then
        7z x ffmpeg-20120927-git-13f0cd6-win32-static.7z ffmpeg-20120927-git-13f0cd6-win32-static/bin/ffmpeg.exe
 
        mkdir -p ${TARGET_DIR}/python
+       mkdir -p ${TARGET_DIR}/Cura/
        mv \$_OUTDIR/App/* ${TARGET_DIR}/python
        mv \$_OUTDIR/Lib/site-packages/wx* ${TARGET_DIR}/python/Lib/site-packages/
        mv PURELIB/serial ${TARGET_DIR}/python/Lib
        mv PURELIB/OpenGL ${TARGET_DIR}/python/Lib
        mv PLATLIB/numpy ${TARGET_DIR}/python/Lib
        mv VideoCapture-0.9-5/Python27/DLLs/vidcap.pyd ${TARGET_DIR}/python/DLLs
-       mv ffmpeg-20120927-git-13f0cd6-win32-static/bin/ffmpeg.exe ${TARGET_DIR}/Cura
+       mv ffmpeg-20120927-git-13f0cd6-win32-static/bin/ffmpeg.exe ${TARGET_DIR}/Cura/
        rm -rf \$_OUTDIR
        rm -rf PURELIB
        rm -rf PLATLIB