diff --git a/src/components/panels/ExtruderControlPanel.vue b/src/components/panels/ExtruderControlPanel.vue index ff2395c9b..e6a4e9aed 100644 --- a/src/components/panels/ExtruderControlPanel.vue +++ b/src/components/panels/ExtruderControlPanel.vue @@ -51,6 +51,32 @@ + + + + + + {{ $t('Panels.ExtruderControlPanel.ExtruderTempTooLow') }} + {{ minExtrudeTemp }} °C + + + + + + + @@ -106,6 +132,18 @@ export default class ExtruderControlPanel extends Mixins(BaseMixin, ControlMixin return this.macros.find((macro: PrinterStateMacro) => macro.name.toUpperCase() === 'UNLOAD_FILAMENT') } + get purgeFilamentMacro(): PrinterStateMacro | undefined { + const macros = ['PURGE_FILAMENT', 'FILAMENT_PURGE'] + + return this.macros.find((macro: PrinterStateMacro) => macros.includes(macro.name.toUpperCase())) + } + + get cleanNozzleMacro(): PrinterStateMacro | undefined { + const macros = ['CLEAN_NOZZLE', 'NOZZLE_CLEAN', 'WIPE_NOZZLE', 'NOZZLE_WIPE'] + + return this.macros.find((macro: PrinterStateMacro) => macros.includes(macro.name.toUpperCase())) + } + /** * test if the load and unload macro include specific keywords. if true, we allow * execution of that macro even if at the current time extrudePossible === false @@ -122,6 +160,12 @@ export default class ExtruderControlPanel extends Mixins(BaseMixin, ControlMixin return this.heatWaitGcodes.some((gcode) => this.unloadFilamentMacro?.prop.gcode.includes(gcode)) } + get canExecutePurgeMacro(): boolean { + if (this.extrudePossible) return true + + return this.heatWaitGcodes.some((gcode) => this.purgeFilamentMacro?.prop.gcode.includes(gcode)) + } + get showFilamentMacros(): boolean { return this.loadFilamentMacro !== undefined || this.unloadFilamentMacro !== undefined } diff --git a/src/locales/de.json b/src/locales/de.json index 8d0290c99..b6e494ec9 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -536,6 +536,7 @@ "Panels": { "ExtruderControlPanel": { "Allowed": "Erlaubt", + "CleanNozzle": "Düse reinigen", "EstimatedExtrusion": "Extrusion:", "Extrude": "Extrudieren", "ExtruderTempTooLow": "Extruder Temp. <", @@ -555,6 +556,7 @@ "Extruder": "Extruder", "SmoothTime": "Smooth Time" }, + "PurgeFilament": "Filament reinigen", "Requested": "Angefordert", "Retract": "Rückzug", "TooLargeExtrusion": "Extrusion zu groß!", diff --git a/src/locales/en.json b/src/locales/en.json index d37a31640..5124825d5 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -536,6 +536,7 @@ "Panels": { "ExtruderControlPanel": { "Allowed": "Allowed", + "CleanNozzle": "Clean Nozzle", "EstimatedExtrusion": "Extrusion:", "Extrude": "Extrude", "ExtruderTempTooLow": "Extruder temp. <", @@ -555,6 +556,7 @@ "Extruder": "Extruder", "SmoothTime": "Smooth Time" }, + "PurgeFilament": "Purge Filament", "Requested": "Requested", "Retract": "Retract", "TooLargeExtrusion": "Extrusion too large!",