-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsiph_stepping.py
86 lines (64 loc) · 2.63 KB
/
siph_stepping.py
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
from sentio_prober_control.Communication.CommunicatorTcpIp import CommunicatorTcpIp
from sentio_prober_control.Sentio.ProberSentio import *
from sentio_prober_control.Sentio.Enumerations import *
#-------------------------------------------------------#
# Example for SiPH Probe with Stepping
# 2 positioners application
#-------------------------------------------------------#
def main():
# Prepare communication
prober = SentioProber(CommunicatorTcpIp.create("127.0.0.1:35555"))
# 1. Load subsite table
subsiteListEastX = {
1: 0,
2: 50,
3: 100,}
subsiteListEastY = {
1: 0,
2: 50,
3: 100,}
subsiteListWestX = {
1: 0,
2: -50,
3: -100,}
subsiteListWestY = {
1: 0,
2: 50,
3: 100,}
prober.siph.move_separation(ProbeSentio.East)
prober.siph.move_separation(ProbeSentio.West)
prober.probe.move_probe_home(ProbeSentio.East)
prober.probe.move_probe_home(ProbeSentio.West)
prober.move_chuck_separation()
prober.move_chuck_home()
prober.move_chuck_contact()
prober.siph.move_hover(ProbeSentio.East)
prober.siph.move_hover(ProbeSentio.West)
prober.siph.fast_alignment()
prober.map.step_first_die()
for j in range(1, len(subsiteListEastX) + 1):
prober.probe.move_probe_xy(ProbeSentio.East, ProbeXYReference.Home, subsiteListEastX[j], subsiteListEastY[j])
prober.probe.move_probe_xy(ProbeSentio.West, ProbeXYReference.Home, subsiteListWestX[j], subsiteListWestY[j])
prober.move_chuck_contact()
prober.siph.move_hover(ProbeSentio.East)
prober.siph.move_hover(ProbeSentio.West)
prober.siph.gradient_search()
#---Measurement---#
die_num = prober.map.get_num_dies(DieNumber.Selected) # Get total dies
for i in range(1, int(die_num)):
prober.siph.move_separation(ProbeSentio.East)
prober.siph.move_separation(ProbeSentio.West)
prober.map.step_next_die()
# 13-3. ProbeSubsite_nextdie
for j in range(1, len(subsiteListEastX) + 1):
prober.probe.move_probe_xy(ProbeSentio.East, ProbeXYReference.Home, subsiteListEastX[j],
subsiteListEastY[j])
prober.probe.move_probe_xy(ProbeSentio.West, ProbeXYReference.Home, subsiteListWestX[j],
subsiteListWestY[j])
prober.move_chuck_contact()
prober.siph.move_hover(ProbeSentio.East)
prober.siph.move_hover(ProbeSentio.West)
prober.siph.gradient_search()
# ---Measurement---#
if __name__ == "__main__":
main()