# Generated by PNCconf at Sat Jul 25 07:52:12 2015 # If you make changes to this file, they will be # overwritten when you run PNCconf again loadrt trivkins loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES num_dio=64 num_aio=64 # I added the num_dio and num_ai loadrt hostmot2 loadrt hm2_pci config=" num_encoders=0 num_pwmgens=0 num_stepgens=14" # I added lines below to match Tormach hal file loadrt estop_latch loadrt toggle count=1 loadrt not names=prog-not-idle,axis3-not-homing loadrt gearchange count=1 loadrt mux2 count=2 loadrt xor2 names=probe-active-hi-lo loadrt debounce cfg=5 loadrt pid num_chan=5 loadrt tormachspindle names=tormachspindle loadrt and2 names=enable-limit-x,enable-limit-y,enable-limit-z,probe-enable-input # - - - - setp hm2_5i25.0.watchdog.timeout_ns 5000000 # I remarked out following line # loadrt pid names=pid.0,pid.1,pid.2,pid.3 # servo thread addf hm2_5i25.0.read servo-thread addf hm2_5i25.0.write servo-thread addf hm2_5i25.0.pet_watchdog servo-thread # I added this line from Tormach hal addf motion-command-handler servo-thread addf motion-controller servo-thread addf estop-latch.0 servo-thread # I added this line from Tormach hal # I added below from tormach hal addf toggle.0 servo-thread addf prog-not-idle servo-thread addf axis3-not-homing servo-thread addf gearchange.0 servo-thread addf mux2.0 servo-thread addf probe-active-hi-lo servo-thread addf debounce.0 servo-thread addf mux2.1 servo-thread addf tormachspindle servo-thread addf enable-limit-x servo-thread addf enable-limit-y servo-thread addf enable-limit-z servo-thread addf probe-enable-input servo-thread # ——— addf pid.0.do-pid-calcs servo-thread addf pid.1.do-pid-calcs servo-thread addf pid.2.do-pid-calcs servo-thread addf pid.3.do-pid-calcs servo-thread addf pid.4.do-pid-calcs servo-thread ########################################## # noise debounce for home switches and estop - This section copied from Tormach setp debounce.0.delay 1 ########################################## # 5i25 watchdog timeout - This section copied from Tormach # 10 milliseconds (~10 times the servo loop period) setp hm2_5i25.0.watchdog.timeout_ns 10000000 ########################### # 5i25 Pin out for NOVAKON bit file #IO Connections for P3 #Pin# Mill Fxn I/O Pri. func Sec. func Chan Pin func Pin Dir # # 1 X step 0 IOPort StepGen 0 Step (Out) #14 Spindle Dir 1 IOPort StepGen 5 Dir (Out) # 2 X Dir 2 IOPort StepGen 0 Dir (Out) #15 ProbeIn(act low) 3 IOPort None # 3 Y Step 4 IOPort StepGen 1 Step (Out) #16 Spindle Step 5 IOPort StepGen 5 Step (Out) # 4 Y Dir 6 IOPort StepGen 1 Dir (Out) #17 Charge Pump 7 IOPort StepGen 6 Step (Out) # 5 Z Step 8 IOPort StepGen 2 Step (Out) # 6 Z Dir 9 IOPort StepGen 2 Dir (Out) # 7 A Step 10 IOPort StepGen 3 Step (Out) # 8 A Dir 11 IOPort StepGen 3 Dir (Out) # 9 Flood Relay 12 IOPort None #10 E-Stop In 13 IOPort None #11 All Limit Sw 14 IOPort None #12 15 IOPort None #13 Timing/Touch pl 16 IOPort None ############################################## ######################################################################## # Charge pump # pin set by 5i25 configuration # P3 pin 17 gpio 007 # dc = (value/scale) # ---Chargepump StepGen: 0.25 velocity = 10Khz square wave output--- # This is native linuxcnc setp hm2_5i25.0.stepgen.06.dirsetup 100 setp hm2_5i25.0.stepgen.06.dirhold 100 setp hm2_5i25.0.stepgen.06.steplen 100 setp hm2_5i25.0.stepgen.06.stepspace 100 setp hm2_5i25.0.stepgen.06.position-scale 10000 setp hm2_5i25.0.stepgen.06.step_type 2 setp hm2_5i25.0.stepgen.06.control-type 1 setp hm2_5i25.0.stepgen.06.maxaccel 0 setp hm2_5i25.0.stepgen.06.maxvel 0 setp hm2_5i25.0.stepgen.06.velocity-cmd 1 net x-enable => hm2_5i25.0.stepgen.06.enable # external output signals # external input signals # --- ESTOP-EXT --- net estop-ext <= hm2_5i25.0.gpio.013.in_not # --- ALL-LIMIT ---this is native to LinuxCNC - I remarked out so Tormach could control limits net all-limit <= hm2_5i25.0.gpio.014.in #******************* # AXIS X #******************* setp pid.0.Pgain [AXIS_0]P setp pid.0.Igain [AXIS_0]I setp pid.0.Dgain [AXIS_0]D setp pid.0.bias [AXIS_0]BIAS setp pid.0.FF0 [AXIS_0]FF0 setp pid.0.FF1 [AXIS_0]FF1 setp pid.0.FF2 [AXIS_0]FF2 setp pid.0.deadband [AXIS_0]DEADBAND setp pid.0.maxoutput [AXIS_0]MAX_OUTPUT setp pid.0.error-previous-target true setp pid.0.maxerror .0005 net x-index-enable <=> pid.0.index-enable net x-enable => pid.0.enable net x-pos-cmd => pid.0.command net x-vel-cmd => pid.0.command-deriv net x-pos-fb => pid.0.feedback net x-output => pid.0.output # Step Gen signals/setup # step/dir setp hm2_5i25.0.stepgen.00.step_type 0 # velocity control setp hm2_5i25.0.stepgen.00.control-type 1 # scaling for position feedback, position command, and velocity command, in steps per length unit. # converts from counts to position units. position = counts / position_scale setp hm2_5i25.0.stepgen.00.position-scale [AXIS_0]SCALE # stepper driver timing parameters setp hm2_5i25.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP setp hm2_5i25.0.stepgen.00.dirhold [AXIS_0]DIRHOLD setp hm2_5i25.0.stepgen.00.steplen [AXIS_0]STEPLEN setp hm2_5i25.0.stepgen.00.stepspace [AXIS_0]STEPSPACE setp hm2_5i25.0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAX_VEL ########################################### # Added this section from tormach # # position command and feedback #net emcmot.00.pos-cmd axis.0.motor-pos-cmd => pid.0.command #net emcmot.00.vel-cmd axis.0.joint-vel-cmd => pid.0.command-deriv #net motor.00.pos-fb <= hm2_5i25.0.stepgen.00.position-fb axis.0.motor-pos-fb pid.0.feedback #net motor.00.command pid.0.output hm2_5i25.0.stepgen.00.velocity-cmd setp pid.0.error-previous-target true # ---closedloop stepper signals--- net x-pos-cmd <= axis.0.motor-pos-cmd net x-vel-cmd <= axis.0.joint-vel-cmd net x-output <= hm2_5i25.0.stepgen.00.velocity-cmd net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb net x-pos-fb => axis.0.motor-pos-fb net x-enable <= axis.0.amp-enable-out net x-enable => hm2_5i25.0.stepgen.00.enable # ---setup home / limit switch signals--NATIVE to linuxcnc - I remaked out to allow Tormach to control limits #net x-home-sw => axis.0.home-sw-in #net all-limit => axis.0.neg-lim-sw-in #net all-limit => axis.0.pos-lim-sw-in #******************* # AXIS Y #******************* setp pid.1.Pgain [AXIS_1]P setp pid.1.Igain [AXIS_1]I setp pid.1.Dgain [AXIS_1]D setp pid.1.bias [AXIS_1]BIAS setp pid.1.FF0 [AXIS_1]FF0 setp pid.1.FF1 [AXIS_1]FF1 setp pid.1.FF2 [AXIS_1]FF2 setp pid.1.deadband [AXIS_1]DEADBAND setp pid.1.maxoutput [AXIS_1]MAX_OUTPUT setp pid.1.error-previous-target true setp pid.1.maxerror .0005 net y-index-enable <=> pid.1.index-enable net y-enable => pid.1.enable net y-pos-cmd => pid.1.command net y-vel-cmd => pid.1.command-deriv net y-pos-fb => pid.1.feedback net y-output => pid.1.output # Step Gen signals/setup setp hm2_5i25.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP setp hm2_5i25.0.stepgen.01.dirhold [AXIS_1]DIRHOLD setp hm2_5i25.0.stepgen.01.steplen [AXIS_1]STEPLEN setp hm2_5i25.0.stepgen.01.stepspace [AXIS_1]STEPSPACE setp hm2_5i25.0.stepgen.01.position-scale [AXIS_1]SCALE setp hm2_5i25.0.stepgen.01.step_type 0 setp hm2_5i25.0.stepgen.01.control-type 1 setp hm2_5i25.0.stepgen.01.maxaccel [AXIS_1]STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.01.maxvel [AXIS_1]STEPGEN_MAX_VEL # ---closedloop stepper signals--- net y-pos-cmd <= axis.1.motor-pos-cmd net y-vel-cmd <= axis.1.joint-vel-cmd net y-output <= hm2_5i25.0.stepgen.01.velocity-cmd net y-pos-fb <= hm2_5i25.0.stepgen.01.position-fb net y-pos-fb => axis.1.motor-pos-fb net y-enable <= axis.1.amp-enable-out net y-enable => hm2_5i25.0.stepgen.01.enable # ---setup home / limit switch signals--NATIVE to linuxcnc - I remaked out to allow Tormach to control limits #net y-home-sw => axis.1.home-sw-in #net all-limit => axis.1.neg-lim-sw-in #net all-limit => axis.1.pos-lim-sw-in #******************* # AXIS Z #******************* setp pid.2.Pgain [AXIS_2]P setp pid.2.Igain [AXIS_2]I setp pid.2.Dgain [AXIS_2]D setp pid.2.bias [AXIS_2]BIAS setp pid.2.FF0 [AXIS_2]FF0 setp pid.2.FF1 [AXIS_2]FF1 setp pid.2.FF2 [AXIS_2]FF2 setp pid.2.deadband [AXIS_2]DEADBAND setp pid.2.maxoutput [AXIS_2]MAX_OUTPUT setp pid.2.error-previous-target true setp pid.2.maxerror .0005 net z-index-enable <=> pid.2.index-enable net z-enable => pid.2.enable net z-pos-cmd => pid.2.command net z-vel-cmd => pid.2.command-deriv net z-pos-fb => pid.2.feedback net z-output => pid.2.output # Step Gen signals/setup setp hm2_5i25.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP setp hm2_5i25.0.stepgen.02.dirhold [AXIS_2]DIRHOLD setp hm2_5i25.0.stepgen.02.steplen [AXIS_2]STEPLEN setp hm2_5i25.0.stepgen.02.stepspace [AXIS_2]STEPSPACE setp hm2_5i25.0.stepgen.02.position-scale [AXIS_2]SCALE setp hm2_5i25.0.stepgen.02.step_type 0 setp hm2_5i25.0.stepgen.02.control-type 1 setp hm2_5i25.0.stepgen.02.maxaccel [AXIS_2]STEPGEN_MAXACCEL setp hm2_5i25.0.stepgen.02.maxvel [AXIS_2]STEPGEN_MAX_VEL # ---closedloop stepper signals--- net z-pos-cmd <= axis.2.motor-pos-cmd net z-vel-cmd <= axis.2.joint-vel-cmd net z-output <= hm2_5i25.0.stepgen.02.velocity-cmd net z-pos-fb <= hm2_5i25.0.stepgen.02.position-fb net z-pos-fb => axis.2.motor-pos-fb net z-enable <= axis.2.amp-enable-out net z-enable => hm2_5i25.0.stepgen.02.enable # ---setup home / limit switch signals--NATIVE to linuxcnc - I remarked out to allow Tormach to control limits #net z-home-sw => axis.2.home-sw-in #net all-limit => axis.2.neg-lim-sw-in #net all-limit => axis.2.pos-lim-sw-in ######################################################################## # A axis # step/dir setp hm2_5i25.0.stepgen.03.step_type 0 # velocity control setp hm2_5i25.0.stepgen.03.control-type 1 # scaling for position feedback, position command, and velocity command, in steps per length unit. # converts from counts to position units. position = counts / position_scale setp hm2_5i25.0.stepgen.03.position-scale [AXIS_3]SCALE # stepper driver timing parameters setp hm2_5i25.0.stepgen.03.steplen [AXIS_3]STEPLEN setp hm2_5i25.0.stepgen.03.stepspace [AXIS_3]STEPSPACE setp hm2_5i25.0.stepgen.03.dirhold [AXIS_3]DIRHOLD setp hm2_5i25.0.stepgen.03.dirsetup [AXIS_3]DIRSETUP setp hm2_5i25.0.stepgen.03.maxvel [AXIS_3]MAX_VELOCITY # acceleration/deceleration limit, in length units per second squared # maximum acceleration, in position units per second per second setp hm2_5i25.0.stepgen.03.maxaccel [AXIS_3]MAX_ACCELERATION # axis enable chain newsig emcmot.03.enable bit sets emcmot.03.enable FALSE net emcmot.03.enable <= axis.3.amp-enable-out net emcmot.03.enable => hm2_5i25.0.stepgen.03.enable pid.3.enable # position command and feedback net emcmot.03.pos-cmd axis.3.motor-pos-cmd => pid.3.command net emcmot.03.vel-cmd axis.3.joint-vel-cmd => pid.3.command-deriv net motor.03.pos-fb <= hm2_5i25.0.stepgen.03.position-fb axis.3.motor-pos-fb pid.3.feedback net motor.03.command pid.3.output hm2_5i25.0.stepgen.03.velocity-cmd setp pid.3.error-previous-target true # PID parameters setp pid.3.Pgain [AXIS_3]P setp pid.3.Igain [AXIS_3]I setp pid.3.Dgain [AXIS_3]D setp pid.3.bias [AXIS_3]BIAS setp pid.3.FF0 [AXIS_3]FF0 setp pid.3.FF1 [AXIS_3]FF1 setp pid.3.FF2 [AXIS_3]FF2 setp pid.3.deadband [AXIS_3]DEADBAND setp pid.3.maxoutput [AXIS_3]MAX_OUTPUT setp pid.3.maxerror [AXIS_3]MAX_ERROR # P3 pin 9 gpio 012 # A step setp hm2_5i25.0.gpio.010.invert_output 1 ######################################################################## #******************* # SPINDLE S #******************* setp pid.4.Pgain [SPINDLE]P setp pid.4.Igain [SPINDLE]I setp pid.4.Dgain [SPINDLE]D setp pid.4.bias [SPINDLE]BIAS setp pid.4.FF0 [SPINDLE]FF0 setp pid.4.FF1 [SPINDLE]FF1 setp pid.4.FF2 [SPINDLE]FF2 setp pid.4.deadband [SPINDLE]DEADBAND setp pid.4.maxoutput [SPINDLE]MAX_OUTPUT setp pid.4.error-previous-target true setp pid.4.maxerror .0005 net spindle-index-enable <=> pid.4.index-enable net spindle-enable => pid.4.enable net spindle-vel-cmd-rpm => pid.4.command net spindle-vel-fb-rpm => pid.4.feedback net spindle-output <= pid.4.output # Step Gen signals/setup # type 1 velocity control mode setp hm2_5i25.0.stepgen.05.control-type 1 # step/dir # type 2 quadrature output for 50% duty cycle - this is “2” in tormach hal setp hm2_5i25.0.stepgen.05.step_type 0 # no scaling 1:1 setp hm2_5i25.0.stepgen.05.position-scale [SPINDLE]STEP_SCALE # Tormach default is "1" # handle spindle at speed via separate component “0” in tormach hal setp hm2_5i25.0.stepgen.05.maxaccel [SPINDLE]MAX_ACCELERATION # 0 in tormach # stepspace in nanoseconds “0” in tormach setp hm2_5i25.0.stepgen.05.stepspace [SPINDLE]STEPSPACE # steplen in nanoseconds (10 microseconds) 10000 in tormach setp hm2_5i25.0.stepgen.05.steplen [SPINDLE]STEPLEN ############################################################################## # All of this added from tormach hal - changed to pin 5 for my novakon spindle # assume standard spindle until UI sets it - maybe delete this? setp tormachspindle.spindle-type 0 # hispeed spindle min/max setp tormachspindle.hispeed-min 1 setp tormachspindle.hispeed-max 4500 # allow UI to access min/max for high speed spindle # do not net these until the UI code is changed to set them explicitly # or the setp command above will not stick and they will be set to 0 net spindle-hispeed-min tormachspindle.hispeed-min net spindle-hispeed-max tormachspindle.hispeed-max # these let the UI read the min/max maintained by the comp based on spindle type net spindle-min-speed tormachspindle.min-speed net spindle-max-speed tormachspindle.max-speed # the UI sets the spindle type net spindle-type tormachspindle.spindle-type # assume high range until UI sets it setp tormachspindle.belt-position 1 net spindle-range tormachspindle.belt-position net spindle-range-alarm tormachspindle.speed-alarm setp tormachspindle.lowbelt-min-rpm [SPINDLE]LO_RANGE_MIN setp tormachspindle.lowbelt-max-rpm [SPINDLE]LO_RANGE_MAX setp tormachspindle.highbelt-min-rpm [SPINDLE]HI_RANGE_MIN setp tormachspindle.highbelt-max-rpm [SPINDLE]HI_RANGE_MAX # speed-out is displayed by UI when program running net spindle-speed-fb-rpm tormachspindle.speed-out # connect motion speed-out to input of spindle comp net spindle-speed-raw motion.spindle-speed-out tormachspindle.speed-in # connect output of spindle comp to stepgen #net spindle-speed tormachspindle.mcb-freq-out hm2_5i25.0.stepgen.05.velocity-cmd # spindle at speed parameters for tormachspindle component setp tormachspindle.startup-delay [SPINDLE]STARTUP_DELAY # time to reach max speed from stopped setp tormachspindle.seconds-to-max-rpm [SPINDLE]SECONDS_TO_MAX_RPM # connect spindle comp at-speed output to motion net spindle-at-speed tormachspindle.at-speed motion.spindle-at-speed # connect motion spindle enable to stepgen enable and spindle comp net spindle-on motion.spindle-on hm2_5i25.0.stepgen.05.enable tormachspindle.spindle-on # spindle direction # P3 pin 16 gpio 005 #setp hm2_5i25.0.gpio.005.is_output 1 #net spindle-cw motion.spindle-forward => hm2_5i25.0.gpio.005.out # UI access to stop spindle while in feedhold / INTERP_PAUSED net spindle-disable tormachspindle.disable ############################################################################## # This is native to linuxcnc setp hm2_5i25.0.stepgen.05.dirsetup [SPINDLE]DIRSETUP setp hm2_5i25.0.stepgen.05.dirhold [SPINDLE]DIRHOLD setp hm2_5i25.0.stepgen.05.maxvel [SPINDLE]MAX_VELOCITY setp hm2_5i25.0.gpio.001.invert_output true #net machine-is-enabled => hm2_5i25.0.stepgen.05.enable net spindle-vel-cmd-rps => hm2_5i25.0.stepgen.05.velocity-cmd net spindle-vel-fb-rps <= hm2_5i25.0.stepgen.05.velocity-fb # ---closedloop stepper signals--- #net s-pos-cmd <= axis.9.motor-pos-cmd #net s-vel-cmd <= axis.9.joint-vel-cmd #net s-output <= hm2_5i25.0.stepgen.05.velocity-cmd #net s-pos-fb <= hm2_5i25.0.stepgen.05.position-fb #net s-pos-fb => axis.9.motor-pos-fb #net s-enable <= axis.9.amp-enable-out #net s-enable => hm2_5i25.0.stepgen.05.enable # ---setup spindle control signals--- net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs # I remarked out following lines # net spindle-vel-cmd-rpm <= motion.spindle-speed-out net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs # net spindle-enable <= motion.spindle-on net spindle-cw <= motion.spindle-forward net spindle-ccw <= motion.spindle-reverse net spindle-brake <= motion.spindle-brake net spindle-revs => motion.spindle-revs net spindle-at-speed => motion.spindle-at-speed net spindle-vel-fb-rps => motion.spindle-speed-in net spindle-index-enable <=> motion.spindle-index-enable # ---Setup spindle at speed signals--- # I remarked out following # sets spindle-at-speed true #****************************** # connect miscellaneous signals #****************************** # ---HALUI signals--- net joint-select-a halui.joint.0.select net x-is-homed halui.joint.0.is-homed net jog-x-pos halui.jog.0.plus net jog-x-neg halui.jog.0.minus net jog-x-analog halui.jog.0.analog net joint-select-b halui.joint.1.select net y-is-homed halui.joint.1.is-homed net jog-y-pos halui.jog.1.plus net jog-y-neg halui.jog.1.minus net jog-y-analog halui.jog.1.analog net joint-select-c halui.joint.2.select net z-is-homed halui.joint.2.is-homed net jog-z-pos halui.jog.2.plus net jog-z-neg halui.jog.2.minus net jog-z-analog halui.jog.2.analog net jog-selected-pos halui.jog.selected.plus net jog-selected-neg halui.jog.selected.minus net spindle-manual-cw halui.spindle.forward net spindle-manual-ccw halui.spindle.reverse net spindle-manual-stop halui.spindle.stop net machine-is-on halui.machine.is-on net jog-speed halui.jog-speed net MDI-mode halui.mode.is-mdi ######################################################################## # Coolant # P3 pin 9 gpio 012 #net coolant-mist <= iocontrol.0.coolant-mist net coolant-flood-io <= iocontrol.0.coolant-flood net coolant-flood hm2_5i25.0.gpio.012.out setp hm2_5i25.0.gpio.012.invert_output 1 setp hm2_5i25.0.gpio.012.is_output true ###################### # I added bottom from tormach - above is native #setp hm2_5i25.0.gpio.012.is_output 1 #setp hm2_5i25.0.gpio.012.is_opendrain 0 # I remarked out following #net coolant-flood-io iocontrol.0.coolant-flood # ---probe signal--- net probe-in => motion.probe-input # ---motion control signals--- net in-position <= motion.in-position net machine-is-enabled <= motion.motion-enabled # ---digital in / out signals--- # ---estop signals--- net estop-out <= iocontrol.0.user-enable-out net estop-ext => iocontrol.0.emc-enable-in ######################################################################## # E stop # P3 pin 10 gpio 013 # estop noise debounce # use this line with a machine attached # I remarked out following line # net machine-ok-raw <= hm2_5i25.0.gpio.013.in_not => debounce.0.3.in # use the setp line below without a machine attached # this isn't useful unless a properly flashed 5i25 is present # no machine attached #setp debounce.0.3.in 1 net machine-ok debounce.0.3.out => estop-latch.0.ok-in ## I remarked out with the following line # net estop estop-latch.0.ok-out => iocontrol.0.emc-enable-in => hm2_5i25.0.gpio.013.enable net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset net estop-out <= iocontrol.0.user-enable-out ######################################################################## ######################################################################## # Probe # P3 pin 15 gpio 003 setp hm2_5i25.0.gpio.003.is_output 0 # I changed following line to invert probe input by adding "_not" - for passive probe net probe-in hm2_5i25.0.gpio.003.in_not debounce.0.4.in net probe-active-high probe-active-hi-lo.in0 net probe-debounced debounce.0.4.out probe-active-hi-lo.in1 # connect 4th axis home input directly to debounced accessory input net probe-debounced axis.3.home-sw-in # probe active hi-low output signal to AND input with probe-enable signal net probe-hi-lo probe-active-hi-lo.out probe-enable-input.in1 # do this to only disable the probe input during 4th axis homing net ax3-is-homing axis.3.homing axis3-not-homing.in net ax3-not-homing axis3-not-homing.out probe-enable-input.in0 #net probe-input probe-enable-input.out motion.probe-input ######################################################################## # home switches - This section copied from Tormach but changed to gpio 14 for my Limit sw # I REMARKED OUT FOLLOWING - must noise debounce inputs - otherwise coolant on/off can cause spurious estops net all-limit <= hm2_5i25.0.gpio.014.in => debounce.0.1.in #debounce.0.1.in debounce.0.2.in #net home-limit-x-raw <= hm2_5i25.0.gpio.014.in => debounce.0.0.in #net home-limit-y-raw <= hm2_5i25.0.gpio.014.in => debounce.0.1.in #net home-limit-z-raw <= hm2_5i25.0.gpio.014.in => debounce.0.2.in # This was remarked out in Tormach #setp debounce.0.0.in 1 #setp debounce.0.1.in 1 #setp debounce.0.2.in 1 # route through AND gates to enable switches via UI net and-home-x debounce.0.0.out enable-limit-x.in1 net and-home-y debounce.0.1.out enable-limit-y.in1 net and-home-z debounce.0.2.out enable-limit-z.in1 # post gui connects this to the UI net limit-switch-enable enable-limit-x.in0 enable-limit-y.in0 enable-limit-z.in0 # Connect to Axes - Original tormach below net home-limit-x enable-limit-x.out axis.0.home-sw-in axis.0.neg-lim-sw-in axis.0.pos-lim-sw-in net home-limit-y enable-limit-y.out axis.1.home-sw-in axis.1.neg-lim-sw-in axis.1.pos-lim-sw-in net home-limit-z enable-limit-z.out axis.2.home-sw-in axis.2.neg-lim-sw-in axis.2.pos-lim-sw-in # home switch for A axis is also the probe input - NOT for NOVAKON this is TORMACH left it remarked out # net home-limit-a hm2_5i25.0.gpio.016.in axis.3.home-sw-in # TODO: does A axis need connection to axis.3.pos-lim-sw-in and axis.3.pos-lim-sw-in? # ---manual tool change signals--- ######################################################################## # # tool change - copied from Tormach # # loopback tool-change to tool-changed net tool-change iocontrol.0.tool-change => iocontrol.0.tool-changed # loopback prepare to prepared net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared ################# # this section is native - but remarked out by me #loadusr -W hal_manualtoolchange #net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change #net tool-change-confirmed iocontrol.0.tool-changed <= hal_manualtoolchange.changed #net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number #net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared ##### # I didn’t copy over IO Board section but it goes here