diff --git a/.pronsolerc.example b/.pronsolerc.example index 60d921a..2c9579b 100644 --- a/.pronsolerc.example +++ b/.pronsolerc.example @@ -1,5 +1,12 @@ # Sample .pronsolerc file - copy this into your home directory and rename it to .pronsolerc !print "Loaded " + self.rc_filename -macro up move Z 10 -macro loud !self.p.loud = 1 -macro quiet !self.p.loud = 0 +macro loud + !if self.p.loud: + !self.p.loud = 0 + !if hasattr(self,"cur_button") and self.cur_button is not None: + !self.onecmd('button %d "loud (off)" /c green loud' % self.cur_button) + !else: + !self.p.loud = 1 + !if hasattr(self,"cur_button") and self.cur_button is not None: + !self.onecmd('button %d "loud (on)" /c yellow loud' % self.cur_button) +button 0 "loud (off)" /c "green" loud diff --git a/README b/README deleted file mode 100644 index d8c2e2d..0000000 --- a/README +++ /dev/null @@ -1,76 +0,0 @@ -This is a python-based host software for reprap printers, in various forms. - -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 -INSTALLING DEPENDENCIES - -On Windows, download the following, and install in this order: -http://python.org/ftp/python/2.7.2/python-2.7.2.msi -http://pypi.python.org/packages/any/p/pyserial/pyserial-2.5.win32.exe -http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.12.0-py27.exe -http://launchpad.net/pyreadline/trunk/1.7/+download/pyreadline-1.7.win32.exe - -On Ubuntu/debian, do: -sudo apt-get install python-serial python-wxgtk2.8 - -On Fedora 15 do: -sudo yum install pyserial wxpython - -On Mac OS X, download and install: -http://downloads.sourceforge.net/wxpython/wxPython2.8-osx-unicode-2.8.12.0-universal-py2.6.dmg -Grab the source for pyserial from http://pypi.python.org/packages/source/p/pyserial/pyserial-2.5.tar.gz -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: -export VERSIONER_PYTHON_PREFER_32_BIT=yes - -Then repeat the same with http://launchpad.net/pyreadline/trunk/1.7/+download/pyreadline-1.7.zip - -USING PRONTERFACE - -To use pronterface, you need: -python (ideally 2.6.x or 2.7.x), -pyserial (or python-serial on ubuntu/debian), -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 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 pronterface.py - -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() - diff --git a/README.md b/README.md new file mode 100644 index 0000000..9356d71 --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +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 + +# INSTALLING DEPENDENCIES + +## Windows +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/trunk/1.7/+download/pyreadline-1.7.win32.exe + +## Ubuntu/Debian +`sudo apt-get install python-serial python-wxgtk2.8` + +## Fedora 15 +`sudo yum install pyserial wxpython` + +## Mac OS X Lion + + 1. Ensure that the active Python is the system version. (`brew uninstall python` or other appropriate incantations) + 2. Download an install [wxPython version 2.9-Carbon](http://wxpython.org/download.php#unstable) (the Cocoa version doesn't work) + 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` + +The tools will run just fine in 64bit on Lion, you don't need to mess +with any of the 32bit settings. + +## Mac OS X (pre Lion) + 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: + +`export VERSIONER_PYTHON_PREFER_32_BIT=yes` + +Then repeat the same with http://launchpad.net/pyreadline/trunk/1.7/+download/pyreadline-1.7.zip + +# USING PRONTERFACE + +To use pronterface, you need: + + * python (ideally 2.6.x or 2.7.x), + * pyserial (or python-serial on ubuntu/debian), + * 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 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 pronterface.py + +# 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() + + diff --git a/pronsole.py b/pronsole.py index 4fbb32f..af01dba 100755 --- a/pronsole.py +++ b/pronsole.py @@ -391,10 +391,10 @@ class pronsole(cmd.Cmd): os.rename(rci.name,rci.name+"~old") rco.close() os.rename(rco.name,self.rc_filename) - if definition != "": - print "Saved '"+key+"' to '"+self.rc_filename+"'" - else: - print "Removed '"+key+"' from '"+self.rc_filename+"'" + #if definition != "": + # print "Saved '"+key+"' to '"+self.rc_filename+"'" + #else: + # print "Removed '"+key+"' from '"+self.rc_filename+"'" except Exception, e: print "Saving failed for",key+":",str(e) finally: