Go to file
Markus Hitter 24e2fa936c Remove the "loud" macro from the .pronsolerc example.
As this is now part of the standard interface, it's pointless
to list it as possible extension code.
2012-08-13 16:36:43 +02:00
css Add place holder for temp control 2012-06-04 14:42:24 -05:00
images Updated with tooltips; gviz now has toolbar with icons; fixed binding to print button 2012-05-08 14:53:33 +01:00
locale Update French translation and template 2012-03-16 03:50:31 +01:00
php PHP parser 2012-06-03 14:29:53 +02:00
svg Projectlayer can present a zip file full of bmp files. 2012-05-27 13:10:35 +01:00
testfiles Projectlayer can present a zip file full of bmp files. 2012-05-27 13:10:35 +01:00
.gitignore Fix permissions, allow commands when printer disconnected 2011-07-15 09:15:12 +02:00
20cube_export.gcode Merge branch 'master', remote-tracking branch 'origin' into experimental 2011-11-30 06:44:00 +01:00
P-face.ico Garys Hack and SFACT all together in a package 2011-08-01 23:04:42 +03:00
README.i18n Add a word on updating .po from .pot 2012-02-26 01:26:36 +01:00
README.md Modified readme to describe the web interface. Removed references to skeinforge. 2012-06-05 17:14:50 +02:00
SkeinforgeQuickEditDialog.py Garys Hack and SFACT all together in a package 2011-08-01 23:04:42 +03:00
__init__.py Add __init__.py so Printrun can be used as package 2012-05-10 12:31:05 -05:00
auth.config Added Authentication and updated status xml format 2012-05-31 12:26:14 -05:00
bmpDisplay.py Projectlayer can present a zip file full of bmp files. 2012-05-27 13:10:35 +01:00
bufferedcanvas.py Fixed that arrow keys on Windows would move between controls after first extruder movement. 2011-11-08 11:03:45 -06:00
calibrateextruder.py Greatly improved calibrateextruder.py 2011-12-03 20:18:48 +01:00
custombtn.txt Move monitor checkbox, add M84 and M105 buttons, make more space for custom buttons on top 2011-06-30 09:09:53 +02:00
dot.pronsolerc.example Remove the "loud" macro from the .pronsolerc example. 2012-08-13 16:36:43 +02:00
gcview.py line rendering in separate thread 2012-01-27 23:14:20 +01:00
graph.py Made pronterface extremely compact to help it fit a tiny netbook screen 2012-04-26 10:08:59 +02:00
gviz.py Add button to reset view (no icon) 2012-05-23 16:21:56 +02:00
http.config Added Authentication and updated status xml format 2012-05-31 12:26:14 -05:00
plater.ico Add icons for plater and pronsole 2011-08-02 17:44:13 +02:00
plater.py Correct background colouring 2012-04-30 01:27:53 +02:00
printcore.py POtential fix for wx unicode decode errors 2012-07-11 20:56:15 +02:00
projectlayer.py added bitmap support for gif,tiff,jpg,jpeg,bmp,png 2012-05-27 18:12:38 +01:00
pronsole.ico Add icons for plater and pronsole 2011-08-02 17:44:13 +02:00
pronsole.py pronsole.py: repeat manual commands only in non-verbose mode. 2012-08-13 16:34:54 +02:00
pronterface.py pronterface.py: add a menu item for G-code debug capabilities. 2012-08-13 16:18:18 +02:00
stltool.py Full GPLv3 notice 2012-01-23 12:36:49 +01:00
stlview.py Update stlview.py Double-click on window attempted to load a potentially non-existant stl file. Now prints the location and window name. 2012-04-30 02:27:43 +02:00
webinterface.py don't pass 'allow_no_value' to SafeConfigParser if Python < 2.7 2012-06-07 00:51:55 -04:00
xybuttons.py Fixed using configured background to XYButtons ZButtons and TempGauge 2012-05-28 17:34:43 +02:00
zbuttons.py Fixed using configured background to XYButtons ZButtons and TempGauge 2012-05-28 17:34:43 +02:00
zscaper.py Full GPLv3 notice 2012-01-23 12:36:49 +01:00

README.md

Printrun consists of printcore, pronsole and pronterface, and a small collection of helpful scripts.

  • printcore.py is a library that makes writing reprap hosts easy
  • pronsole.py is an interactive command-line host software with tabcompletion goodness
  • pronterface.py is a graphical host software with the same functionality as pronsole
  • webinterface.py is a browser-usable remote control function for Pronterface

INSTALLING DEPENDENCIES

Windows

A precompiled version is available at http://koti.kapsi.fi/~kliment/printrun/

