GCodes

Aus RF1000 Wiki
Zur Navigation springen Zur Suche springen

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 X0 - 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 - Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000)
  • M202 - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000)
  • M203 - Set temperture monitor to Sx
  • M204 - Set PID parameter X => Kp Y => Ki Z => Kd S<extruder> Default is current extruder. NUM_EXTRUDER=Heated bed
  • M205 - Output EEPROM settings
  • M206 - Set EEPROM value
  • M207 X<XY jerk> Z<Z Jerk> E<ExtruderJerk> - Changes current jerk values, but do not store them in eeprom.
  • M220 S<Feedrate multiplier in percent> - Increase/decrease given feedrate
  • M221 S<Extrusion flow multiplier in percent> - Increase/decrease given flow rate
  • M231 S<OPS_MODE> X<Min_Distance> Y<Retract> Z<Backlash> F<ReatrctMove> - Set OPS parameter
  • M232 - Read and reset max. advance values
  • M233 X<AdvanceK> Y<AdvanceL> - Set temporary advance K-value to X and linear term advanceL to Y
  • M251 Measure Z steps from homing stop (Delta printers). S0 - Reset, S1 - Print, S2 - Store to Z length (also EEPROM if enabled)
  • M280 S<mode> - Set ditto printing mode. mode: 0 = off, 1 = on
  • 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