summaryrefslogtreecommitdiff
path: root/configs/by_interface/pico/ppmc/ppmc_io.hal
blob: 1e362912dfcd24c0f7664da5f40ca529aaedc85b (plain)
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
# HAL config file for Pico Systems USC board
#
# Connect motion controller I/Os
#

# connect limit/home switch outputs to motion controller
net Xminlim <= ppmc.0.din.01.in
net Xminlim => axis.0.neg-lim-sw-in
net Xmaxlim <= ppmc.0.din.02.in
net Xmaxlim => axis.0.pos-lim-sw-in
net Xhome <= ppmc.0.din.00.in
net Xhome => axis.0.home-sw-in

net Yminlim <= ppmc.0.din.05.in
net Yminlim => axis.1.neg-lim-sw-in
net Ymaxlim <= ppmc.0.din.06.in
net Ymaxlim => axis.1.pos-lim-sw-in
net Yhome <= ppmc.0.din.04.in
net Yhome => axis.1.home-sw-in

net Zminlim <= ppmc.0.din.09.in
net Zminlim => axis.2.neg-lim-sw-in
net Zmaxlim <= ppmc.0.din.10.in
net Zmaxlim => axis.2.pos-lim-sw-in
net Zhome <= ppmc.0.din.08.in
net Zhome => axis.2.home-sw-in

net Aminlim <= ppmc.0.din.12.in
net Aminlim => axis.3.neg-lim-sw-in
net Amaxlim <= ppmc.0.din.13.in
net Amaxlim => axis.3.pos-lim-sw-in
net Ahome <= ppmc.0.din.11.in
net Ahome => axis.3.home-sw-in


# connect index pulses to motion controller
# uncomment if you have encoder index signals
#linksp Xindex <= ppmc.0.encoder.00.index-enable
#linksp Xindex => axis.0.index-enable
#linksp Yindex <= ppmc.0.encoder.01.index-enable
#linksp Yindex => axis.1.index-enable
#linksp Zindex <= ppmc.0.encoder.02.index-enable
#linksp Zindex => axis.2.index-enable

#
# Connect I/O controller I/Os
#

# connect e-stop write/sense to I/O controller
# and ppmc's fault with estop's output, so  estop FF is reset, but
#      prevent continued estop signal from ppmc from holding FF cleared
net ppmcEstop ppmc.0.din.estop.in
net ppmcEstop and2.0.in0
net EstopOkIn estop-latch.0.fault-in
net EstopOkIn and2.0.out
net EstopOkOut ppmc.0.dout.07.out
net EstopOkOut ppmc.0.dout.Estop.out
net EstopOkOut iocontrol.0.emc-enable-in
net EstopOkOut estop-latch.0.ok-out
net EstopOkOut and2.0.in1
net emc-estop-out iocontrol.0.user-enable-out
net emc-estop-out estop-latch.0.ok-in
net emc-estop-reset iocontrol.0.user-request-enable
net emc-estop-reset estop-latch.0.reset

#newsig EstopSense bit
#newsig EstopWrite bit
#linksp EstopSense <= ppmc.0.din.estop.in-not
#linksp EstopSense => iocontrol.0.emc-enable-in
#linksp EstopWrite <= ppmc.0.dout.07.out
#linksp EstopWrite => iocontrol.0.user-enable-out
#estop may need to be inverted

# connect spindle fwd/rev to I/O controller
net SpindleFwd <= ppmc.0.dout.00.out
net SpindleFwd => motion.spindle-forward
net SpindleRev <= ppmc.0.dout.01.out
net SpindleRev => motion.spindle-reverse

# connect spindle brake to I/O controller
net SpindleBrakeOn <= ppmc.0.dout.02.out
net SpindleBrakeOn => motion.spindle-brake

# connect mist/flood coolant to I/O controller
net MistOn <= ppmc.0.dout.03.out
net MistOn => iocontrol.0.coolant-mist
net FloodOn <= ppmc.0.dout.04.out
net FloodOn => iocontrol.0.coolant-flood