mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-04 11:14:21 +08:00
Merge branch 'master' of github.com:Ultimaker/Cura
This commit is contained in:
commit
2cb45f698f
18
.gitignore
vendored
18
.gitignore
vendored
@ -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
|
||||||
|
|
||||||
|
@ -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()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user