GCodes
Einleitung
Im folgenden findet ihr eine Auflistung Der GCodes, wie sie in den RF1000 Firmware Dateien dokumentiert sind
Deutsche Übersetzung durch mjh11
Alle Angaben ohne Gewähr!!
G-Codes
G0 - Schnelle lineare Bewegung
Parameter
- X Y Z E
 
Siehe auch G1
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
 
G2 - Kreisbogen im Uhrzeigersinn
Parameter
- [X Y I J E F]
 
- X: Endposition, die auf der X-Achse angefahren werden soll
 - Y: Endposition, die auf der Y-Achse angefahren werden soll
 - Innn: X-Koordinate des Kreismittelpunkts
 - Jnnn: Y-Koordinate des Kreismittelpunkts
 - E: the amount to extrude btw start pt & end pt // Extrusionslänge entlang des Kreisbogens, in mm
 - F: the feedrate per minute of move btw start pt and end pt (if supplied) // Verfahrgeschwindigkeit, wobei E und F optional sind - {allerdings, ein Kreisbogen zu fahren, OHNE Extrusion, ist sinnlos})
 
G3 - Kreisbogen gegen den Uhrzeigersinn
Parameter
- [X Y I J E F]
 
- siehe G2
 
G4 - Verzögerung / Pause
Parameter
- S<Sekunden> or P<Millisekunden>
 
G20 - Einheiten der Bewegungsbefehle (G0-G3) sind in Zoll
Parameter
- Keine
 
G21 - Einheiten der Bewegungsbefehle (G0-G3) sind in Millimeter
Parameter
- Keine
 
G28 - Fahre alle Achsen (oder die bezeichnete(n)) zum Ursprung
Parameter
- [X Y Z]
 
Beispiel
- "G28 Y0 Z0" fährt nur in Y und Z auf "0"
 
G29 - Messe Z-Höhe an den 3 vor definierten Punkten
Parameter
- S<0..2>
 
- S = 1 messe durchschn. zHöhe
 - S = 2 speichere durchschn. zHöhe
 
- Hinweis:
 
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
 
G30 - Messe Z-Höhe an der aktuellen Position
Parameter
- P<0..3>
 - P = 1 erste Messung
 - P = 2 letzte Messung
 - P = 0 oder 3 erste und letzte Messung
 
- Hinweis:
 
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
 
G31 - Speichere Wert des Z-Höhentasters
Parameter
- Keine
 
- Hinweis:
 
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
 
G32 - Automatische Bettausrichtung
Parameter
- S<0..2> P<0..1>
 - S = 1 messe zHöhe
 - S = 2 messe und speichere neue zHöhe
 
Bemerkung
- Entspricht in etwa "M3010" beim RF1000
 
- Hinweis:
 
- Der Befehl dient normalerweise zur Ausrichtung des Druckbetts. Da ein RFx000-Drucker eine andere Methode verwendet, funktioniert dieser Befehl beim RFx000 nicht. Der Befehl gehört aber zum Standard-Befehlssatz der Repetier- Firmware.
 
G90 - Interpretiere Koordinaten als absolut
Parameter
- Keine
 
G91 - Interpretiere Koordinaten als relativ
Parameter
- Keine
 
G92 - Setze die Koordinate(n) der aktuellen Position auf den vorgegebenen Wert
Set current position to cordinates given / Setze die angegebene Koordinate(n) auf den vorgegebenen Wert
- Vorschlag: 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"
 
G131 - set extruder offset position to 0
set extruder offset position to 0 - needed for calibration with G132
Parameter
- Keine
 
Bemerkung
- G131 und G132 haben vermutlich was mit Schnellwechselextruder, oder Ähnliches, zu tun, wo man die Position der Extruderdüse nach einem Wechsel neu kalibrieren muss
 
G132 - calibrate endstop positions
calibrate endstop positions. Call this, after calling G131 and after centering the extruder holder.
Parameter
- Keine
 
Bemerkung
- G131 und G132 haben vermutlich was mit Schnellwechselextruder, oder Ähnliches, zu tun, wo man die Position der Extruderdüse nach einem Wechsel neu kalibrieren muss
 
M-Codes
Generelle M-Codes (RepRap)
M104 - Setze Extrudertemperatur
Parameter
- <Snnn>
 
