chiark / gitweb /
Merge commit '351bb29ade66bed0b3b147cd790293d206127c95'
authorLawrence Johnston <Lawrence.B.Johnston@gmail.com>
Sun, 11 Mar 2012 21:57:57 +0000 (14:57 -0700)
committerLawrence Johnston <Lawrence.B.Johnston@gmail.com>
Sun, 11 Mar 2012 21:57:57 +0000 (14:57 -0700)
* commit '351bb29ade66bed0b3b147cd790293d206127c95':
  Fixed flip options, added show log when slicing fails, fixed bug in comb module

README
build.sh
scripts/osx64/pronterface.sh [changed mode: 0644->0755]
scripts/osx64/skeinpypy.sh [new file with mode: 0755]

diff --git a/README b/README
index 735b4df9005d28272ef4319d25bfa41d47264540..20f2b209d27244eb6cf25f174ee646a8cd2a7d28 100644 (file)
--- a/README
+++ b/README
@@ -1,45 +1,66 @@
 For documentation check: https://github.com/daid/SkeinPyPy/wiki
 For downloads check: https://github.com/daid/SkeinPyPy/downloads
 
+This package includes two programs:
 
+Pronterface:
 
+    An application for both manually controlling and automatically feeding gcode to a 3D printer.
 
+SkeinPyPy:
 
+   A easy to use program for slicing STL files using SkeinForge. SkeinPyPy can also visualize the 3D models in a variety of ways.
 
-(Old README, is outdated!)
+   On first run, SkeinPyPy will ask to go through a set of calibration steps that will perform a series of operations on your 3D printer. One of those steps involves extruding a bit of filament where the filament is initially nearly fully extracted.  As such, it you will probably need to run Pronterface first, heat up the extruder enough to be able to extract the filament and then use the Pronterface interface to reverse the extruder motor until the filament is at the right position (specifically, until the filament end is even with where the Bowden tube leaves the extuder motor assembly, on an Ultimaker).
 
-SkeinPyPy is a patched version of Skeinforge. Made to make use of PyPy in combination with Skeinforge easier.
-It's also packaged with a customized version of PrintRun. To make a compleet software package.
+========
+BUILDING
+========
 
-It's best to use this package with the Marlin firmware. See: http://wiki.ultimaker.com/Skeinforge_PyPy
+    ./build.sh
+    
+The build script defaults to building for Windows.  If you want to build for Mac OS X or Linux, choose one of:
 
-====How to use===
-Download the package for your operating system.
+    ./build.sh osx64
+    ./build.sh linux
 
-Windows:
-       Double click the "skeinforge.bat" for Skeinforge, this can be used to slice your models into GCode.
-       Double click the "Printrun.bat" for "PrintRun" this is a graphical command&control interface for your printer. This can run the generated GCode.
+Note that Mac OS X currently requires the manual installation of wxPython, PySerial, and PyOpenGL:
 
-Linux/MacOSX: (experimental, no packaged python)
-       First you'll need to have python installed on your system! With pyserial when you want to use PrintRun. You do not need pypy, this is packaged with SkeinPyPy
-       Then run SkeinPyPy/skeinforge_application/skeinforge.py for skeinforge to slice your model
-       Or run printrun\\pronterface.py for the PrintRun interface to print your model
+    sudo easy_install-2.7 pyserial
+    sudo easy_install-2.7 PyOpenGL
 
-====What is changed====
-* Do not show settings when ran from command line
-* Run PyPy to slice a model instead of normal python
-* Changing "Perimeter width over thickness (ratio)" into "Perimeter width".
-       With 5D machines this makes more sense, as you have good control over the width.
-* Save settings in .skeinforge_pypy to not mess up normal skeinforge profiles.
-* Default settings changed to match Ultimaker with dimension firmware (Marlin or Sprinter) and PLA.
-* Modified "Object first layer speed" settings to work on the first 3 layers (configurable)
-* Added "Object first layer travel speed" setting, to slow down the travel on the first layers.
-       Reduces the chance that a travel pulls the first layer lose.
+You will need to download the appropriate wxPython Installer package and install it.  It is available from:
 
-====Bugs====
-The graphical analize plugins don't work (Skeinlayer and Skeiniso)
+    http://www.wxpython.org/download.php
 
-====How does it work====
-The user interface still runs in normal python (as PyPy with TK is a bit hard to build, especially for windows),
-       and when you slice it will run command line PyPy to slice the model.
+Specifically, install "wxPython2.9-osx-cocoa-py2.7" as it is the build that supports 64-bit execution.
+
+=======
+RUNNING
+=======
+
+Windows
+-------
+
+Double-click skeinforge.bat and Printrun.bat.
+
+Mac OS X & Linux
+----------------
+
+Once built, the two apps -- Pronterface and SkeinPyPy -- must be started from the command line (for now):
+
+    # open a new terminal window and....
+    cd osx64-SkeinPyPy-NewUI-Beta4
+    ./pronterface.sh &
+    ./skeinpypy.sh &
+
+This will start both applications with their console logging output directed into the terminal window.
+
+========
+FIRMWARE
+========
+
+For Ultimaker users, it is highly recommended -- nearly required -- that you upgrade your firmware to the latest Marlin builds.  See:
+
+    http://wiki.ultimaker.com/Skeinforge_PyPy
 
index e6981c5e951af23fa798b5ce31c4df1fa189259a..d3e1acd4653e349f1c6e41de5ed3f7d4d4d0cdb8 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -9,7 +9,7 @@
 
 
 ##Select the build target
-BUILD_TARGET=win32
+BUILD_TARGET=${1:-win32}
 #BUILD_TARGET=linux
 #BUILD_TARGET=osx64
 
@@ -20,7 +20,7 @@ BUILD_NAME=NewUI-Beta4
 TARGET_DIR=${BUILD_TARGET}-SkeinPyPy-${BUILD_NAME}
 
 ##Which versions of external programs to use
-PYPY_VERSION=c-jit-53274-487174b08100
+PYPY_VERSION=c-jit-latest
 WIN_PORTABLE_PY_VERSION=2.7.2.1
 WIN_PYSERIAL_VERSION=2.5
 
@@ -126,7 +126,7 @@ if [ $BUILD_TARGET = "win32" ]; then
        mv ${TARGET_DIR}/pypy-${PYPY_VERSION}* ${TARGET_DIR}/pypy
 else
        cd ${TARGET_DIR}; $TAR -xjf ../pypy-${PYPY_VERSION}-${BUILD_TARGET}.tar.bz2; cd ..
-       mv ${TARGET_DIR}/pypy-${PYPY_VERSION}* ${TARGET_DIR}/pypy
+       mv ${TARGET_DIR}/pypy-*-${BUILD_TARGET} ${TARGET_DIR}/pypy
 fi
 #Cleanup pypy
 rm -rf ${TARGET_DIR}/pypy/lib-python/2.7/test
@@ -138,7 +138,11 @@ cp -a SkeinPyPy_NewUI ${TARGET_DIR}/SkeinPyPy
 mv Printrun ${TARGET_DIR}/Printrun
 
 #add script files
-cp -a scripts/${BUILD_TARGET}/* $TARGET_DIR/
+if [ $BUILD_TARGET = "win32" ]; then
+    cp -a scripts/${BUILD_TARGET}/*.bat $TARGET_DIR/
+else
+    cp -a scripts/${BUILD_TARGET}/*.sh $TARGET_DIR/
+fi
 
 #add readme file
 cp README ${TARGET_DIR}/README.txt
old mode 100644 (file)
new mode 100755 (executable)
index 9300594..83896aa
@@ -1,8 +1,8 @@
 #!/bin/bash
 
-arch -arch i386 python2.7 -c 'import wx'
+python2.7 -c 'import wx'
 if [ $? != 0 ]; then
-       echo "Requires wx. Download and install from:"
+       echo "Requires wx. Download and install (the Cocoa/64-bit variant) from:"
        echo " http://www.wxpython.org/download.php"
        exit 1
 fi
@@ -15,5 +15,5 @@ if [ $? != 0 ]; then
 fi
 
 SCRIPT_DIR=`dirname $0`
-arch -arch i386 python2.7 ${SCRIPT_DIR}/Printrun/pronterface.py
+python2.7 ${SCRIPT_DIR}/Printrun/pronterface.py
 
diff --git a/scripts/osx64/skeinpypy.sh b/scripts/osx64/skeinpypy.sh
new file mode 100755 (executable)
index 0000000..736b301
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+python2.7 -c 'import OpenGL'
+if [ $? != 0 ]; then
+       echo "Requires PyOpenGL"
+       echo " sudo easy_install-2.7 PyOpenGL"
+       exit 1
+fi
+
+python2.7 -c 'import wx'
+if [ $? != 0 ]; then
+       echo "Requires wx. Download and install (the Cocoa/64-bit variant) from:"
+       echo " http://www.wxpython.org/download.php"
+       exit 1
+fi
+
+python2.7 -c 'import serial'
+if [ $? != 0 ]; then
+       echo "Requires pyserial."
+       echo " sudo easy_install-2.7 pyserial"
+       exit 1
+fi
+
+SCRIPT_DIR=`dirname $0`
+python2.7 ${SCRIPT_DIR}/SkeinPyPy/skeinpypy.py
+