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

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 - Set extruder target temp

Parameter

Keine

M105 - Read current temp


M106 - Fan on


M107 - Fan off


M109 - Wait for extruder current temp to reach target temp


M111 - Set Debug Level

Parameter S<0....9>

Bemerkung (not documented in RF1k firmware?)


M114 - Display current position


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