Bemerkung
- Hier wird nicht gewartet. Die nächsten Befehle werden unmittelbar danach abgearbeitet
 
M105 - Melde aktuelle Extrudertemperatur
Parameter
- <Snnn>
 
- Hinweis
 
M106 - Schalte Lüfter ein
Parameter
- <Sxxx>
 
Bemerkung
- Parameter S von 0-255 zulässig (0 = 0% ... 255 = 100%)
 
M107 - Schalte Lüfter aus
Parameter
- Keine
 
Bemerkung
- Entspricht "M106 S0"
 
M109 - Setze Extrudertemperatur und warte
Parameter
- <Snnn>
 
Bemerkung
- Hier WIRD gewartet. Die nächsten Befehle werden erst NACH erreichen der Temperatur abgearbeitet
 
M111 - Setze Debug Level
Parameter
- S<0....9>
 
Bemerkung
- (nicht dokumentiert in der RF1k Firmware?)
 - Anmerkung (JoBo): Sobald die DEBUG-Funktion in der FW aktiviert ist, kann hiermit die Menge an Debug-Inormationen gesteuert werden
 
M114 - Zeige Koordinaten der augenblicklichen Position
Parameter
- Keine
 
Bemerkung
- Berücksichtigt G92!!
 
Spezielle M-Codes (Repetier)
M20 - Liste Inhalt der SD Karte
Parameter
- Keine
 
M21 - SD Karte initialisieren
Parameter
- Keine
 
Bemerkung
- mounten - ist nicht dasselbe wie formatieren
 
M22 - SD Karte freigeben
Parameter
- Keine
 
M23 - Wähle Datei auf der SD Karte aus
Parameter
- <Dateiname>
 
Beispiel
- "M23 filename.g"
 
M24 - Starte Druck von der SD-Karte, oder fahre mit Druck wieder fort
Parameter
- Keine
 
M25 - Druck von der SD Karte pausieren
Parameter
- Keine
 
M26 - Setze Zeiger-Position innerhalb der gewählten SD Datei in Bytes
Parameter
- Snnnnn
 
Beispiel
- "M26 S12345"
 
M27 - Melde Status des Drucks von der SD Karte
Parameter
- Keine
 
M28 - Schreibe Datei auf SD Karte
Parameter
- <Dateiname>
 
Beispiel
- "M23 filename.g"
 
M29 - Beende Schreibvorgang auf der SD Karte
Parameter
- Keine
 
M30 - Lösche Datei von der SD Karte
Parameter
- <Dateiname>
 
Beispiel
- "M30 filename.g"
 
M32 - Erstelle Ordner/Unterordner auf der SD Karte
Parameter
- <Ordnername>
 
Beispiel
- "M30 dirname"
 
M42 - Ändere Zustand des Pins P auf den Wert S
Parameter
- P<pin nummer>
 - S<wert 0..255>
 
Bemerkung
- Funktioniert nur auf gewissen Pins
 
M80 - Netzteil einschalten
Parameter
- Keine
 
Bemerkung
- Funktioniert nicht beim RF1000
 
M81 - Netzteil ausschalten
Parameter
- Keine
 
Bemerkung
- Funktioniert nicht beim RF1000
 
M82 - Interpretiere Werte für den Extruder (=E-Werte) als absolute Werte
Parameter
- Keine
 
Bemerkung
- Standardeinstellung
 
M83 - Interpretiere Werte für den Extruder als relative Werte, auch im absoluten Koordinaten-Modus (G90)
Parameter
- Keine
 
M84 - Schrittmotore bis zur nächsten Bewegung oder nach S<Sekunden> Inaktivität ausschalten (stromlos setzen)
Parameter
- S<Sekunden>
 
Bemerkung
- Mittels S<Sekunden> kann ein Zeitfenster definiert werden - findet innerhalb dieser Zeit keine Bewegung statt, schalten die Motore ab. Neuerliche Eingabe mit S0 deaktiviert das Zeitfenster wieder.
 
M85 - Setzt Zeitfenster, in Sekunden, ab dem die Motore abgeschaltet werden
Parameter
- S<Sekunden>
 
Bemerkung
- S0 deaktiviert das Zeitfenster wieder (S0 ist Standardeinstellung)
 
M92 - Stelle Schritte pro mm für die angegebene(n) Achse ein
Parameter
- [X<Wert> Y<Wert> Z<Wert> E<Wert>]
 