Download the following, and install in this order:

  1. http://python.org/ftp/python/2.7.2/python-2.7.2.msi
  2. http://pypi.python.org/packages/any/p/pyserial/pyserial-2.5.win32.exe
  3. http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.12.0-py27.exe
  4. http://launchpad.net/pyreadline/1.7/1.7/+download/pyreadline-1.7.win32.exe
  5. http://pyglet.googlecode.com/files/pyglet-1.1.4.zip

For the last one, you will need to unpack it, open a command terminal, go into the the directory you unpacked it in and run python setup.py install

Ubuntu/Debian

sudo apt-get install python-serial python-wxgtk2.8 python-pyglet

Fedora 15

sudo yum install pyserial wxpython pyglet

Mac OS X Lion

A precompiled version is available at http://koti.kapsi.fi/~kliment/printrun/

  1. Ensure that the active Python is the system version. (brew uninstall python or other appropriate incantations)
  2. Download an install [wxPython2.8-osx-unicode] matching to your python version (most likely 2.7 on Lion, check with: python --version) from: http://wxpython.org/download.php#stable Known to work PythonWX: http://superb-sea2.dl.sourceforge.net/project/wxpython/wxPython/2.8.12.1/wxPython2.8-osx-unicode-2.8.12.1-universal-py2.7.dmg
  3. Download and unpack pyserial from http://pypi.python.org/packages/source/p/pyserial/pyserial-2.5.tar.gz
  4. In a terminal, change to the folder you unzipped to, then type in: sudo python setup.py install
  5. Repeat 4. with http://http://pyglet.googlecode.com/files/pyglet-1.1.4.zip

The tools will probably run just fine in 64bit on Lion, you don't need to mess with any of the 32bit settings. In case they don't, try 5. export VERSIONER_PYTHON_PREFER_32_BIT=yes in a terminal before running Pronterface

Mac OS X (pre Lion)

A precompiled version is available at http://koti.kapsi.fi/~kliment/printrun/

  1. Download and install http://downloads.sourceforge.net/wxpython/wxPython2.8-osx-unicode-2.8.12.0-universal-py2.6.dmg

  2. Grab the source for pyserial from http://pypi.python.org/packages/source/p/pyserial/pyserial-2.5.tar.gz

  3. Unzip pyserial to a folder. Then, in a terminal, change to the folder you unzipped to, then type in:

    defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

    sudo python setup.py install

Alternatively, you can run python in 32 bit mode by setting the following environment variable before running the setup.py command:

This alternative approach is confirmed to work on Mac OS X 10.6.8.

export VERSIONER_PYTHON_PREFER_32_BIT=yes

sudo python setup.py install

Then repeat the same with http://http://pyglet.googlecode.com/files/pyglet-1.1.4.zip

USING PRONTERFACE

To use pronterface, you need:

  • python (ideally 2.6.x or 2.7.x),
  • pyserial (or python-serial on ubuntu/debian),
  • pyglet
  • pyreadline (not needed on Linux) and
  • wxPython

Download and install the above, and start pronterface.py Select the port name you are using from the first drop-down, select your baud rate, and hit connect. Load an STL (see the note on skeinforge below) or GCODE file, and you can upload it to SD or print it directly. The "monitor printer" function, when enabled, checks the printer state (temperatures, SD print progress) every 3 seconds. The command box recognizes all pronsole commands, but has no tabcompletion.

If you want to load stl files, you need to install a slicing program such as Slic3r and add its path to the settings. See the Slic3r readme for more details on integration.

Using the browser interface

To run the web interface, install Cherrypy and run Pronterface as described above. The www server will start on the port/address you have chosen.

Webinterface Dependencies

Cherrypy is required for the web interface. Download and install it by opening a command prompt in its directory and running python setup.py install.

Webinterface Configuration

  • The Web interface port / ip is configurable in http.config
  • The Default User / Password can be set in auth.config

Webinterface Styling

  • css/style.css can be modified to change the style of the Web Interface.

USING PRONSOLE

To use pronsole, you need:

  • python (ideally 2.6.x or 2.7.x),
  • pyserial (or python-serial on ubuntu/debian) and
  • pyreadline (not needed on Linux)

Start pronsole and you will be greeted with a command prompt. Type help to view the available commands. All commands have internal help, which you can access by typing "help commandname", for example "help connect"

If you want to load stl files, you need to put a version of skeinforge (doesn't matter which one) in a folder called "skeinforge". The "skeinforge" folder must be in the same folder as pronsole.py

USING PRINTCORE

To use printcore you need python (ideally 2.6.x or 2.7.x) and pyserial (or python-serial on ubuntu/debian) See pronsole for an example of a full-featured host, the bottom of printcore.py for a simple command-line sender, or the following code example:

p=printcore('/dev/ttyUSB0',115200)
p.startprint(data) # data is an array of gcode lines
p.send_now("M105") # sends M105 as soon as possible
p.pause()
p.resume()
p.disconnect()

LICENSE

Printrun is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Printrun is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Printrun.  If not, see <http://www.gnu.org/licenses/>.