add speed as parameter to UN/LOAD_FILAMENT macro (#359)

* Configurable xy position for z-calibrate added

* fix coding style

* Z probe calibrate option added

* add speed as parameter for UN/LOAD_FILAMENT macro

* add macros.md to docs

* update description

* change macros-md
fix format

Co-authored-by: jordanruthe <31575189+jordanruthe@users.noreply.github.com>
This commit is contained in:
Christian Kvasny 2021-12-18 15:38:33 +01:00 committed by GitHub
parent d9171e0d15
commit 0b9d545c6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 48 additions and 2 deletions

View File

@ -19,6 +19,8 @@ Job Status
![Job Status](img/job_status.png)
[More](panels.md)
### Supported Macros
[More](macros.md)
### Inspiration
KlipperScreen was inspired by [OctoScreen](https://github.com/Z-Bolt/OctoScreen/) and the need for a touchscreen GUI that

44
docs/macros.md Normal file
View File

@ -0,0 +1,44 @@
# Supported Macros
Klipperscreen supports gcode_macros in various panels.
## Extrude Panel
### LOAD_FILAMENT / UNLOAD_FILAMENT
Load and Unload Filament macro is used in the Extrude-Panel if it is available.
The selected speed is transferred to this macro.
The following example macros show how this can be used in the macro.
```
[gcode_macro LOAD_FILAMENT]
gcode:
{% set speed = params.SPEED|default(500) %}
G91
G1 E50 F{speed}
G1 E50 F{speed}
G92
```
```
[gcode_macro UNLOAD_FILAMENT]
gcode:
{% set speed = params.SPEED|default(500) %}
G91
G1 E-50 F{speed}
G1 E-50 F{speed}
G92
```
this could be interesting to tweak the purge speed, this would be one Example Macro from alfrix:
```
[gcode_macro LOAD_FILAMENT]
gcode:
{% set speed = params.SPEED|default(300) %}
{% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity %}
M300 # beep
G91
G92 E0
G1 E350 F{max_velocity}
G1 E25 F{speed} #purge
M300
M300
```

View File

@ -178,12 +178,12 @@ class ExtrudePanel(ScreenPanel):
if not found:
self._screen.show_popup_message("Macro UNLOAD_FILAMENT not found")
else:
self._screen._ws.klippy.gcode_script("UNLOAD_FILAMENT")
self._screen._ws.klippy.gcode_script("UNLOAD_FILAMENT SPEED=" + str(int(self.speed) * 60))
if dir == "+":
if not found:
self._screen.show_popup_message("Macro LOAD_FILAMENT not found")
else:
self._screen._ws.klippy.gcode_script("LOAD_FILAMENT")
self._screen._ws.klippy.gcode_script("LOAD_FILAMENT SPEED=" + str(int(self.speed) * 60))
def find_gcode_macros(self):
macros = self._screen.printer.get_gcode_macros()