FANDOM


# THIS IS FOR NOVAKON PULSAR STEPPER MODEL


# 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


# Following line I added 'probe-enable-input' to xor2 to allow PROBE and Tool Touch Plate

loadrt xor2 names=probe-active-hi-lo,probe-enable-input

loadrt debounce cfg=7

loadrt pid num_chan=5

loadrt tormachspindle names=tormachspindle

loadrt and2 names=enable-limit-x,enable-limit-y,enable-limit-z,  #Original Tormach had this here:  probe-enable-input


# - - - - 


setp    hm2_5i25.0.watchdog.timeout_ns 5000000



# 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


# --- ESTOP-EXT --- the debounce out will go to machine-ok

net estop-ext     <=  hm2_5i25.0.gpio.013.in_not   => debounce.0.3.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



#*******************

#  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



#*******************

#  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



########################################################################

# 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


#  ---motion control signals---


net in-position               <=  motion.in-position

net machine-is-enabled        <=  motion.motion-enabled



#  ---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 + Tool Touch Plate: 


# 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- I remarked this out

#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


net probe-input       probe-enable-input.out  motion.probe-input 


###

# Tool Touch Plate - All of this was added by me- touchplate on i/o gpio 16


setp hm2_5i25.0.gpio.016.is_output 0

net tool_plate hm2_5i25.0.gpio.016.in_not debounce.0.5.in

net touch_plate debounce.0.5.out


net touch_plate probe-enable-input.in0


########################################################################

# home switches  - This section copied from Tormach but changed to gpio 14 for my Limit sw


# must noise debounce inputs - otherwise coolant on/off can cause spurious estops


net all-limit   <=  hm2_5i25.0.gpio.014.in   =>  debounce.0.0.in  debounce.0.1.in  debounce.0.2.in


# I REMARKED OUT FOLLOWING  - below is Tormach

#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


net home-limit-x enable-limit-x.out axis.0.home-sw-in 

net home-limit-y enable-limit-y.out axis.1.home-sw-in

net home-limit-z enable-limit-z.out axis.2.home-sw-in



########################################################################

#

# 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 - Linuxcnc - 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

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.