Bemerkung
- Schreibweise wie bei G92
 - Verwendung sollte nicht notwendig sein (wirklich nur für Sonderfälle, zum Beispiel bei einer vorhandenen GCode-Datei, die skaliert werden muss.)
 
M99 - Schalte angegebene(n) Motor(en) für S-Sekunden ab
Parameter
- S<verzInSek> X0 Y0 Z0
 
Bemerkung
- Standardeinstellung 10 Sek.
 
M104 - Setze Extrudertemperatur, ohne Warten
Parameter
- S<temp> T<extruder> [P1 F1]
 - S: Temperatur
 - T: Extruder
 - P1: Warte bis alle vorhergehenden Bewegungen abgeschlossen sind
 - F1: Piepse wenn die vorgegebene Temperatur erstmals erreicht wurde
 
Bemerkung
- Single-Extruder = T0 (Bett = T1 !!)
 
M105 - Melde Temperatur
Parameter
- [X0]
 
Bemerkung
- X0 = zeige auch die nicht-umgerechneten digitalen Werte. Scheinbar nicht durch RF1000 unterstützt (JoBo: Worauf bezieht sich letzte Bemerkung?)
 
- Hinweis
 
M112 - Not-Abschaltung
Parameter
- Keine
 
M115 - Schreibe Firmware-String
Parameter
- Keine
 
Bemerkung
- Zeigt Firmware-Infos an
 
M116 - Warte bis alle angegebenen Temperaturen innerhalb von +/- 1° sind
Parameter
- Keine
 
M117 - Schreibe Nachricht in die Statuszeile des Displays
Parameter
- <message>
 
Bemerkung
- Zeigt <message> (kurz halten!) im Display
 
M119 - Melde Endschalterstatus
Parameter
- Keine
 
Bemerkung
- Nicht-betätigter Schalter wird als "L" gemeldet ("L"= low), betätigter Schalter meldet "H" (high).
 
M140 - Setze Betttemperatur OHNE Warten
Parameter
- S<temp> [F1]
 - <temp>: Temperatur
 - F1: Piepse beim ersten Erreichen der Temperatur
 
M190 - Setze Betttemperatur MIT Warten
Parameter
- S<temp>
 - <temp>: Temperatur
 
M201 - Setze max. Beschleunigungswerte in Einheiten/s² für Druckbewegungen
Parameter
- [Xnn Ynn Znn]
 - X: Beschleunigung in X-Richtung
 - Y: Beschleunigung in Y-Richtung
 - Z: Beschleunigung in Z-Richtung
 
Beispiel
- "M201 X1000 Y1000"
 
M202 - Setze max. Beschleunigungswerte in Einheiten/s² für Leerfahrten ohne Extrusion
Parameter
- [Xnn Ynn Znn]
 - X: Beschleunigung in X-Richtung
 - Y: Beschleunigung in Y-Richtung
 - Z: Beschleunigung in Z-Richtung
 
Beispiel
- "M202 X1000 Y1000"
 
M203 - Temperaturüberwachung einschalten
Parameter
- Sx
 
Bemerkung
- Konnte beim RF1k keine Wirkung feststellen (mjh11)
 
M204 - Setze PID Parameter
Parameter
- Xn Yn Zn [S<extruder>]
 - X: Kp
 - Y: Ki
 - Z: Kd
 - <extruder>: Standardmäßig wird der aktive Extruder angesprochen, NUM_EXTRUDER (Vorgabe in configuration.h) entspricht Heizbett
 
Beispiel "M204 X3752 Y1000 Z3518 S0"
M205 - EEPROM Werte ausgeben
Parameter
- Keine
 
Bemerkung
- Hierfür muss der EEPROM Support in der Configuration.h eingeschalten werden
 
M206 - Schreibe Wert ins EEPROM
Parameter
- T[type] P[pos] [Sint(long)] [Xfloat]
 
Bemerkung
- Dazu muss man wissen welche Werte wo abgespeichert sind. EEPROM Support in der Firmware vermutlich ebenfalls nötig.
 
Beispiel
- "M206 T3 P31 X200.00" stellt die Geschwindigkeit, mit der in Y gegen 0 gefahren wird ('ge-homed' wird), auf 200mm/s
 
