pcnc-770.hal
1 2 loadrt [KINS]KINEMATICS 3 loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS 4 loadrt hal_parport cfg=0x378 5 setp parport.0.reset-time 4000 6 loadrt stepgen step_type=0,0,0,0,0 ctrl_type=p,p,p,p,v 7 8 loadrt estop_latch 9 net charge-pump <= estop-latch.0.watchdog 10 11 addf parport.0.read base-thread 12 addf stepgen.make-pulses base-thread 13 addf estop-latch.0 base-thread 14 addf parport.0.write base-thread 15 addf parport.0.reset base-thread 16 17 addf stepgen.capture-position servo-thread 18 addf motion-command-handler servo-thread 19 addf motion-controller servo-thread 20 addf stepgen.update-freq servo-thread 21 net spindle-cw <= spindle.0.forward 22 net coolant-flood <= iocontrol.0.coolant-flood 23 net spindle-on spindle.0.on stepgen.4.enable 24 25 26 # 27 # Spindle gear selection code. 28 # 29 # emc2 (rpm) => gearchange => stepgen (step & dir) => spindle 30 # low gear: 175-3250 rpm, 201.3 ppr, 10900 Hz => 3250 rpm, 3.354 Hz/rpm 31 # high gear: 525-10200 rpm, 64.1 ppr, 10900 Hz => 10200 rpm, 1.069 Hz/rpm 32 # low/high ppr = 201.3/64.1 = 3.140 33 # 34 35 setp stepgen.4.maxaccel 20000 36 setp stepgen.4.maxvel 3250 37 setp stepgen.4.position-scale 3.354 38 net spindle-pwm stepgen.4.step parport.0.pin-01-out 39 setp stepgen.4.stepspace 0 40 setp stepgen.4.steplen 1 41 setp parport.0.pin-01-out-reset 1 42 loadrt or2 count=1 43 linksp spindle-cw or2.0.in0 44 net spindle-ccw spindle.0.reverse or2.0.in1 45 46 loadrt toggle count=1 47 loadrt not count=1 48 loadrt gearchange count=1 49 addf toggle.0 servo-thread 50 addf not.0 servo-thread 51 addf gearchange.0 servo-thread 52 setp toggle.0.debounce 0 53 setp gearchange.0.min1 175 54 setp gearchange.0.max1 3250 55 setp gearchange.0.min2 525 56 setp gearchange.0.max2 10200 57 setp gearchange.0.scale2 3.140 58 # we're not controlling the direction with the gearchanger, so reverse isn't set 59 # and the dir-in and dir-out pins aren't linked 60 net spindle-speed-raw spindle.0.speed-out gearchange.0.speed-in 61 net spindle-speed gearchange.0.speed-out stepgen.4.velocity-cmd 62 63 net xdir => parport.0.pin-02-out 64 setp parport.0.pin-03-out-invert 1 65 net xstep => parport.0.pin-03-out 66 setp parport.0.pin-03-out-reset 1 67 net ydir => parport.0.pin-04-out 68 setp parport.0.pin-05-out-invert 1 69 net ystep => parport.0.pin-05-out 70 setp parport.0.pin-05-out-reset 1 71 setp parport.0.pin-06-out-invert 1 72 net zdir => parport.0.pin-06-out 73 setp parport.0.pin-07-out-invert 1 74 net zstep => parport.0.pin-07-out 75 setp parport.0.pin-07-out-reset 1 76 net adir => parport.0.pin-08-out 77 setp parport.0.pin-09-out-invert 1 78 net astep => parport.0.pin-09-out 79 setp parport.0.pin-09-out-reset 1 80 net coolant-flood => parport.0.pin-14-out 81 net spindle-cw => parport.0.pin-16-out 82 net charge-pump => parport.0.pin-17-out 83 84 net both-home-x <= parport.0.pin-10-in 85 net both-home-y <= parport.0.pin-11-in 86 net both-home-z <= parport.0.pin-12-in 87 net home-a <= parport.0.pin-13-in 88 net machine-ok <= parport.0.pin-15-in-not 89 90 setp stepgen.0.position-scale [JOINT_0]SCALE 91 setp stepgen.0.steplen 1 92 setp stepgen.0.stepspace 0 93 setp stepgen.0.dirhold 45000 94 setp stepgen.0.dirsetup 26000 95 setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL 96 net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd 97 net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb 98 net xstep <= stepgen.0.step 99 net xdir <= stepgen.0.dir 100 net xenable joint.0.amp-enable-out => stepgen.0.enable 101 net both-home-x => joint.0.home-sw-in 102 net both-home-x => joint.0.neg-lim-sw-in 103 net both-home-x => joint.0.pos-lim-sw-in 104 105 setp stepgen.1.position-scale [JOINT_1]SCALE 106 setp stepgen.1.steplen 1 107 setp stepgen.1.stepspace 0 108 setp stepgen.1.dirhold 45000 109 setp stepgen.1.dirsetup 26000 110 setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL 111 net ypos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd 112 net ypos-fb stepgen.1.position-fb => joint.1.motor-pos-fb 113 net ystep <= stepgen.1.step 114 net ydir <= stepgen.1.dir 115 net yenable joint.1.amp-enable-out => stepgen.1.enable 116 net both-home-y => joint.1.home-sw-in 117 net both-home-y => joint.1.neg-lim-sw-in 118 net both-home-y => joint.1.pos-lim-sw-in 119 120 setp stepgen.2.position-scale [JOINT_2]SCALE 121 setp stepgen.2.steplen 1 122 setp stepgen.2.stepspace 0 123 setp stepgen.2.dirhold 45000 124 setp stepgen.2.dirsetup 26000 125 setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL 126 net zpos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd 127 net zpos-fb stepgen.2.position-fb => joint.2.motor-pos-fb 128 net zstep <= stepgen.2.step 129 net zdir <= stepgen.2.dir 130 net zenable joint.2.amp-enable-out => stepgen.2.enable 131 net both-home-z => joint.2.home-sw-in 132 net both-home-z => joint.2.neg-lim-sw-in 133 net both-home-z => joint.2.pos-lim-sw-in 134 135 setp stepgen.3.position-scale [JOINT_3]SCALE 136 setp stepgen.3.steplen 1 137 setp stepgen.3.stepspace 0 138 setp stepgen.3.dirhold 45000 139 setp stepgen.3.dirsetup 26000 140 setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL 141 net apos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd 142 net apos-fb stepgen.3.position-fb => joint.3.motor-pos-fb 143 net astep <= stepgen.3.step 144 net adir <= stepgen.3.dir 145 net aenable joint.3.amp-enable-out => stepgen.3.enable 146 net home-a => joint.3.home-sw-in 147 148 #linksp xenable estop-latch.0.ok-out 149 net estop-out <= iocontrol.0.user-enable-out 150 net machine-ok => estop-latch.0.ok-in 151 net estop estop-latch.0.ok-out => iocontrol.0.emc-enable-in 152 net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset 153 154 loadusr -W hal_manualtoolchange 155 net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change 156 net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed 157 net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number 158 net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared 159 160 net probe parport.0.pin-13-in-not => motion.probe-input