Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Now living at -- Cross-platform cross-machine RepRap communications library
Branch: master
Failed to load latest commit information.
.gitignore Added gitignore.
CMakeLists.txt Added config for CPack binary package building ('make package')
INSTALL Clarifications to INSTALL
README Corrected a typo.
common.h Factored out resent logic into common.c
comms.c remove comments, and extraneous whitespace to make checksums work
comms.h when we get a 'start' force a lineno. reset.
fived.c add explanatory comment on the reset on 'start'
fived.h Began splitting protocol-specific code into its own files in preparat…
gcode.c Initial commit
gcode.h (Re)implemented rr_open, rr_close, and rr_enqueue.
serial.c Stripped serial code down, exposed errno properly, and closed some po…
serial.h Stripped serial code down, exposed errno properly, and closed some po…
tonokip.c Factored out resent logic into common.c
tonokip.h Implemented tonokip protocol and improved isolation of reply handling.
util.c Include device dir in enumerated port paths.
util.h Replaced guess_port with enumerate_ports


Libreprap is a library intended to abstract host <-> reprap communication, allowing all reprap host software to share common code for this task.

Code hosting:
Page on the reprap wiki:

Currently, gcdump (from reprap-tools) and the development branch of RepSnapper is using this lib, but once it matures, the intention is for every host software to start using it.

== Development ==
You can debug the serial code wihtout an actual firmware by using socat:
* sudo socat -d -d pty,link=/dev/libreprap,raw,echo=0 readline,raw,echo=0
** This gives a simple serial terminal that you can use to talk to libreprap
* connect your client software to /dev/libreprap
** now send anything and see it appear on the socat terminal
* for testing libreprap with minimal distractions, try gcdump from
** "gcdump -v -p 3 /dev/libreprap" eats from stdin and outputs to stdout. Use "-p 5" instead for comms checksumming
Something went wrong with that request. Please try again.