M207 - Ändere die aktuellen Werte für das 'Ruckeln' (jerk), aber speichere sie nicht im EEPROM
Parameter
- X<XY jerk> Z<Z Jerk> E<ExtruderJerk>
 
Bemerkung
- Das 'Ruckeln' (jerk) entsteht durch sehr rasche, abwechselnde Bewegungen, die den Drucker aufschaukeln können. Mit Hilfe dieses Befehls schränkt man die
 - Geschwidigkeit der raschen Abfolge ein. Die neuen, angegebenen Werte sind temporär, sie werden NICHT im EEPROM gespeichert.
 - Der RF1000, mit seiner soliden Bauweise, ist hier nicht sehr anfällig.
 - Beim RF1000 ist der voreingestellte Wert für XY 10mm/s, für Z 20mm/s.
 
M220 - Multiplikator für die Verfahrgeschwindigkeit
Parameter
- S<prozent>
 
Beispiel
- "M220 S50" halbiert die Verfahrgeschwindigkeit
 
M221 - Multiplikator für die Extrusionsmenge
Parameter
- S<prozent>
 
Beispiel
- "M221 S50" halbiert die Extrusionsmenge
 
M231 - Stelle das Standard-Verhalten für Retract-Vorgänge ein
Parameter
- S<OPS_MODE> X<Min_Distance> Y<Retract> Z<Backlash> F<ReatrctMove>
 
Bemerkung
- Sollte beim RF1000 nicht notwendig sein
 
M232 - Lese max. 'Vorlaufdruck'-Wert aus und setze es wieder auf 0
Parameter
- Keine
 
Bemerkung
- Der 'Vorlaufdruck' ist ähnlich wie die 'Vorzündung' beim Otto-Motor. Da baut der Extruder vorzeitig Druck auf, damit der Druck rechtzeitig vorhanden ist.
 - Der RF1000 hat standardmässig 0 eingestellt
 
M233 - Stellt temporäre Werte zur Vorlaufdrucksteuerung ein
Parameter
- X<AdvanceK> Y<AdvanceL>
 
Bemerkung
- Siehe auch M232
 
M251 - Messe Anzahl der Z-Schritte vom Homing-Stop
Parameter
- S<n>
 - S0 - Setze zurück
 - S1 - Drucke
 - S2 - Speiche nach Z Höhe (auch ins EEPROM sofern eingeschaltet)
 
Bemerkung
- NUR FÜR DELTA-DRUCKER
 
M280 - Setze "Ditto"-Druckmodus
Parameter
- S<mode>
 - S0 - Aus
 - S1 - An
 
Bemerkung
- Der "Ditto"-Druckmodus ist für Drucker interessant, die 2 Extruder haben
 - Arbeitet ein solcher Drucker im Ditto-Modus, wird ein Objekt von beiden Extrudern gleichzeitig (parallel) gedruckt
 
- M300 S<Frequency> P<DurationMillis> play frequency
 - M303 P<extruder/bed> S<printTemperature> X0 - Autodetect pid values. Use P<NUM_EXTRUDER> for heated bed. X0 saves result in EEPROM.
 - M320 - Activate autolevel
 - M321 - Deactivate autolevel
 - M322 - Reset autolevel matrix
 - M340 P<servoId> S<pulseInUS> : servoID = 0..3, Servos are controlled by a pulse with normally between 500 and 2500 with 1500ms in center position. 0 turns servo off.
 - M350 S<mstepsAll> X<mstepsX> Y<mstepsY> Z<mstepsZ> E<mstepsE0> P<mstespE1> : Set microstepping on RAMBO board
 - M400 - Wait until move buffers empty.
 - M401 - Store x, y and z position.
 - M402 - Go to stored position. If X, Y or Z is specified, only these coordinates are used. F changes feedrate for that move.
 - M500 Store settings to EEPROM
 - M501 Load settings from EEPROM
 - M502 Reset settings to the one in configuration.h. Does not store values in EEPROM!
 - M908 P<address> S<value> : Set stepper current for digipot (RAMBO board)
 - M3000 - turn off the Z compensation
 - M3001 - turn on the Z compensation
 - M3002 - configure the no compensation steps
 - M3003 - configure the max compensation steps
 - M3004 - configure the manual compensation steps
 - M3005 - enable custom debug outputs
 - M3006 - configure the static z-offset (units are [µm]) [needs M3001 to work] ### new in 0.91.49 ###
 - M3007 - configure the min z-compensation offset (units are [µm]) ### new in 0.91.49 ###
 - M3008 - configure the max z-compensation offset (units are [µm]) ### new in 0.91.49 ###
 - M3010 - start/abort the heat bed scan
 - M3011 - clear the compensation matrix from the EEPROM
 - M3012 - restore the default scan parameters
 - M3013 - output the current compensation matrix
 - M3020 - configure the x start position for the heat bed scan
 - M3021 - configure the y start position for the heat bed scan
 - M3022 - configure the x step size for the heat bed scan
 - M3023 - configure the y step size for the heat bed scan
 - M3024 - configure the x end position for the heat bed scan
 - M3025 - configure the y end position for the heat bed scan
 - M3030 - configure the fast step size for moving of the heat bed up during the heat bed scan
 - M3031 - configure the slow step size for moving of the heat bed up during the heat bed scan
 - M3032 - configure the fast step size for moving of the heat bed down during the heat bed scan
 - M3033 - configure the slow step size for moving of the heat bed down during the heat bed scan
 - M3040 - configure the delay (in ms) between two fast movements during the heat bed scan
 - M3041 - configure the delay (in ms) between two slow movements during the heat bed scan
 - M3042 - configure the delay (in ms) between reaching of a new x/y position and the test of the
