G-Code listing

All things related to the Rostock MAX 3D Printer, the worlds FIRST Delta kit!
Post Reply
Chrissi
Printmaster!
Posts: 159
Joined: Sat Feb 15, 2014 9:20 pm
Contact:

G-Code listing

Post by Chrissi »

Is there a G-Code listing specific and limited to those commands that work with the current version of the Rostock MAX?
We L O V E this printer!
...Chrissi

Rostock MAX
http://www.CozyGirrrl.com" onclick="window.open(this.href);return false;
bubbasnow
ULTIMATE 3D JEDI
Posts: 1064
Joined: Fri Aug 02, 2013 4:24 pm
Location: Dayton, WA

Re: G-Code listing

Post by bubbasnow »

Chrissi
Printmaster!
Posts: 159
Joined: Sat Feb 15, 2014 9:20 pm
Contact:

Re: G-Code listing

Post by Chrissi »

Thanks Bubba, already have that one and it is somewhat helpful though it appears to be one size fits all with a lot of extraneous codes for other systems. Would be helpful to have a listing specific to this machine and RAMBO.
...Chrissi

Rostock MAX
http://www.CozyGirrrl.com" onclick="window.open(this.href);return false;
User avatar
mhackney
ULTIMATE 3D JEDI
Posts: 5412
Joined: Mon Mar 26, 2012 4:15 pm
Location: MA, USA
Contact:

Re: G-Code listing

Post by mhackney »

The gcode for the machine is defined by the firmware. If you are using Repetier, you will find exactly what's supported in the Repetier main file:

Implemented Codes

- G0 -> G1
- G1 - Coordinated Movement X Y Z E
- G4 - Dwell S<seconds> or P<milliseconds>
- G20 - Units for G0/G1 are inches.
- G21 - Units for G0/G1 are mm.
- G28 - Home all axis or named axis.
- G29 S<0..2> - Z-Probe at the 3 defined probe points. S = 1 measure avg. zHeight, S = 2 store avg zHeight
- G30 - Single z-probe at current position
- G31 - Write signal of probe sensor
- G32 S<0..2> P<0..1> - Autolevel print bed. S = 1 measure zLength, S = 2 Measue and store new zLength, P = 1 iterative correction for delta
- G90 - Use absolute coordinates
- G91 - Use relative coordinates
- G92 - Set current position to cordinates given
- G131 - set extruder offset position to 0 - needed for calibration with G132
- G132 - calibrate endstop positions. Call this, after calling G131 and after centering the extruder holder.

RepRap M Codes

- M104 - Set extruder target temp
- M105 - Read current temp
- M106 - Fan on
- M107 - Fan off
- M109 - Wait for extruder current temp to reach target temp.
- 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
- 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<printTemerature> 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 fo rthat 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)

Sublime Layers - my blog on Musings and Experiments in 3D Printing Technology and Art

Start Here:
A Strategy for Successful (and Great) Prints

Strategies for Resolving Print Artifacts

The Eclectic Angler
Chrissi
Printmaster!
Posts: 159
Joined: Sat Feb 15, 2014 9:20 pm
Contact:

Re: G-Code listing

Post by Chrissi »

Thanks, that's brill!
I also tried to open the post file on the SD card to make some adjustments to the G-code but it was not readable, at least not with any of the G-code editors I use. Is the one shot you have to make adjustments in Slic3er before you hit save?
...Chrissi

Rostock MAX
http://www.CozyGirrrl.com" onclick="window.open(this.href);return false;
User avatar
mhackney
ULTIMATE 3D JEDI
Posts: 5412
Joined: Mon Mar 26, 2012 4:15 pm
Location: MA, USA
Contact:

Re: G-Code listing

Post by mhackney »

No, absolutely not. It sounds like you might have CNC experience? 3D printer Gcode can be post processed manually exactly like CAM output in a gcode editor or even a text editor. A really great gcode previewer and editor is GCode Analyzer - and it's a) free and b) a web application! You can step one line at a time and watch it "print" your item. You can edit the code, etc. Go wild!

When you hit save in slicer you can save as a gcode file.

Sublime Layers - my blog on Musings and Experiments in 3D Printing Technology and Art

Start Here:
A Strategy for Successful (and Great) Prints

Strategies for Resolving Print Artifacts

The Eclectic Angler
Chrissi
Printmaster!
Posts: 159
Joined: Sat Feb 15, 2014 9:20 pm
Contact:

Re: G-Code listing

Post by Chrissi »

mhackney wrote:No, absolutely not. It sounds like you might have CNC experience? 3D printer Gcode can be post processed manually exactly like CAM output in a gcode editor or even a text editor. A really great gcode previewer and editor is GCode Analyzer - and it's a) free and b) a web application! You can step one line at a time and watch it "print" your item. You can edit the code, etc. Go wild!

When you hit save in slicer you can save as a gcode file.
Oh, okay I have been checking the " { } Save in binary format (for Repetier Firmware)" box, that's not readable. I was not sure if I was required or not.
Yes, we have been banging out g-code with MS-notepad for many years for 2 lathes and 2 mills. All conversions we have done ourselves. CNC plasma is next. Use a Hypertherm torch a couple of times and you'll wonder how you managed without one.
Slic3er is a bit of heaven after manually doing code. I have used Surfcam for surfacing but this 3D slicing is wonderful. Our intention is to generate pattens for lost PLA casting of components it takes too much time to surface machine. The printer can generate internal passages that I cannot do with 4 axis machining.
...Chrissi

Rostock MAX
http://www.CozyGirrrl.com" onclick="window.open(this.href);return false;
User avatar
mhackney
ULTIMATE 3D JEDI
Posts: 5412
Joined: Mon Mar 26, 2012 4:15 pm
Location: MA, USA
Contact:

Re: G-Code listing

Post by mhackney »

Just checked your website, I am SURE you know your way around gcode! Our printer gcode is pretty primitive in comparison - typically straight line segments no arcs. Slicers have a LONG way to go. It drives me crazy sometimes. Also, the STL format we use to describe geometries is fine for milling a part out of a homogenous block of aluminum where you don't care about the internal structure, but with 3D printing you typically do care about both the internal structure and surface. I can only dream of slicers in the future...

Sublime Layers - my blog on Musings and Experiments in 3D Printing Technology and Art

Start Here:
A Strategy for Successful (and Great) Prints

Strategies for Resolving Print Artifacts

The Eclectic Angler
Post Reply

Return to “Rostock MAX”