83 lines
3.1 KiB
Plaintext
83 lines
3.1 KiB
Plaintext
# Jog Pendant
|
|
# load the hostmot2 driver, this doesn't do anything by itself,
|
|
# it just waits for low-level drivers to register boards
|
|
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
|
|
|
|
# load the low-level driver for the board
|
|
# this will load the board's firmware and register it with the hostmot2
|
|
# driver loaded above, and it'll show up in HAL
|
|
loadrt hm2_pci config="firmware=hm2/5i20/SVST2_4_7I47.BIT num_encoders=1 num_pwmgens=0 num_stepgens=0"
|
|
# set up the watchdog
|
|
#setp hm2_5i20.0.watchdog.timeout_ns 10000000
|
|
|
|
loadusr -Wn naiky pyvcp -c naiky naiky.xml
|
|
|
|
# create realtime thread
|
|
loadrt threads name1=base-thread period1=50000 name2=servo-thread period2=1000000
|
|
|
|
loadrt encoder num_chan=1
|
|
|
|
# "times 4 mode" one count per full quadrature cycle, instead of the usual one count per edge.
|
|
# mpg jog wheels often have a full quadrature cycle per "click". 0 for off and 1 for on.
|
|
setp encoder.0.x4-mode FALSE
|
|
|
|
#net X1 hm2_5i20.0.gpio.000.in_not naiky.x1
|
|
#net X10 hm2_5i20.0.gpio.002.in_not naiky.x10
|
|
#net X100 hm2_5i20.0.gpio.004.in_not naiky.x100
|
|
#net SEL-X hm2_5i20.0.gpio.006.in_not naiky.x
|
|
#net SEL-Y hm2_5i20.0.gpio.008.in_not naiky.y
|
|
#net SEL-Z hm2_5i20.0.gpio.010.in_not naiky.z
|
|
#net SEL-4 hm2_5i20.0.gpio.012.in_not naiky.4
|
|
#net SEL-OFF hm2_5i20.0.gpio.014.in_not naiky.off
|
|
#setp hm2_5i20.0.gpio.016.is_output TRUE
|
|
#setp hm2_5i20.0.gpio.016.invert_output TRUE
|
|
#net LED hm2_5i20.0.gpio.016.out naiky.led
|
|
#net MPG-A encoder.0.phase-A hm2_5i20.0.gpio.003.in_not naiky.a
|
|
#net MPG-B encoder.0.phase-B hm2_5i20.0.gpio.001.in_not naiky.b
|
|
|
|
#net X1 hm2_5i20.0.gpio.024.in_not naiky.x1
|
|
#net X10 hm2_5i20.0.gpio.026.in_not naiky.x10
|
|
#net X100 hm2_5i20.0.gpio.028.in_not naiky.x100
|
|
#net SEL-X hm2_5i20.0.gpio.030.in_not naiky.x
|
|
#net SEL-Y hm2_5i20.0.gpio.032.in_not naiky.y
|
|
#net SEL-Z hm2_5i20.0.gpio.034.in_not naiky.z
|
|
#net SEL-4 hm2_5i20.0.gpio.036.in_not naiky.4
|
|
#net SEL-OFF hm2_5i20.0.gpio.038.in_not naiky.off
|
|
#setp hm2_5i20.0.gpio.040.is_output TRUE
|
|
#setp hm2_5i20.0.gpio.040.invert_output TRUE
|
|
#net LED hm2_5i20.0.gpio.040.out naiky.led
|
|
#net MPG-A encoder.0.phase-A hm2_5i20.0.gpio.027.in_not naiky.a
|
|
#net MPG-B encoder.0.phase-B hm2_5i20.0.gpio.025.in_not naiky.b
|
|
|
|
net X1 hm2_5i20.0.gpio.048.in_not naiky.x1
|
|
net X10 hm2_5i20.0.gpio.050.in_not naiky.x10
|
|
net X100 hm2_5i20.0.gpio.052.in_not naiky.x100
|
|
net SEL-X hm2_5i20.0.gpio.054.in_not naiky.x
|
|
net SEL-Y hm2_5i20.0.gpio.056.in_not naiky.y
|
|
net SEL-Z hm2_5i20.0.gpio.058.in_not naiky.z
|
|
net SEL-4 hm2_5i20.0.gpio.060.in_not naiky.4
|
|
net SEL-OFF hm2_5i20.0.gpio.062.in_not naiky.off
|
|
setp hm2_5i20.0.gpio.064.is_output TRUE
|
|
setp hm2_5i20.0.gpio.064.invert_output TRUE
|
|
net LED hm2_5i20.0.gpio.064.out naiky.led
|
|
net MPG-A encoder.0.phase-A hm2_5i20.0.gpio.051.in_not naiky.a
|
|
net MPG-B encoder.0.phase-B hm2_5i20.0.gpio.049.in_not naiky.b
|
|
|
|
|
|
net COUNT encoder.0.position naiky.count
|
|
net RESET encoder.0.reset naiky.reset
|
|
|
|
# hook the functions to threads
|
|
# read inputs
|
|
addf hm2_5i20.0.read base-thread
|
|
addf encoder.update-counters base-thread
|
|
addf encoder.capture-position servo-thread
|
|
# write outputs
|
|
addf hm2_5i20.0.write servo-thread
|
|
|
|
start
|
|
show pin
|
|
waitusr naiky
|
|
|
|
|