- idle pressure
 
 - M3050 - configure the contact pressure delta (in digits)
 - M3051 - configure the retry pressure delta (in digits)
 - M3052 - configure the idle pressure tolerance (in digits)
 - M3053 - configure the number of A/D converter reads per pressure measurement
 - M3054 - configure the delay (in ms) between two A/D converter reads
 - M3055 - configure the pressure tolerance (in digits) per pressure measurement
 - M3005 - enable custom debug outputs
 - M3070 S1|S2 (req'd) - pause print as if "Pause" button was pressed - S1= pause at current position, S2= move to standard or predefined position (via M3105) and pause
 - M3071 - wait until the print has been continued via the "Continue" button ### new in 0.91.49 ###
 - M3079 - output the printed object
 - M3080 - park the printer
 - M3090 - test the watchdog (this command resets the firmware)
 - M3091 - erase the external EEPROM
 - M3100 - configure the number of manual z steps after the "Heat Bed up" or "Heat Bed down" button
- has been pressed
 
 - M3101 - configure the number of manual extruder steps after the "Extruder output" or "Extruder
- retract" button has been pressed
 
 - M3102 - configure the offset in x, y and z direction as well as the extruder retract which shall
- be applied in case the "Pause Printing" button has been pressed (units are [steps])
 
 - M3103 - configure the x, y and z position which shall set when the printer is parked
- deleted in 0.91.48 # (M3104 has been removed because all of its functionality is replaced through the OUTPUT_OBJECT_SCRIPT script now) - M3104 - configure the x, y and z position which shall set when the printed object is output
 
 - M3105 - configure the offset in x, y and z direction as well as the extruder retract which shall be applied in case the "Pause Printing" button has been pressed (units are [mm])
 - M3110 - lock the current status text
 - M3120 - turn on the case fan
 - M3121 - turn off the case fan
 
Die folgenden M-Codes sind für den Werkstück-Scan in der Betriebsart "Fräsen"
- M3130 - start/stop the search of the z-origin
 - M3140 - turn the z-compensation off
 - M3141 - turn the z-compensation on
 - M3146 - configure the static z-offset (units are [µm])
 - M3149 - get/choose the active work part z-compensation matrix
 - M3150 - start/abort the work part scan
 - M3151 - clear the specified z-compensation matrix from the EEPROM
 - M3152 - restore the default scan parameters
 - M3153 - output the specified work part z-compensation matrix
 - M3160 - configure the x start position for the work part scan (units are [mm])
 - M3161 - configure the y start position for the work part scan (units are [mm])
 - M3162 - configure the x step size for the work part scan (units are [mm])
 - M3163 - configure the y step size for the work part scan (units are [mm])
 - M3164 - configure the x end position for the work part scan (units are [mm])
 - M3165 - configure the y end position for the work part scan (units are [mm])
 
Andere M-Codes
M3200 - reserved for test and debug
Parameter
- Keine