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 ist die Extrusionsgeschwindigkeit
- 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
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
G31 - Speichere Wert des Z-Höhentasters
Parameter
- Keine
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
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 - Lese aktuelle Extrudertemperatur
Parameter
- <Snnn>
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 Temperaturen
Parameter
- [X0]
Bemerkung
- X0 = zeige auch die nicht-umgerechneten digitalen Werte. Scheinbar nicht durch RF1000 unterstützt (JoBo: Worauf bezieht sich letzte Bemerkung?)
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
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