Klipper GCodes: Unterschied zwischen den Versionen
Af0815 (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Af0815 (Diskussion | Beiträge) (→Erweiterte G-Codes: Unterteilung in GCode die für Einstellungsarbeiten gebraucht werden) |
||
Zeile 239: | Zeile 239: | ||
== Erweiterte G-Codes == | == Erweiterte G-Codes == | ||
Klipper verwendet auch erweiterte GCodes für generelle Konfiguration und Status. Sie folgen immer dem gleichen Schema sie starten mit einem Kommandonamen und werden nötigenfalls mit einem oder mehreren Parametern erweitert. Hier in der Übersicht werden diese | Klipper verwendet auch erweiterte GCodes für generelle Konfiguration und Status. Sie folgen immer dem gleichen Schema sie starten mit einem Kommandonamen und werden nötigenfalls mit einem oder mehreren Parametern erweitert. Hier in der Übersicht werden diese erweiterten Kommandos in Großschrift dargestellt, können aber beliebig geschrieben werden. | ||
=== SET_GCODE_OFFSET Setzt einen virtuellen Offset zum GCode === | === SET_GCODE_OFFSET Setzt einen virtuellen Offset zum GCode === | ||
Zeile 280: | Zeile 280: | ||
'''Q:gcode_move.py''' | '''Q:gcode_move.py''' | ||
---- | |||
=== Z_SENSE_OFFSET aktuelle Z offset bestimmen === | |||
Im G-Code sollte man dann vor dem ersten Layer aber nach etwagigen Start-Maden etc. den Befehl Z_SENSE_OFFSET einfügen. Dem Befehl kann man auch noch mal die beiden Parameter mitgeben (Beispiel Z_SENSE_OFFSET FORCE_THRESHOLD=1800 MAX_Z_OFFSET=0.2). Der Algorithmus sollte identisch sein zu dem in der Community-Repetier-Firmware. | |||
In der Konfiguration muss das mit | |||
<pre>[z_sense_offset] | |||
force_threshold: 1800 | |||
max_z_offset: 0.2 | |||
freigeschalten werden | |||
</pre> | |||
'''Parameter''' | |||
:[FORCE_THRESHOLD,MAX_Z_OFFSET] | |||
Hinweis: RFx000 Mod | |||
'''Q:z_sense_offset.py''' | |||
---- | |||
== Erweiterte G-Codes für Einstellungszwecke == | |||
Erweiterte GCodes in Klipper die für das Ausrichten des Heatbed und für die grundlegende Einrichtung des Druckers verwendet werden | |||
=== SAVE_CONFIG Speichert geänderte Daten in der printer.cfg === | |||
Speichert die aktuellen Änderungen in der printer.cfg. Zuvor wird eine Backup mit einem Zeitstempel erstellt. Die Daten werdem am Ende der Datei eingetragen und sollten nicht händisch geändert werden. | |||
<pre>#*# <---------------------- SAVE_CONFIG ----------------------> | |||
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. | |||
#*#</pre> | |||
'''Parameter''' | |||
:keine | |||
'''Q:''' | |||
---- | |||
=== Z_OFFSET_SCAN Z Offset Scan durchführen === | |||
Es wird an der aktuellen Stelle ein Z Offset Scan durchgeführt. Man muss daher zuerst auf die gewünschte Stelle hinfahren. Speichern der Daten erfolgt mit SAVE_CONFIG (löst Restart von Klipper aus um die Konfiguration neu zu lesen) | |||
'''Parameter''' | |||
:keiner | |||
Hinweis: RFx000 Mod | |||
'''Q:z_offset_scan.py''' | |||
---- | |||
=== BED_MESH_CALIBRATE Bed Mesh Kalibrierung === | |||
Es wird ein eine Bed Mesh Kalibrierung entsprechend den Einstellungen in der Konfiguration durchgeführt. Speichern der Daten erfolgt mit SAVE_CONFIG (löst Restart von Klipper aus um die Konfiguration neu zu lesen). Siehe auch [[Klipper]] | |||
Beispiel in printer.cfg für eine RF2000V2 single: | |||
<pre> | |||
[bed_mesh] | |||
speed: 30 | |||
horizontal_move_z: 2 | |||
mesh_min: 10,50 | |||
mesh_max: 200,230 | |||
algorithm:lagrange | |||
probe_count: 5,5 | |||
fade_start: 1.0 | |||
fade_end: 10.0 | |||
</pre> | |||
'''Parameter''' | |||
:[Diverse laut Klipper Dokumentation möglich] | |||
'''Q:bed_mesh.py''' | |||
---- | |||
=== BED_MESH_OUTPUT Bed Mesh Ausgabe der Daten === | |||
Es werden die Daten des aktuellen Mesh ausgegeben. Siehe auch auch [[Klipper]] | |||
'''Parameter''' | |||
:? | |||
'''Q:bed_mesh.py''' | |||
---- | |||
=== BED_MESH_CLEAR Lösch Bed Mesh Daten === | |||
Es werden die Daten des aktuellen Mesh gelöscht ( auf 0 gesetzt). Siehe auch auch [[Klipper]] | |||
'''Parameter''' | |||
:? | |||
'''Q:bed_mesh.py''' | |||
---- | |||
=== BED_MESH_PROFILE Bed Mesh Daten speichern, laden oder löschen === | |||
Es werden die Daten des Mesh geladen, gespeichert oder gelöscht. Siehe auch auch [[Klipper]] | |||
'''Parameter''' | |||
:LOAD=<name> oder SAVE=<name> oder REMOVE=<name> | |||
'''Q:bed_mesh.py''' | |||
---- | |||
=== PROBE_ACCURACY Z-Probing durchführen === | |||
Das führt dann an der aktuellen XY Position 10 mal einen Z-Scan durch und bestimmt Mittelwert und Standardabweichung etc. Siehe auch auch [[Klipper]] | |||
'''Parameter''' | |||
:keiner | |||
'''Q:''' | |||
---- | ---- |
Version vom 22. Dezember 2020, 15:35 Uhr
Einleitung
Im folgenden findet ihr eine Auflistung der GCodes, wie sie in den Klipper Dateien dokumentiert sind. Das Q: zeigt immer an, in welcher Datei der Befehl zu finden ist. Als Vorlage habe ich die Struktur der vorhanden GCodes Übersicht genommen.
- Der Strichpunkt ( ";" )
- Der Strichpunkt wird im GCode dazu verwendet, Kommentare hinzu zu fügen. Der Strichpunkt gilt immer nur für eine Zeile des GCodes. Alles in der selben Zeile nach einem Strichpunkt wird vom Drucker (von der Firmware) ignoriert.
Alle Angaben ohne Gewähr!!
G-Codes
G0 - Schnelle lineare Bewegung
siehe G1, G0 wird intern auf G1 umgeleitet.
Q:gcode_move.py
G1 - Koordinierte Bewegung entlang einer oder mehrerer Achsen
Parameter
- [X] [Y] [Z] [E] [F]
- E gibt vor wieviel Filament entlang der angegebenen Strecke gefördert werden soll
- F ist dabei die geforderte Verfahrgeschwindigkeit
Q:gcode_move.py
G4 - Dwell
Parameter
- P<milliseconds>
Q:
G20 - Einheiten der Bewegungsbefehle (G0-G3) sind in Zoll
nicht unterstützt. Erzeugt einen gcmd Error
Q:gcode_move.py
G21 - Einheiten der Bewegungsbefehle (G0-G3) sind in Millimeter
Parameter
- Keine
Q:gcode_move.py
G28 - Fahre alle Achsen (oder die bezeichnete(n)) zum Ursprung
Parameter
- [X Y Z] ... optional. Wird keine Achse angegeben, werden alle Achsen zum Ursprung gefahren.
Beispiel
- "G28 Y0 Z0" fährt nur in Y und Z auf "0"
Q:gcode_move.py
G90 - Interpretiere Koordinaten als absolut
Parameter
- Keine
Q:gcode_move.py
G91 - Interpretiere Koordinaten als relativ
Parameter
- Keine
Q:gcode_move.py
G92 - Setze die Koordinate(n) der aktuellen Position auf den vorgegebenen Wert
Setze die Koordinate(n) der aktuellen Position auf den vorgegebenen Wert
Parameter
- [X<value> Y<value> Z<value> E<value>]
Bemerkung
- Wird z.B. für die "E"-Koordinate häufig so verwendet: "G92 E0"
Q:gcode_move.py
G-Codes die aktiviert werden müssen
M-Codes
M18 oder M84 Ausschalten Motore
Ausschalten Motore
Parameter
- ??
Q:
M82 - Interpretiere Extrusion Koordinaten als absolut
Interpretiere Extrusion Koordinaten als absolut
Parameter
- keine
Q:gcode_move.py
M83 - Interpretiere Extrusion Koordinaten als relatic
Interpretiere Extrusion Koordinaten als relativ Parameter
- keine
Q:gcode_move.py
M104 - Setzt Extrudertemperatur
Setzt die Temperatur des angegebenen Extruders
Parameter
- [T,S]
T: Index des Extruders S: Temperatur
Q:
M105 - Liest Extrudertemperatur
Liest die Temperaturen der Extruder
Parameter
- keine
Q:
M106 - Setzt Lüftergeschwindigkeit
Setzt die Geschwindigkeit des Lüfters
Parameter
- [S]
S: Geschwindigkeit
Q:
M109 - Setzt Extrudertemperatur und wartet auf Erreichen
Setzt die Temperatur des angegebenen Extruders und wartet auf das Erreichen der Temperatur
Parameter
- [T,S]
T: Index des Extruders S: Temperatur
Q:
M112 - NOTSTOP
Führt einen Emergency Stop = Notstop durch
Parameter
- keine
Q:
M114 - Zeigt aktuelle Koordinate(n)
Zeigt aktuelle Koordinate(n)
Parameter
- keine
Q:gcode_move.py
M115 - Zeigt aktuelle Firmwarversion an
Zeigt aktuelle Firmwarversion an
Parameter
- keine
Q:
M140 - Setzt Betttemperatur
Setzt die Temperatur des Bettes
Parameter
- [S]
S: Temperatur
Q:
M190 - Setzt Betttemperatur und wartet auf Erreichen
Setzt die Temperatur des Bettes und wartet auf das Erreichen der Temperatur
Parameter
- [S]
S: Temperatur
Q:
M204 - Setze Beschleunigung
Setzt die Beschleunigung
Parameter
- S
oder Parameter
- P T
Wenn S nicht spezifiziert ist und P und T beide spezifiziert sind, so wird die Beschleunigung auf das Minimum von P und T gesetzt. Ist nur P oder T angegeben, so hat das Kommando keine Auswirkungen.
Q:?
M220 - Setze Geschwindigkeitsfaktor override (Prozent)
Setze Geschwindigkeitsfaktor override in Prozent
Parameter
- S ... Standard ist 100, muss größer 0 sein.
Q:gcode_move.py
M221 - Setze Extrusionsfaktor override (Prozent)
Setze Extrusionsfaktor override in Prozent
Parameter
- S ... Standard ist 100, muss größer 0 sein.
Q:gcode_move.py
Erweiterte G-Codes
Klipper verwendet auch erweiterte GCodes für generelle Konfiguration und Status. Sie folgen immer dem gleichen Schema sie starten mit einem Kommandonamen und werden nötigenfalls mit einem oder mehreren Parametern erweitert. Hier in der Übersicht werden diese erweiterten Kommandos in Großschrift dargestellt, können aber beliebig geschrieben werden.
SET_GCODE_OFFSET Setzt einen virtuellen Offset zum GCode
Setzt einen virtuellen Offset zum GCode
Parameter
- [X,Y,Z,E,MOVE]
Bei X,Y,Z und E wird dieser Offset bei jedem GCode Kommando aufgeschlagen. Bei MOVE bewegt den Kopf sofort um den gewüschten Offset
Q:gcode_move.py
SET_GCODE_STATE Speichert den aktuellen GCode Koordinaten Status
Setzt einen virtuellen Offset zum GCode
Parameter
- NAMEN default
Man kann einen Namen vergeben, Standard ist hier default
Q:gcode_move.py
RESTORE_GCODE_STATE Ladet den aktuellen GCode Koordinaten Status
Ladet einen virtuellen Offset zum GCode
Parameter
- NAMEN default
Man kann einen Namen vergeben, Standard ist hier default
Q:gcode_move.py
GET_POSITION Zeigt die Informationen zur Position an
Zeigt Informationen zu den verschiedenen Koordinatensystemen an.
Parameter
- keiner
Q:gcode_move.py
Z_SENSE_OFFSET aktuelle Z offset bestimmen
Im G-Code sollte man dann vor dem ersten Layer aber nach etwagigen Start-Maden etc. den Befehl Z_SENSE_OFFSET einfügen. Dem Befehl kann man auch noch mal die beiden Parameter mitgeben (Beispiel Z_SENSE_OFFSET FORCE_THRESHOLD=1800 MAX_Z_OFFSET=0.2). Der Algorithmus sollte identisch sein zu dem in der Community-Repetier-Firmware.
In der Konfiguration muss das mit
[z_sense_offset] force_threshold: 1800 max_z_offset: 0.2 freigeschalten werden
Parameter
- [FORCE_THRESHOLD,MAX_Z_OFFSET]
Hinweis: RFx000 Mod Q:z_sense_offset.py
Erweiterte G-Codes für Einstellungszwecke
Erweiterte GCodes in Klipper die für das Ausrichten des Heatbed und für die grundlegende Einrichtung des Druckers verwendet werden
SAVE_CONFIG Speichert geänderte Daten in der printer.cfg
Speichert die aktuellen Änderungen in der printer.cfg. Zuvor wird eine Backup mit einem Zeitstempel erstellt. Die Daten werdem am Ende der Datei eingetragen und sollten nicht händisch geändert werden.
#*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*#
Parameter
- keine
Q:
Z_OFFSET_SCAN Z Offset Scan durchführen
Es wird an der aktuellen Stelle ein Z Offset Scan durchgeführt. Man muss daher zuerst auf die gewünschte Stelle hinfahren. Speichern der Daten erfolgt mit SAVE_CONFIG (löst Restart von Klipper aus um die Konfiguration neu zu lesen)
Parameter
- keiner
Hinweis: RFx000 Mod Q:z_offset_scan.py
BED_MESH_CALIBRATE Bed Mesh Kalibrierung
Es wird ein eine Bed Mesh Kalibrierung entsprechend den Einstellungen in der Konfiguration durchgeführt. Speichern der Daten erfolgt mit SAVE_CONFIG (löst Restart von Klipper aus um die Konfiguration neu zu lesen). Siehe auch Klipper
Beispiel in printer.cfg für eine RF2000V2 single:
[bed_mesh] speed: 30 horizontal_move_z: 2 mesh_min: 10,50 mesh_max: 200,230 algorithm:lagrange probe_count: 5,5 fade_start: 1.0 fade_end: 10.0
Parameter
- [Diverse laut Klipper Dokumentation möglich]
Q:bed_mesh.py
BED_MESH_OUTPUT Bed Mesh Ausgabe der Daten
Es werden die Daten des aktuellen Mesh ausgegeben. Siehe auch auch Klipper
Parameter
- ?
Q:bed_mesh.py
BED_MESH_CLEAR Lösch Bed Mesh Daten
Es werden die Daten des aktuellen Mesh gelöscht ( auf 0 gesetzt). Siehe auch auch Klipper
Parameter
- ?
Q:bed_mesh.py
BED_MESH_PROFILE Bed Mesh Daten speichern, laden oder löschen
Es werden die Daten des Mesh geladen, gespeichert oder gelöscht. Siehe auch auch Klipper
Parameter
- LOAD=<name> oder SAVE=<name> oder REMOVE=<name>
Q:bed_mesh.py
PROBE_ACCURACY Z-Probing durchführen
Das führt dann an der aktuellen XY Position 10 mal einen Z-Scan durch und bestimmt Mittelwert und Standardabweichung etc. Siehe auch auch Klipper
Parameter
- keiner
Q: