MrDraw/SkeinPyPy/fabmetheus_utilities/miscellaneous/fabricate/example.py
daid 77d04ceab8 Removed patches for different skeinforge versions. Only SF48 now.
Updated build script to create win32/linux/macos versions.
Fixed the defaults to they work with PLA.
Fixed the temperature plugin default "ON" problem.
Removed all profiles except for PLA.
2012-02-10 17:20:03 +01:00

144 lines
3.7 KiB
Python

#!/usr/bin/python
try:
import serial
except:
print('You do not have pySerial installed, which is needed to control the serial port.')
print('Information on pySerial is at:\nhttp://pyserial.wiki.sourceforge.net/pySerial')
import reprap, time, sys
#reprap.snap.printOutgoingPackets = True
#reprap.snap.printIncomingPackets = True
#reprap.snap.printFailedPackets = True
#reprap.printDebug = True
#work surface approx x 2523, y 2743
#reprap.serial = serial.Serial(0, 19200, timeout = reprap.snap.messageTimeout)
reprap.serial = serial.Serial(0, 19200, timeout = 60)
reprap.cartesian.x.active = True # these devices are present in network
reprap.cartesian.y.active = True
reprap.cartesian.z.active = True
reprap.extruder.active = True
reprap.cartesian.x.setNotify()
reprap.cartesian.y.setNotify()
reprap.cartesian.z.setNotify()
reprap.cartesian.x.limit = 2523
#reprap.cartesian.y.limit = 2743
reprap.cartesian.y.limit = 2000
def printPos():
x, y, z = reprap.cartesian.getPos()
print "Location [" + str(x) + ", " + str(y) + ", " + str(z) + "]"
print "================================================================"
########### control of cartesian frame as a whole #########
#stop all steppers
if sys.argv[1] == "stop":
reprap.cartesian.stop()
#goto 0,0
if sys.argv[1] == "reset":
reprap.cartesian.homeReset( 200, True )
#time.sleep(2)
printPos()
#print current positon
if sys.argv[1] == "pos":
printPos()
#goto a specific location
if sys.argv[1] == "goto":
reprap.cartesian.seek( ( int(sys.argv[2]), int(sys.argv[3]), 0 ), 200, False)
printPos()
#goto a specific location (use sync)
if sys.argv[1] == "gotos":
reprap.cartesian.syncSeek( ( int(sys.argv[2]), int(sys.argv[3]), 0 ), 200, False)
printPos()
if sys.argv[1] == "power":
reprap.cartesian.setPower( int( sys.argv[2] ) ) # This is a value from 0 to 63 (6 bits)
#test routine
if sys.argv[1] == "go": #stepper test
reprap.cartesian.seek( (1000, 1000, 0), 200, True )
time.sleep(2)
reprap.cartesian.seek( (500, 1000, 0), 200, True )
time.sleep(2)
reprap.cartesian.seek( (500, 500, 0), 200, True )
time.sleep(2)
reprap.cartesian.seek( (10, 10, 0), 200, True )
#free motors (switch off all coils)
if sys.argv[1] == "free":
reprap.axies.free(reprap.axisX)
reprap.axies.free(reprap.axisY)
############## control of individual steppers #############
#spin stepper
if sys.argv[1] == "run": # run axis
if sys.argv[2] == "x":
reprap.cartesian.x.forward( int(sys.argv[3]) )
elif sys.argv[2] == "y":
reprap.cartesian.y.forward( int(sys.argv[3]) )
#spin stepper in reverse
if sys.argv[1] == "runb": #runb axis
if sys.argv[2] == "x":
reprap.axies.backward( reprap.axisX, int(sys.argv[3]) )
elif sys.argv[2] == "y":
reprap.axies.backward( reprap.axisY, int(sys.argv[3]) )
if sys.argv[1] == "step":
if sys.argv[2] == "x":
reprap.cartesian.x.forward1()
elif sys.argv[2] == "y":
reprap.cartesian.y.forward1()
################# control of extruder #####################
#test extrder motor
elif sys.argv[1] == "motor":
nn = 0
while 1:
if nn > 0:
nn = 0
else:
nn = 150
reprap.extruder.setMotor(reprap.CMD_REVERSE, nn)
time.sleep(1)
elif sys.argv[1] == "getinfo":
mtype = reprap.extruder.getModuleType()
version = reprap.extruder.getVersion()
print "module", mtype, "version", version
elif sys.argv[1] == "heat":
reprap.extruder.setHeat(255, 255, 255, 255)
#setHeat(self, lowHeat, highHeat, tempTarget, tempMax
elif sys.argv[1] == "temp":
print "Temp is ", reprap.extruder.getTemp()
elif sys.argv[1] == "setref":
reprap.extruder.setVoltateReference( int(sys.argv[2]) )
############### scan network for devices ###################
#scan snap network
elif sys.argv[1] == "scan":
reprap.scanNetwork()