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
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!!
Custom M-Codes
- M20 - List SD card
- M21 - Init SD card
- M22 - Release SD card
- M23 - Select SD file (M23 filename.g)
- M24 - Start/resume SD print
- M25 - Pause SD print
- M26 - Set SD position in bytes (M26 S12345)
- M27 - Report SD print status
- M28 - Start SD write (M28 filename.g)
- M29 - Stop SD write
- M30 <filename> - Delete file on sd card
- M32 <dirname> - Create subdirectory
- M42 P<pin number> S<value 0..255> - Change output of pin P to S. Does not work on most important pins.
- M80 - Turn on power supply
- M81 - Turn off power supply
- M82 - Set E codes absolute (default)
- M83 - Set E codes relative while in Absolute Coordinates (G90) mode
- M84 - Disable steppers until next move, or use S<seconds> to specify an inactivity timeout, after which the steppers will be disabled. S0 to disable the timeout.
- M85 - Set inactivity shutdown timer with parameter S<seconds>. To disable set zero (default)
- M92 - Set axisStepsPerMM - same syntax as G92
- M99 S<delayInSec> X0 Y0 Z0 - Disable motors for S seconds (default 10) for given axis.
- M104 S<temp> T<extruder> P1 F1 - Set temperature without wait. P1 = wait for moves to finish, F1 = beep when temp. reached first time
- M105 X0 - Get temperatures. If X0 is added, the raw analog values are also written.
- M112 - Emergency kill
- M115 - Capabilities string
- M116 - Wait for all temperatures in a +/- 1 degree range
- M117 <message> - Write message in status row on lcd
- M119 - Report endstop status
- M140 S<temp> F1 - Set bed target temp, F1 makes a beep when temperature is reached the first time
- M190 - Wait for bed current temp to reach target temp.
- 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
the following M-Codes are for the work part scan in operating mode "mill"
- 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])
other M-Codes
- M3200 - reserved for test and debug