Various lightweight UNIXy command-line utilities for working with RepRap machines on POSIX-compatible systems
Switch branches/tags
Nothing to show
Pull request Compare This branch is 69 commits behind Ralith:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


All code contained within this project is made available under the BSD license detailed in LICENSE.

Detailed information about the functionality of any tool can be obtained by calling it with -h (e.g. `gcgen -h`).


This tool is intended to be used to send gcode to a RepRap machine listening on a serial port.  It can accept input either from a file, passed as the last argument, or, if the file is "-" or unspecified, gcode is read from the standard input, appropriate for minimal interactive use as well as input piped in from a file or a tool which generates gcode.

Please note that serial speed defaults to 19200; you will receive unpredictable results if your RepRap operates with a different serial speed and you do not explicitly specify it.


# Dumps the file minimug.gcode using serial linespeed 38400 and automatically determining the correct serial port
gcdump -s 38400 -f ./minimug.gcode

# Dumps the file minimug.gcode using default serial linespeed and
# printing all communications to standard output, stripping unnecessary
# gcode before transmitting.
gcdump -c -v /dev/ttyUSB0 < ./minimug.gcode

# Dumps the file minimug.gcode without printing anything to
# standard output.  Note that errors will still be printed to
# standard error if necessary.
cat ./minimug.gcode | gcdump -q /dev/ttyUSB0

# Interactively dumps the single command G1 X10 Y10 Z0 and exits
# safely.
gcdump /dev/ttyUSB0
G1 X10 Y10 Z0

# Prints current extruder temperature
echo M105 | gcdump -v | grep "T:" | cut -b 3-

# Continuously prints current extruder temperature; useful for monitoring warmup.
yes M105 | gcdump -v | grep "T:" | cut -b 3-


This tool provides a simple, easy-to-use interface to generate gcode for maintenance and testing purposes, appropriate for writing to file for use as, for example, a Skeingorge header, or being piped directly into a RepRap machine through the use of a tool such as gcdump.


# Produces gcode to zero all three axes and linear-move to 50,0,0
gcgen -z xyz -l 50::

# Produces gcode to linear-move to 12,17,42, then to 12,20,42.
# (or 12,3,0 in absolute mode) (assumes starting at 0,0,0)
gcgen -l 12,17,42 -l ,3,

# Instructs a machine connected on /dev/ttyUSB0 to cease
# extruding and shut off the heater.
gcgen -e off -t 0 | gcdump /dev/ttyUSB0

# Instructs an automatically detected machine to begin warming
# to ABS extrusion temperature and zero the X and Y axes.
gcgen -t 240 -z xy | gcdump