summaryrefslogtreecommitdiff
path: root/configs/by_machine/smithy/1240rutex.hal
blob: b129e0a255bc23d2bd03f48b5e4b0c05f7f1597b (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
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[TRAJ]AXES
loadrt stepgen step_type=0,0,0
loadrt match8 count=1
# Used to filter out spurious limit switch signals
# THIS IS VERY BAD & SHOULD BE FIXED IN HARDWARE!!!
loadrt debounce cfg=1
setp debounce.0.delay 2
loadrt hal_parport cfg="0x378"

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf debounce.0 base-thread
addf parport.0.write base-thread

addf stepgen.capture-position servo-thread
addf match8.0 servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread

net Xpos-cmd axis.0.motor-pos-cmd stepgen.0.position-cmd
net Ypos-cmd axis.1.motor-pos-cmd stepgen.1.position-cmd
net Zpos-cmd axis.2.motor-pos-cmd stepgen.2.position-cmd

net Xpos-fb stepgen.0.position-fb axis.0.motor-pos-fb
net Ypos-fb stepgen.1.position-fb axis.1.motor-pos-fb
net Zpos-fb stepgen.2.position-fb axis.2.motor-pos-fb

net Xen <= axis.0.amp-enable-out stepgen.0.enable
net Yen <= axis.1.amp-enable-out stepgen.1.enable
net Zen <= axis.2.amp-enable-out stepgen.2.enable

net Xstep stepgen.0.step parport.0.pin-03-out
net Xdir stepgen.0.dir parport.0.pin-02-out
net Ystep stepgen.1.step parport.0.pin-05-out
net Ydir stepgen.1.dir parport.0.pin-04-out
net Zstep stepgen.2.step parport.0.pin-07-out
net Zdir stepgen.2.dir parport.0.pin-06-out

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.0.maxvel [AXIS_0]STEPGEN_MAXVEL
setp stepgen.1.maxvel [AXIS_1]STEPGEN_MAXVEL
setp stepgen.2.maxvel [AXIS_2]STEPGEN_MAXVEL
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL

# three axis motion allows 6 other outputs on pins 8,9,1,14,16,17
# five additional input pins are available 10,11,12,13,15

setp parport.0.pin-01-out-invert true
net estop iocontrol.0.user-enable-out parport.0.pin-01-out iocontrol.0.emc-enable-in

setp parport.0.pin-14-out-invert true
net flood iocontrol.0.coolant-flood parport.0.pin-14-out

setp parport.0.pin-17-out-invert true
net forward motion.spindle-forward parport.0.pin-16-out
net reverse motion.spindle-reverse parport.0.pin-17-out

# These loopbacks are usually disconnected by a postgui halfile
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
net tool-prepare-loopback iocontrol.0.tool-prepare iocontrol.0.tool-prepared

newsig false bit
sets false FALSE
net xhoming axis.0.homing match8.0.a0
net yhoming axis.1.homing match8.0.a1
net zhoming axis.2.homing match8.0.a2
net false match8.0.b0 match8.0.b1 match8.0.b2
net home-raw parport.0.pin-15-in-not debounce.0.0.in
net home-filtered debounce.0.0.out axis.0.home-sw-in axis.1.home-sw-in axis.2.home-sw-in match8.0.in
net limit match8.0.out axis.0.neg-lim-sw-in