-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprinter.py
More file actions
91 lines (82 loc) · 1.86 KB
/
printer.py
File metadata and controls
91 lines (82 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import serial
import os
from time import sleep
from numpy import array, linspace
#connect to Arduino
devdir = (os.walk('/dev/').next())[2]
for device in devdir:
if device.find('ACM') != -1:
print device
ser = serial.Serial('/dev/' + device, 50, timeout = 1);
print "Success!"
maxpos = array( (1030, 730) )
currpos = array( (0,0) )
def moveto( r , time_wait=0, utime_wait = 0):
global currpos
r = array(r)
delta = r - currpos
currpos = array((min(r[0],maxpos[0]), min(r[1],maxpos[1])))
if delta[0] < 0:
for dummy in xrange( int(abs(delta[1])) ):
if delta[1] > 0:
ser.write('MY1\n')
elif delta[1] < 0:
ser.write('MY0\n')
sleep(utime_wait/1000000.)
ser.flushInput()
for dummy in xrange( int(abs(delta[0])) ):
if delta[0] > 0:
ser.write('MX1\n')
elif delta[0] < 0:
ser.write('MX0\n')
sleep(utime_wait/1000000.)
ser.flushInput()
else:
for dummy in xrange( int(abs(delta[0])) ):
if delta[0] > 0:
ser.write('MX1\n')
elif delta[0] < 0:
ser.write('MX0\n')
sleep(utime_wait/1000000.)
ser.flushInput()
for dummy in xrange( int(abs(delta[1])) ):
if delta[1] > 0:
ser.write('MY1\n')
elif delta[1] < 0:
ser.write('MY0\n')
sleep(utime_wait/1000000.)
ser.flushInput()
sleep(time_wait/1000.)
def push(time_wait=0):
ser.write('P')
sleep(time_wait/1000.)
def press(time_wait=0):
ser.write('P')
sleep(time_wait/1000.)
def release(time_wait=0):
ser.write('R')
sleep(time_wait/1000.)
def home():
release()
for x in xrange(50):
ser.write('MX1\n')
ser.flush()
ser.flushInput()
for x in xrange(800):
ser.write('MY0\n')
ser.flush()
ser.flushInput()
# sleep(1/10000.)
for x in xrange(1100):
ser.write('MX0\n')
ser.flush()
print ser.read()
ser.flushInput()
# sleep(1/10000.)
currpos[0] = 0
currpos[1] = 0
def close():
ser.close()
def savepower():
ser.write('S')
ser.flushInput()