Никак не удается запустить связку 6i25+7i76.
Видна только 6i25 (как 5i25) в её епроме 7i76x2.bit с завода, заливал 7i76_7i74.bit результат тот же. Кабель, 25 пин, используется из китового набора - родной. Питание на 7i76 подал 12вольт на ТВ1, перемычки W1 и W2 в левом положении, горит один желтый светодиод (питание +5в идет с компа).
Конфиг для CNC использую взятый с этого форума , только с ним запускается программа.
halcmd
Код: Выделить всё
Loaded HAL Components:
ID Type Name PID State
12 User halcmd1644 1644 ready
10 User axisui 1517 ready
9 RT hm2_pci ready
8 RT hostmot2 ready
7 RT motmod ready
6 RT trivkins ready
5 User iocontrol 1501 ready
Component Pins:
Owner Type Dir Value Name
7 bit OUT TRUE axis.0.active
7 bit OUT FALSE axis.0.amp-enable-out ==> emcmot.00.enable
7 bit IN FALSE axis.0.amp-fault-in
7 float OUT 0 axis.0.backlash-corr
7 float OUT 0 axis.0.backlash-filt
7 float OUT 0 axis.0.backlash-vel
7 float OUT 0 axis.0.coarse-pos-cmd
7 bit OUT FALSE axis.0.error
7 float OUT 0 axis.0.f-error
7 float OUT 0.005 axis.0.f-error-lim
7 bit OUT FALSE axis.0.f-errored
7 bit OUT FALSE axis.0.faulted
7 float OUT 0 axis.0.free-pos-cmd
7 bit OUT FALSE axis.0.free-tp-enable
7 float OUT 0 axis.0.free-vel-lim
7 bit IN FALSE axis.0.home-sw-in
7 bit OUT FALSE axis.0.homed
7 bit OUT FALSE axis.0.homing
7 bit OUT TRUE axis.0.in-position
7 bit I/O FALSE axis.0.index-enable
7 s32 IN 0 axis.0.jog-counts
7 bit IN FALSE axis.0.jog-enable
7 float IN 0 axis.0.jog-scale
7 bit IN FALSE axis.0.jog-vel-mode
7 float OUT 0 axis.0.joint-pos-cmd
7 float OUT 0 axis.0.joint-pos-fb
7 float OUT 0 axis.0.joint-vel-cmd
7 bit OUT FALSE axis.0.kb-jog-active
7 float OUT 0 axis.0.motor-offset
7 float OUT 0 axis.0.motor-pos-cmd ==> emcmot.00.pos-cmd
7 float IN 0 axis.0.motor-pos-fb <== motor.00.pos-fb
7 bit OUT FALSE axis.0.neg-hard-limit
7 bit IN FALSE axis.0.neg-lim-sw-in
7 bit OUT FALSE axis.0.pos-hard-limit
7 bit IN FALSE axis.0.pos-lim-sw-in
7 bit OUT FALSE axis.0.wheel-jog-active
7 bit OUT TRUE axis.1.active
7 bit OUT FALSE axis.1.amp-enable-out ==> emcmot.01.enable
7 bit IN FALSE axis.1.amp-fault-in
7 float OUT 0 axis.1.backlash-corr
7 float OUT 0 axis.1.backlash-filt
7 float OUT 0 axis.1.backlash-vel
7 float OUT 0 axis.1.coarse-pos-cmd
7 bit OUT FALSE axis.1.error
7 float OUT 0 axis.1.f-error
7 float OUT 0.005 axis.1.f-error-lim
7 bit OUT FALSE axis.1.f-errored
7 bit OUT FALSE axis.1.faulted
7 float OUT 0 axis.1.free-pos-cmd
7 bit OUT FALSE axis.1.free-tp-enable
7 float OUT 0 axis.1.free-vel-lim
7 bit IN FALSE axis.1.home-sw-in
7 bit OUT FALSE axis.1.homed
7 bit OUT FALSE axis.1.homing
7 bit OUT TRUE axis.1.in-position
7 bit I/O FALSE axis.1.index-enable
7 s32 IN 0 axis.1.jog-counts
7 bit IN FALSE axis.1.jog-enable
7 float IN 0 axis.1.jog-scale
7 bit IN FALSE axis.1.jog-vel-mode
7 float OUT 0 axis.1.joint-pos-cmd
7 float OUT 0 axis.1.joint-pos-fb
7 float OUT 0 axis.1.joint-vel-cmd
7 bit OUT FALSE axis.1.kb-jog-active
7 float OUT 0 axis.1.motor-offset
7 float OUT 0 axis.1.motor-pos-cmd ==> emcmot.01.pos-cmd
7 float IN 0 axis.1.motor-pos-fb <== motor.01.pos-fb
7 bit OUT FALSE axis.1.neg-hard-limit
7 bit IN FALSE axis.1.neg-lim-sw-in
7 bit OUT FALSE axis.1.pos-hard-limit
7 bit IN FALSE axis.1.pos-lim-sw-in
7 bit OUT FALSE axis.1.wheel-jog-active
7 bit OUT TRUE axis.2.active
7 bit OUT FALSE axis.2.amp-enable-out ==> emcmot.02.enable
7 bit IN FALSE axis.2.amp-fault-in
7 float OUT 0 axis.2.backlash-corr
7 float OUT 0 axis.2.backlash-filt
7 float OUT 0 axis.2.backlash-vel
7 float OUT 0 axis.2.coarse-pos-cmd
7 bit OUT FALSE axis.2.error
7 float OUT 0 axis.2.f-error
7 float OUT 0.005 axis.2.f-error-lim
7 bit OUT FALSE axis.2.f-errored
7 bit OUT FALSE axis.2.faulted
7 float OUT 0 axis.2.free-pos-cmd
7 bit OUT FALSE axis.2.free-tp-enable
7 float OUT 0 axis.2.free-vel-lim
7 bit IN FALSE axis.2.home-sw-in
7 bit OUT FALSE axis.2.homed
7 bit OUT FALSE axis.2.homing
7 bit OUT TRUE axis.2.in-position
7 bit I/O FALSE axis.2.index-enable
7 s32 IN 0 axis.2.jog-counts
7 bit IN FALSE axis.2.jog-enable
7 float IN 0 axis.2.jog-scale
7 bit IN FALSE axis.2.jog-vel-mode
7 float OUT 0 axis.2.joint-pos-cmd
7 float OUT 0 axis.2.joint-pos-fb
7 float OUT 0 axis.2.joint-vel-cmd
7 bit OUT FALSE axis.2.kb-jog-active
7 float OUT 0 axis.2.motor-offset
7 float OUT 0 axis.2.motor-pos-cmd ==> emcmot.02.pos-cmd
7 float IN 0 axis.2.motor-pos-fb <== motor.02.pos-fb
7 bit OUT FALSE axis.2.neg-hard-limit
7 bit IN FALSE axis.2.neg-lim-sw-in
7 bit OUT FALSE axis.2.pos-hard-limit
7 bit IN FALSE axis.2.pos-lim-sw-in
7 bit OUT FALSE axis.2.wheel-jog-active
10 bit OUT FALSE axisui.jog.a
10 bit OUT FALSE axisui.jog.b
10 bit OUT FALSE axisui.jog.c
10 float OUT 0 axisui.jog.increment
10 bit OUT FALSE axisui.jog.u
10 bit OUT FALSE axisui.jog.v
10 bit OUT FALSE axisui.jog.w
10 bit OUT TRUE axisui.jog.x
10 bit OUT FALSE axisui.jog.y
10 bit OUT FALSE axisui.jog.z
10 bit IN FALSE axisui.notifications-clear
10 bit IN FALSE axisui.notifications-clear-error
10 bit IN FALSE axisui.notifications-clear-info
10 bit IN FALSE axisui.set-manual-mode
9 s32 OUT 0 hm2_5i25.0.encoder.00.count
9 s32 OUT 0 hm2_5i25.0.encoder.00.count-latched
9 bit I/O FALSE hm2_5i25.0.encoder.00.index-enable
9 bit IN FALSE hm2_5i25.0.encoder.00.latch-enable
9 bit IN FALSE hm2_5i25.0.encoder.00.latch-polarity
9 float OUT 0 hm2_5i25.0.encoder.00.position
9 float OUT 0 hm2_5i25.0.encoder.00.position-latched
9 s32 OUT 65534 hm2_5i25.0.encoder.00.rawcounts
9 s32 OUT 65534 hm2_5i25.0.encoder.00.rawlatch
9 bit IN FALSE hm2_5i25.0.encoder.00.reset
9 float OUT 0 hm2_5i25.0.encoder.00.velocity
9 bit OUT FALSE hm2_5i25.0.gpio.000.in
9 bit OUT TRUE hm2_5i25.0.gpio.000.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.001.in
9 bit OUT TRUE hm2_5i25.0.gpio.001.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.002.in
9 bit OUT TRUE hm2_5i25.0.gpio.002.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.003.in
9 bit OUT TRUE hm2_5i25.0.gpio.003.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.004.in
9 bit OUT TRUE hm2_5i25.0.gpio.004.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.005.in
9 bit OUT TRUE hm2_5i25.0.gpio.005.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.006.in
9 bit OUT TRUE hm2_5i25.0.gpio.006.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.007.in
9 bit OUT TRUE hm2_5i25.0.gpio.007.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.008.in
9 bit OUT TRUE hm2_5i25.0.gpio.008.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.009.in
9 bit OUT TRUE hm2_5i25.0.gpio.009.in_not
9 bit OUT TRUE hm2_5i25.0.gpio.010.in
9 bit OUT FALSE hm2_5i25.0.gpio.010.in_not
9 bit IN FALSE hm2_5i25.0.gpio.010.out
9 bit OUT FALSE hm2_5i25.0.gpio.011.in
9 bit OUT TRUE hm2_5i25.0.gpio.011.in_not
9 bit IN FALSE hm2_5i25.0.gpio.011.out
9 bit OUT TRUE hm2_5i25.0.gpio.012.in
9 bit OUT FALSE hm2_5i25.0.gpio.012.in_not
9 bit IN FALSE hm2_5i25.0.gpio.012.out
9 bit OUT FALSE hm2_5i25.0.gpio.013.in
9 bit OUT TRUE hm2_5i25.0.gpio.013.in_not
9 bit IN FALSE hm2_5i25.0.gpio.013.out
9 bit OUT FALSE hm2_5i25.0.gpio.014.in
9 bit OUT TRUE hm2_5i25.0.gpio.014.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.015.in
9 bit OUT TRUE hm2_5i25.0.gpio.015.in_not
9 bit OUT FALSE hm2_5i25.0.gpio.016.in
9 bit OUT TRUE hm2_5i25.0.gpio.016.in_not
9 bit OUT TRUE hm2_5i25.0.gpio.017.in
9 bit OUT FALSE hm2_5i25.0.gpio.017.in_not
9 bit IN FALSE hm2_5i25.0.gpio.017.out
9 bit OUT TRUE hm2_5i25.0.gpio.018.in
9 bit OUT FALSE hm2_5i25.0.gpio.018.in_not
9 bit IN FALSE hm2_5i25.0.gpio.018.out
9 bit OUT TRUE hm2_5i25.0.gpio.019.in
9 bit OUT FALSE hm2_5i25.0.gpio.019.in_not
9 bit IN FALSE hm2_5i25.0.gpio.019.out
9 bit OUT TRUE hm2_5i25.0.gpio.020.in
9 bit OUT FALSE hm2_5i25.0.gpio.020.in_not
9 bit IN FALSE hm2_5i25.0.gpio.020.out
9 bit OUT TRUE hm2_5i25.0.gpio.021.in
9 bit OUT FALSE hm2_5i25.0.gpio.021.in_not
9 bit IN FALSE hm2_5i25.0.gpio.021.out
9 bit OUT TRUE hm2_5i25.0.gpio.022.in
9 bit OUT FALSE hm2_5i25.0.gpio.022.in_not
9 bit IN FALSE hm2_5i25.0.gpio.022.out
9 bit OUT TRUE hm2_5i25.0.gpio.023.in
9 bit OUT FALSE hm2_5i25.0.gpio.023.in_not
9 bit IN FALSE hm2_5i25.0.gpio.023.out
9 bit OUT TRUE hm2_5i25.0.gpio.024.in
9 bit OUT FALSE hm2_5i25.0.gpio.024.in_not
9 bit IN FALSE hm2_5i25.0.gpio.024.out
9 bit OUT TRUE hm2_5i25.0.gpio.025.in
9 bit OUT FALSE hm2_5i25.0.gpio.025.in_not
9 bit IN FALSE hm2_5i25.0.gpio.025.out
9 bit OUT TRUE hm2_5i25.0.gpio.026.in
9 bit OUT FALSE hm2_5i25.0.gpio.026.in_not
9 bit IN FALSE hm2_5i25.0.gpio.026.out
9 bit OUT TRUE hm2_5i25.0.gpio.027.in
9 bit OUT FALSE hm2_5i25.0.gpio.027.in_not
9 bit IN FALSE hm2_5i25.0.gpio.027.out
9 bit OUT TRUE hm2_5i25.0.gpio.028.in
9 bit OUT FALSE hm2_5i25.0.gpio.028.in_not
9 bit IN FALSE hm2_5i25.0.gpio.028.out
9 bit OUT TRUE hm2_5i25.0.gpio.029.in
9 bit OUT FALSE hm2_5i25.0.gpio.029.in_not
9 bit IN FALSE hm2_5i25.0.gpio.029.out
9 bit OUT TRUE hm2_5i25.0.gpio.030.in
9 bit OUT FALSE hm2_5i25.0.gpio.030.in_not
9 bit IN FALSE hm2_5i25.0.gpio.030.out
9 bit OUT TRUE hm2_5i25.0.gpio.031.in
9 bit OUT FALSE hm2_5i25.0.gpio.031.in_not
9 bit IN FALSE hm2_5i25.0.gpio.031.out
9 bit OUT TRUE hm2_5i25.0.gpio.032.in
9 bit OUT FALSE hm2_5i25.0.gpio.032.in_not
9 bit IN FALSE hm2_5i25.0.gpio.032.out
9 bit OUT TRUE hm2_5i25.0.gpio.033.in
9 bit OUT FALSE hm2_5i25.0.gpio.033.in_not
9 bit IN FALSE hm2_5i25.0.gpio.033.out
9 bit IN FALSE hm2_5i25.0.led.CR01
9 bit IN FALSE hm2_5i25.0.led.CR02
9 bit IN FALSE hm2_5i25.0.stepgen.00.control-type
9 s32 OUT 0 hm2_5i25.0.stepgen.00.counts
9 float OUT 0 hm2_5i25.0.stepgen.00.dbg_err_at_match
9 float OUT 0 hm2_5i25.0.stepgen.00.dbg_ff_vel
9 float OUT 0 hm2_5i25.0.stepgen.00.dbg_pos_minus_prev_
9 float OUT 0 hm2_5i25.0.stepgen.00.dbg_s_to_match
9 s32 OUT 0 hm2_5i25.0.stepgen.00.dbg_step_rate
9 float OUT 0 hm2_5i25.0.stepgen.00.dbg_vel_error
9 bit IN FALSE hm2_5i25.0.stepgen.00.enable <== emcmot.00.enable
9 float IN 0 hm2_5i25.0.stepgen.00.position-cmd <== emcmot.00.pos-cmd
9 float OUT 0 hm2_5i25.0.stepgen.00.position-fb ==> motor.00.pos-fb
9 float IN 0 hm2_5i25.0.stepgen.00.velocity-cmd
9 float OUT 0 hm2_5i25.0.stepgen.00.velocity-fb
9 bit IN FALSE hm2_5i25.0.stepgen.01.control-type
9 s32 OUT 0 hm2_5i25.0.stepgen.01.counts
9 float OUT 0 hm2_5i25.0.stepgen.01.dbg_err_at_match
9 float OUT 0 hm2_5i25.0.stepgen.01.dbg_ff_vel
9 float OUT 0 hm2_5i25.0.stepgen.01.dbg_pos_minus_prev_
9 float OUT 0 hm2_5i25.0.stepgen.01.dbg_s_to_match
9 s32 OUT 0 hm2_5i25.0.stepgen.01.dbg_step_rate
9 float OUT 0 hm2_5i25.0.stepgen.01.dbg_vel_error
9 bit IN FALSE hm2_5i25.0.stepgen.01.enable <== emcmot.01.enable
9 float IN 0 hm2_5i25.0.stepgen.01.position-cmd <== emcmot.01.pos-cmd
9 float OUT 0 hm2_5i25.0.stepgen.01.position-fb ==> motor.01.pos-fb
9 float IN 0 hm2_5i25.0.stepgen.01.velocity-cmd
9 float OUT 0 hm2_5i25.0.stepgen.01.velocity-fb
9 bit IN FALSE hm2_5i25.0.stepgen.02.control-type
9 s32 OUT 0 hm2_5i25.0.stepgen.02.counts
9 float OUT 0 hm2_5i25.0.stepgen.02.dbg_err_at_match
9 float OUT 0 hm2_5i25.0.stepgen.02.dbg_ff_vel
9 float OUT 0 hm2_5i25.0.stepgen.02.dbg_pos_minus_prev_
9 float OUT 0 hm2_5i25.0.stepgen.02.dbg_s_to_match
9 s32 OUT 0 hm2_5i25.0.stepgen.02.dbg_step_rate
9 float OUT 0 hm2_5i25.0.stepgen.02.dbg_vel_error
9 bit IN FALSE hm2_5i25.0.stepgen.02.enable <== emcmot.02.enable
9 float IN 0 hm2_5i25.0.stepgen.02.position-cmd <== emcmot.02.pos-cmd
9 float OUT 0 hm2_5i25.0.stepgen.02.position-fb ==> motor.02.pos-fb
9 float IN 0 hm2_5i25.0.stepgen.02.velocity-cmd
9 float OUT 0 hm2_5i25.0.stepgen.02.velocity-fb
9 bit IN FALSE hm2_5i25.0.stepgen.03.control-type
9 s32 OUT 0 hm2_5i25.0.stepgen.03.counts
9 float OUT 0 hm2_5i25.0.stepgen.03.dbg_err_at_match
9 float OUT 0 hm2_5i25.0.stepgen.03.dbg_ff_vel
9 float OUT 0 hm2_5i25.0.stepgen.03.dbg_pos_minus_prev_
9 float OUT 0 hm2_5i25.0.stepgen.03.dbg_s_to_match
9 s32 OUT 0 hm2_5i25.0.stepgen.03.dbg_step_rate
9 float OUT 0 hm2_5i25.0.stepgen.03.dbg_vel_error
9 bit IN FALSE hm2_5i25.0.stepgen.03.enable
9 float IN 0 hm2_5i25.0.stepgen.03.position-cmd
9 float OUT 0 hm2_5i25.0.stepgen.03.position-fb
9 float IN 0 hm2_5i25.0.stepgen.03.velocity-cmd
9 float OUT 0 hm2_5i25.0.stepgen.03.velocity-fb
9 bit IN FALSE hm2_5i25.0.stepgen.04.control-type
9 s32 OUT 0 hm2_5i25.0.stepgen.04.counts
9 float OUT 0 hm2_5i25.0.stepgen.04.dbg_err_at_match
9 float OUT 0 hm2_5i25.0.stepgen.04.dbg_ff_vel
9 float OUT 0 hm2_5i25.0.stepgen.04.dbg_pos_minus_prev_
9 float OUT 0 hm2_5i25.0.stepgen.04.dbg_s_to_match
9 s32 OUT 0 hm2_5i25.0.stepgen.04.dbg_step_rate
9 float OUT 0 hm2_5i25.0.stepgen.04.dbg_vel_error
9 bit IN FALSE hm2_5i25.0.stepgen.04.enable
9 float IN 0 hm2_5i25.0.stepgen.04.position-cmd
9 float OUT 0 hm2_5i25.0.stepgen.04.position-fb
9 float IN 0 hm2_5i25.0.stepgen.04.velocity-cmd
9 float OUT 0 hm2_5i25.0.stepgen.04.velocity-fb
9 bit I/O FALSE hm2_5i25.0.watchdog.has_bit
5 bit OUT FALSE iocontrol.0.coolant-flood
5 bit OUT FALSE iocontrol.0.coolant-mist
5 bit IN FALSE iocontrol.0.emc-enable-in <== estop-loop
5 bit OUT FALSE iocontrol.0.lube
5 bit IN FALSE iocontrol.0.lube_level
5 bit OUT FALSE iocontrol.0.tool-change ==> tool-change-loop
5 bit IN FALSE iocontrol.0.tool-changed <== tool-change-loop
5 s32 OUT 0 iocontrol.0.tool-number
5 s32 OUT 0 iocontrol.0.tool-prep-number
5 s32 OUT 0 iocontrol.0.tool-prep-pocket
5 bit OUT FALSE iocontrol.0.tool-prepare ==> tool-prep-loop
5 bit IN FALSE iocontrol.0.tool-prepared <== tool-prep-loop
5 bit OUT FALSE iocontrol.0.user-enable-out ==> estop-loop
5 bit OUT FALSE iocontrol.0.user-request-enable
7 float IN 1 motion.adaptive-feed
7 float IN 0 motion.analog-in-00
7 float IN 0 motion.analog-in-01
7 float IN 0 motion.analog-in-02
7 float IN 0 motion.analog-in-03
7 float OUT 0 motion.analog-out-00
7 float OUT 0 motion.analog-out-01
7 float OUT 0 motion.analog-out-02
7 float OUT 0 motion.analog-out-03
7 bit OUT FALSE motion.coord-error
7 bit OUT TRUE motion.coord-mode
7 float OUT 0 motion.current-vel
7 bit IN FALSE motion.digital-in-00
7 bit IN FALSE motion.digital-in-01
7 bit IN FALSE motion.digital-in-02
7 bit IN FALSE motion.digital-in-03
7 bit OUT FALSE motion.digital-out-00
7 bit OUT FALSE motion.digital-out-01
7 bit OUT FALSE motion.digital-out-02
7 bit OUT FALSE motion.digital-out-03
7 float OUT 0 motion.distance-to-go
7 bit IN TRUE motion.enable
7 bit IN FALSE motion.feed-hold
7 bit OUT TRUE motion.in-position
7 bit IN FALSE motion.motion-enabled
7 bit OUT FALSE motion.on-soft-limit
7 bit IN FALSE motion.probe-input
7 s32 OUT 0 motion.program-line
7 float OUT 0 motion.requested-vel
7 bit IN TRUE motion.spindle-at-speed
7 bit OUT TRUE motion.spindle-brake
7 bit OUT FALSE motion.spindle-forward
7 bit I/O FALSE motion.spindle-index-enable
7 bit OUT FALSE motion.spindle-on
7 bit OUT FALSE motion.spindle-reverse
7 float IN 0 motion.spindle-revs
7 float OUT 0 motion.spindle-speed-cmd-rps
7 float IN 0 motion.spindle-speed-in
7 float OUT 0 motion.spindle-speed-out
7 float OUT 0 motion.spindle-speed-out-rps
7 bit OUT FALSE motion.teleop-mode
7 float OUT 0 motion.tooloffset.a
7 float OUT 0 motion.tooloffset.b
7 float OUT 0 motion.tooloffset.c
7 float OUT 0 motion.tooloffset.u
7 float OUT 0 motion.tooloffset.v
7 float OUT 0 motion.tooloffset.w
7 float OUT 0 motion.tooloffset.x
7 float OUT 0 motion.tooloffset.y
7 float OUT 0 motion.tooloffset.z
Pin Aliases:
Alias Original Name
Signals:
Type Value Name (linked to)
bit FALSE emcmot.00.enable
<== axis.0.amp-enable-out
==> hm2_5i25.0.stepgen.00.enable
float 0 emcmot.00.pos-cmd
<== axis.0.motor-pos-cmd
==> hm2_5i25.0.stepgen.00.position-cmd
bit FALSE emcmot.01.enable
<== axis.1.amp-enable-out
==> hm2_5i25.0.stepgen.01.enable
float 0 emcmot.01.pos-cmd
<== axis.1.motor-pos-cmd
==> hm2_5i25.0.stepgen.01.position-cmd
bit FALSE emcmot.02.enable
<== axis.2.amp-enable-out
==> hm2_5i25.0.stepgen.02.enable
float 0 emcmot.02.pos-cmd
<== axis.2.motor-pos-cmd
==> hm2_5i25.0.stepgen.02.position-cmd
bit FALSE estop-loop
==> iocontrol.0.emc-enable-in
<== iocontrol.0.user-enable-out
float 0 motor.00.pos-fb
==> axis.0.motor-pos-fb
<== hm2_5i25.0.stepgen.00.position-fb
float 0 motor.01.pos-fb
==> axis.1.motor-pos-fb
<== hm2_5i25.0.stepgen.01.position-fb
float 0 motor.02.pos-fb
==> axis.2.motor-pos-fb
<== hm2_5i25.0.stepgen.02.position-fb
bit FALSE tool-change-loop
<== iocontrol.0.tool-change
==> iocontrol.0.tool-changed
bit FALSE tool-prep-loop
<== iocontrol.0.tool-prepare
==> iocontrol.0.tool-prepared
Parameters:
Owner Type Dir Value Name
7 s32 RO 0 axis.0.home-state
7 s32 RO 0 axis.1.home-state
7 s32 RO 0 axis.2.home-state
9 bit RW FALSE hm2_5i25.0.encoder.00.counter-mode
9 bit RW TRUE hm2_5i25.0.encoder.00.filter
9 bit RW FALSE hm2_5i25.0.encoder.00.index-invert
9 bit RW FALSE hm2_5i25.0.encoder.00.index-mask
9 bit RW FALSE hm2_5i25.0.encoder.00.index-mask-invert
9 float RW 1 hm2_5i25.0.encoder.00.scale
9 float RW 0.5 hm2_5i25.0.encoder.00.vel-timeout
9 bit RW FALSE hm2_5i25.0.gpio.000.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.000.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.001.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.001.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.002.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.002.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.003.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.003.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.004.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.004.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.005.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.005.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.006.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.006.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.007.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.007.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.008.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.008.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.009.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.009.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.010.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.010.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.010.is_output
9 bit RW FALSE hm2_5i25.0.gpio.011.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.011.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.011.is_output
9 bit RW FALSE hm2_5i25.0.gpio.012.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.012.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.012.is_output
9 bit RW FALSE hm2_5i25.0.gpio.013.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.013.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.013.is_output
9 bit RW FALSE hm2_5i25.0.gpio.017.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.017.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.017.is_output
9 bit RW FALSE hm2_5i25.0.gpio.018.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.018.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.018.is_output
9 bit RW FALSE hm2_5i25.0.gpio.019.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.019.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.019.is_output
9 bit RW FALSE hm2_5i25.0.gpio.020.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.020.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.020.is_output
9 bit RW FALSE hm2_5i25.0.gpio.021.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.021.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.021.is_output
9 bit RW FALSE hm2_5i25.0.gpio.022.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.022.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.022.is_output
9 bit RW FALSE hm2_5i25.0.gpio.023.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.023.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.023.is_output
9 bit RW FALSE hm2_5i25.0.gpio.024.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.024.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.024.is_output
9 bit RW FALSE hm2_5i25.0.gpio.025.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.025.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.025.is_output
9 bit RW FALSE hm2_5i25.0.gpio.026.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.026.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.026.is_output
9 bit RW FALSE hm2_5i25.0.gpio.027.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.027.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.027.is_output
9 bit RW FALSE hm2_5i25.0.gpio.028.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.028.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.028.is_output
9 bit RW FALSE hm2_5i25.0.gpio.029.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.029.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.029.is_output
9 bit RW FALSE hm2_5i25.0.gpio.030.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.030.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.030.is_output
9 bit RW FALSE hm2_5i25.0.gpio.031.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.031.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.031.is_output
9 bit RW FALSE hm2_5i25.0.gpio.032.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.032.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.032.is_output
9 bit RW FALSE hm2_5i25.0.gpio.033.invert_output
9 bit RW FALSE hm2_5i25.0.gpio.033.is_opendrain
9 bit RW FALSE hm2_5i25.0.gpio.033.is_output
9 bit RW FALSE hm2_5i25.0.io_error
9 s32 RO 544 hm2_5i25.0.pet_watchdog.time
9 s32 RW 25449 hm2_5i25.0.pet_watchdog.tmax
9 s32 RO 59143 hm2_5i25.0.read.time
9 s32 RW 110874 hm2_5i25.0.read.tmax
9 s32 RO 0 hm2_5i25.0.read_gpio.time
9 s32 RW 0 hm2_5i25.0.read_gpio.tmax
9 u32 RW 0x000000C8 hm2_5i25.0.stepgen.00.dirhold
9 u32 RW 0x000000C8 hm2_5i25.0.stepgen.00.dirsetup
9 float RW 24 hm2_5i25.0.stepgen.00.maxaccel
9 float RW 12 hm2_5i25.0.stepgen.00.maxvel
9 float RW 1000 hm2_5i25.0.stepgen.00.position-scale
9 u32 RW 0x00000000 hm2_5i25.0.stepgen.00.step_type
9 u32 RW 0x000007D0 hm2_5i25.0.stepgen.00.steplen
9 u32 RW 0x000007D0 hm2_5i25.0.stepgen.00.stepspace
9 u32 RW 0x000000C8 hm2_5i25.0.stepgen.01.dirhold
9 u32 RW 0x000000C8 hm2_5i25.0.stepgen.01.dirsetup
9 float RW 24 hm2_5i25.0.stepgen.01.maxaccel
9 float RW 12 hm2_5i25.0.stepgen.01.maxvel
9 float RW 1000 hm2_5i25.0.stepgen.01.position-scale
9 u32 RW 0x00000000 hm2_5i25.0.stepgen.01.step_type
9 u32 RW 0x000007D0 hm2_5i25.0.stepgen.01.steplen
9 u32 RW 0x000007D0 hm2_5i25.0.stepgen.01.stepspace
9 u32 RW 0x000000C8 hm2_5i25.0.stepgen.02.dirhold
9 u32 RW 0x000000C8 hm2_5i25.0.stepgen.02.dirsetup
9 float RW 24 hm2_5i25.0.stepgen.02.maxaccel
9 float RW 12 hm2_5i25.0.stepgen.02.maxvel
9 float RW 1000 hm2_5i25.0.stepgen.02.position-scale
9 u32 RW 0x00000000 hm2_5i25.0.stepgen.02.step_type
9 u32 RW 0x000007D0 hm2_5i25.0.stepgen.02.steplen
9 u32 RW 0x000007D0 hm2_5i25.0.stepgen.02.stepspace
9 u32 RW 0x00077FE2 hm2_5i25.0.stepgen.03.dirhold
9 u32 RW 0x00077FE2 hm2_5i25.0.stepgen.03.dirsetup
9 float RW 1 hm2_5i25.0.stepgen.03.maxaccel
9 float RW 0 hm2_5i25.0.stepgen.03.maxvel
9 float RW 1 hm2_5i25.0.stepgen.03.position-scale
9 u32 RW 0x00000000 hm2_5i25.0.stepgen.03.step_type
9 u32 RW 0x00077FE2 hm2_5i25.0.stepgen.03.steplen
9 u32 RW 0x00077FE2 hm2_5i25.0.stepgen.03.stepspace
9 u32 RW 0x00077FE2 hm2_5i25.0.stepgen.04.dirhold
9 u32 RW 0x00077FE2 hm2_5i25.0.stepgen.04.dirsetup
9 float RW 1 hm2_5i25.0.stepgen.04.maxaccel
9 float RW 0 hm2_5i25.0.stepgen.04.maxvel
9 float RW 1 hm2_5i25.0.stepgen.04.position-scale
9 u32 RW 0x00000000 hm2_5i25.0.stepgen.04.step_type
9 u32 RW 0x00077FE2 hm2_5i25.0.stepgen.04.steplen
9 u32 RW 0x00077FE2 hm2_5i25.0.stepgen.04.stepspace
9 u32 RW 0x00989680 hm2_5i25.0.watchdog.timeout_ns
9 s32 RO 11339 hm2_5i25.0.write.time
9 s32 RW 54417 hm2_5i25.0.write.tmax
9 s32 RO 0 hm2_5i25.0.write_gpio.time
9 s32 RW 0 hm2_5i25.0.write_gpio.tmax
7 s32 RO 799 motion-command-handler.time
7 s32 RW 33048 motion-command-handler.tmax
7 s32 RO 10319 motion-controller.time
7 s32 RW 58786 motion-controller.tmax
7 bit RO FALSE motion.debug-bit-0
7 bit RO FALSE motion.debug-bit-1
7 float RO 1 motion.debug-float-0
7 float RO 0 motion.debug-float-1
7 float RO 0 motion.debug-float-2
7 float RO 1 motion.debug-float-3
7 s32 RO 0 motion.debug-s32-0
7 s32 RO 0 motion.debug-s32-1
7 u32 RO 0x0033E33E motion.servo.last-period
7 float RO 1000189 motion.servo.last-period-ns
7 u32 RW 0x00000000 motion.servo.overruns
7 float RO 0 tc.0.acc
7 float RO 0 tc.0.pos
7 float RO 0 tc.0.vel
7 float RO 0 tc.1.acc
7 float RO 0 tc.1.pos
7 float RO 0 tc.1.vel
7 float RO 0 tc.2.acc
7 float RO 0 tc.2.pos
7 float RO 0 tc.2.vel
7 float RO 0 tc.3.acc
7 float RO 0 tc.3.pos
7 float RO 0 tc.3.vel
7 u32 RO 0x00000000 traj.active_tc
7 float RO 0 traj.pos_out
7 float RO 0 traj.vel_out
Parameter Aliases:
Alias Original Name
Exported Functions:
Owner CodeAddr Arg FP Users Name
00009 fa69a582 f4138000 NO 1 hm2_5i25.0.pet_watchdog
00009 fa68c9dc f4138000 YES 1 hm2_5i25.0.read
00009 fa68c906 f4138000 YES 0 hm2_5i25.0.read_gpio
00009 fa68c936 f4138000 YES 1 hm2_5i25.0.write
00009 fa68c8d6 f4138000 YES 0 hm2_5i25.0.write_gpio
00007 fa3af759 00000000 YES 1 motion-command-handler
00007 fa3b1c7e 00000000 YES 1 motion-controller
Realtime Threads:
Period FP Name ( Time, Max-Time )
999925 YES servo-thread ( 82144, 180693 )
1 hm2_5i25.0.read
2 motion-command-handler
3 motion-controller
4 hm2_5i25.0.write
5 hm2_5i25.0.pet_watchdog
Код: Выделить всё
[HOSTMOT2]
DRIVER=hm2_pci
BOARD=5i25
CONFIG="sserial_port_0=0XXX"
[EMC]
# Name of machine, for use with display, etc.
MACHINE = 7i76
# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG = 0x00000003
#DEBUG = 0x00000007
DEBUG = 0
[DISPLAY]
# Name of display program, e.g., tkemc
DISPLAY = axis
# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.0500
# Path to help file
HELP_FILE = tkemc.txt
# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET = RELATIVE
# Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK = ACTUAL
# Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE = 1.5
# Prefix to be used
PROGRAM_PREFIX = /home/mesa/linuxcnc/nc_files
INCREMENTS = 1mm .5mm .1mm .05mm .01mm .001mm
# Introductory graphic
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
# Name of task controller program, e.g., milltask
TASK = milltask
# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME = 0.010
[RS274NGC]
# File containing interpreter variables
PARAMETER_FILE = 7i76.var
[EMCMOT]
EMCMOT = motmod
# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0
# Interval between tries to emcmot, in seconds
COMM_WAIT = 0.010
# Servo task period, in nanoseconds
SERVO_PERIOD = 1000000
[HAL]
# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.
# list of hal config files to run through halcmd
# files are executed in the order in which they appear
HALFILE = 7i76.hal
POSTGUI_HALFILE = postgui.hal
# list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD = save neta
[TRAJ]
AXES = 3
COORDINATES = X Y Z
#HOME = 0 0 0
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
NO_FORCE_HOMING = 1
[AXIS_0]
#
# Step timing is 40 us steplen + 40 us stepspace
# That gives 80 us step period = 12.5 KHz step freq
#
# Bah, even software stepping can handle that, hm2 doesnt buy you much with
# such slow steppers.
#
# Scale is 200 steps/rev * 5 revs/inch = 1000 steps/inch
#
# This gives a maxvel of 12.5/1 = 12.5 ips
#
TYPE = LINEAR
MAX_VELOCITY = 10
MAX_ACCELERATION = 20
# Set Stepgen 20% higher than the axis settings
STEPGEN_MAX_VEL = 12
STEPGEN_MAX_ACC = 24
BACKLASH = 0.000
# scale is 200 steps/rev * 5 revs/inch
SCALE = 1000
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
FERROR = 0.050
MIN_FERROR = 0.005
#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES
# these are in nanoseconds
DIRSETUP = 200
DIRHOLD = 200
STEPLEN = 2000
STEPSPACE = 2000
[AXIS_1]
TYPE = LINEAR
MAX_VELOCITY = 10
MAX_ACCELERATION = 20
# Set Stepgen 20% higher than the axis settings
STEPGEN_MAX_VEL = 12
STEPGEN_MAX_ACC = 24
BACKLASH = 0.000
SCALE = 1000
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
FERROR = 0.050
MIN_FERROR = 0.005
#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES
# these are in nanoseconds
DIRSETUP = 200
DIRHOLD = 200
STEPLEN = 2000
STEPSPACE = 2000
[AXIS_2]
TYPE = LINEAR
MAX_VELOCITY = 10
MAX_ACCELERATION = 20
# Set Stepgen 20% higher than the axis settings
STEPGEN_MAX_VEL = 12
STEPGEN_MAX_ACC = 24
BACKLASH = 0.000
SCALE = 1000
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
FERROR = 0.050
MIN_FERROR = 0.005
#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES
# these are in nanoseconds
DIRSETUP = 200
DIRHOLD = 200
STEPLEN = 2000
STEPSPACE = 2000
[EMCIO]
# Name of IO controller program, e.g., io
EMCIO = io
# cycle time, in seconds
CYCLE_TIME = 0.100
# tool table file
TOOL_TABLE = tool.tbl
Код: Выделить всё
# #######################################
#
# HAL file for HostMot2 with 3 steppers
#
# Derived from Ted Hyde's original hm2-servo config
#
# Based up work and discussion with Seb & Peter & Jeff
# GNU license references - insert here. www.linuxcnc.org
#
#
# ########################################
# Firmware files are in /lib/firmware/hm2/7i43/
# Must symlink the hostmot2 firmware directory of sanbox to
# /lib/firmware before running EMC2...
# sudo ln -s $HOME/emc2-sandbox/src/hal/drivers/mesa-hostmot2/firmware /lib/firmware/hm2
#
# See also:
# <http://www.linuxcnc.org/docs/devel/html/man/man9/hostmot2.9.html#config%20modparam>
# and http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?HostMot2
#
# #####################################################################
# ###################################
# Core EMC/HAL Loads
# ###################################
# kinematics
loadrt trivkins
# motion controller, get name and thread periods from ini file
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
# only the 7i43 needs this, but it doesnt hurt the others
# loadrt probe_parport
# hostmot2 driver
loadrt hostmot2
# load low-level driver
loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG)
setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 10000000
# ################################################
# THREADS
# ################################################
addf hm2_[HOSTMOT2](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf hm2_[HOSTMOT2](BOARD).0.write servo-thread
addf hm2_[HOSTMOT2](BOARD).0.pet_watchdog servo-thread
# ######################################################
# Axis-of-motion Specific Configs (not the GUI)
# ######################################################
# ################
# X [0] Axis
# ################
# axis enable chain
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE
net emcmot.00.enable <= axis.0.amp-enable-out
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable
# position command and feedback
net emcmot.00.pos-cmd <= axis.0.motor-pos-cmd
net emcmot.00.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-cmd
net motor.00.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
net motor.00.pos-fb => axis.0.motor-pos-fb
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirhold [AXIS_0]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.stepspace [AXIS_0]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-scale [AXIS_0]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.step_type 0
# ################
# Y [1] Axis
# ################
# axis enable chain
newsig emcmot.01.enable bit
sets emcmot.01.enable FALSE
net emcmot.01.enable <= axis.1.amp-enable-out
net emcmot.01.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.01.enable
# position command and feedback
net emcmot.01.pos-cmd <= axis.1.motor-pos-cmd
net emcmot.01.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-cmd
net motor.01.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-fb
net motor.01.pos-fb => axis.1.motor-pos-fb
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirhold [AXIS_1]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.stepspace [AXIS_1]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-scale [AXIS_1]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxvel [AXIS_1]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxaccel [AXIS_1]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.step_type 0
# ################
# Z [2] Axis
# ################
# axis enable chain
newsig emcmot.02.enable bit
sets emcmot.02.enable FALSE
net emcmot.02.enable <= axis.2.amp-enable-out
net emcmot.02.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.02.enable
# position command and feedback
net emcmot.02.pos-cmd <= axis.2.motor-pos-cmd
net emcmot.02.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-cmd
net motor.02.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-fb
net motor.02.pos-fb => axis.2.motor-pos-fb
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirhold [AXIS_2]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.steplen [AXIS_2]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.stepspace [AXIS_2]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-scale [AXIS_2]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxvel [AXIS_2]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxaccel [AXIS_2]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.step_type 0
#
# The Mesa AnyIO output pins can be in open-drain mode (drive low, float
# high) or push/pull mode (drive low, drive high).
#
# When a logical output is 1 in open-drain mode, the FPGA lets the pin
# float and it gets pulled high to +5V via a 10K resistor.
#
# When a logical output is 1 in push/pull mode, the FPGA pushes the pin
# high but only to +3.3V. This is problematic on some kinds of inputs.
#
#setp hm2_[HOSTMOT2](BOARD).0.gpio.048.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.049.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.054.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.055.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.060.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.061.is_opendrain 1
# ##################################################
# Standard I/O Block - EStop, Etc
# ##################################################
# create a signal for the estop loopback
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed