Merge branch 'master' of github.com:Ultimaker/Cura

This commit is contained in:
Ghostkeeper 2017-04-14 10:30:08 +02:00
commit 2cb45f698f
No known key found for this signature in database
GPG Key ID: C5F96EE2BC0F7E75
2 changed files with 28 additions and 7 deletions

18
.gitignore vendored
View File

@ -19,6 +19,7 @@ LC_MESSAGES
*~ *~
*.qm *.qm
.idea .idea
cura.desktop
# Eclipse+PyDev # Eclipse+PyDev
.project .project
@ -33,4 +34,21 @@ plugins/Doodle3D-cura-plugin
plugins/GodMode plugins/GodMode
plugins/PostProcessingPlugin plugins/PostProcessingPlugin
plugins/X3GWriter plugins/X3GWriter
plugins/FlatProfileExporter
plugins/cura-god-mode-plugin
#Build stuff
CMakeCache.txt
CMakeFiles
CPackSourceConfig.cmake
Testing/
CTestTestfile.cmake
Makefile*
junit-pytest-*
CuraVersion.py
cmake_install.cmake
#Debug
*.gcode
run.sh

View File

@ -148,6 +148,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
## Start a print based on a g-code. ## Start a print based on a g-code.
# \param gcode_list List with gcode (strings). # \param gcode_list List with gcode (strings).
def printGCode(self, gcode_list): def printGCode(self, gcode_list):
Logger.log("d", "Started printing g-code")
if self._progress or self._connection_state != ConnectionState.connected: if self._progress or self._connection_state != ConnectionState.connected:
self._error_message = Message(catalog.i18nc("@info:status", "Unable to start a new job because the printer is busy or not connected.")) self._error_message = Message(catalog.i18nc("@info:status", "Unable to start a new job because the printer is busy or not connected."))
self._error_message.show() self._error_message.show()
@ -183,6 +184,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
## Private function (threaded) that actually uploads the firmware. ## Private function (threaded) that actually uploads the firmware.
def _updateFirmware(self): def _updateFirmware(self):
Logger.log("d", "Attempting to update firmware")
self._error_code = 0 self._error_code = 0
self.setProgress(0, 100) self.setProgress(0, 100)
self._firmware_update_finished = False self._firmware_update_finished = False
@ -536,6 +538,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
self._sendNextGcodeLine() self._sendNextGcodeLine()
elif b"resend" in line.lower() or b"rs" in line: # Because a resend can be asked with "resend" and "rs" elif b"resend" in line.lower() or b"rs" in line: # Because a resend can be asked with "resend" and "rs"
try: try:
Logger.log("d", "Got a resend response")
self._gcode_position = int(line.replace(b"N:",b" ").replace(b"N",b" ").replace(b":",b" ").split()[-1]) self._gcode_position = int(line.replace(b"N:",b" ").replace(b"N",b" ").replace(b":",b" ").split()[-1])
except: except:
if b"rs" in line: if b"rs" in line:
@ -563,19 +566,19 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
line = line[:line.find(";")] line = line[:line.find(";")]
line = line.strip() line = line.strip()
# Don't send empty lines. But we do have to send something, so send m105 instead. # Don't send empty lines. But we do have to send something, so send
if line == "": # m105 instead.
# Don't send the M0 or M1 to the machine, as M0 and M1 are handled as
# an LCD menu pause.
if line == "" or line == "M0" or line == "M1":
line = "M105" line = "M105"
try: try:
if line == "M0" or line == "M1":
line = "M105" # Don't send the M0 or M1 to the machine, as M0 and M1 are handled as an LCD menu pause.
if ("G0" in line or "G1" in line) and "Z" in line: if ("G0" in line or "G1" in line) and "Z" in line:
z = float(re.search("Z([0-9\.]*)", line).group(1)) z = float(re.search("Z([0-9\.]*)", line).group(1))
if self._current_z != z: if self._current_z != z:
self._current_z = z self._current_z = z
except Exception as e: except Exception as e:
Logger.log("e", "Unexpected error with printer connection: %s" % e) Logger.log("e", "Unexpected error with printer connection, could not parse current Z: %s: %s" % (e, line))
self._setErrorState("Unexpected error: %s" %e) self._setErrorState("Unexpected error: %s" %e)
checksum = functools.reduce(lambda x,y: x^y, map(ord, "N%d%s" % (self._gcode_position, line))) checksum = functools.reduce(lambda x,y: x^y, map(ord, "N%d%s" % (self._gcode_position, line)))
@ -674,4 +677,4 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
def cancelPreheatBed(self): def cancelPreheatBed(self):
Logger.log("i", "Cancelling pre-heating of the bed.") Logger.log("i", "Cancelling pre-heating of the bed.")
self._setTargetBedTemperature(0) self._setTargetBedTemperature(0)
self.preheatBedRemainingTimeChanged.emit() self.preheatBedRemainingTimeChanged.emit()