Mesa 7i76 - can't read inputs on field inputs (TB5, TB6)

  • anli
  • anli's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
05 Jun 2020 22:16 #170290 by anli
Hello,
I want to read the field inputs on TB5 and TB6 on my brand new Mesa 7i76e card. If I run halcmd and connect via halcmd: loadrt hm2_eth board_ip=192.168.1.121 the following is shown:
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 192.168.1.121: Hardware address: 00:60:1b:10:45:c5
hm2_eth: discovered 7I76E-16
hm2/hm2_7i76e.0: Low Level init 0.15
hm2/hm2_7i76e.0: Smart Serial Firmware Version 43
Board hm2_7i76e.0.7i76.0.0 Hardware Mode 0 = standard
Board hm2_7i76e.0.7i76.0.0 Software Mode 0 = io_spin
Board hm2_7i76e.0.7i76.0.0 Software Mode 1 = io_ana_spin
Board hm2_7i76e.0.7i76.0.0 Software Mode 2 = io_enc_ana_spin_fv
hm2/hm2_7i76e.0: 51 I/O Pins used:
hm2/hm2_7i76e.0:     IO Pin 000 (P1-01): StepGen #0, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 001 (P1-14): StepGen #0, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 002 (P1-02): StepGen #1, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 003 (P1-15): StepGen #1, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 004 (P1-03): StepGen #2, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 005 (P1-16): StepGen #2, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 006 (P1-04): StepGen #3, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 007 (P1-17): StepGen #3, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 008 (P1-05): StepGen #4, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 009 (P1-06): StepGen #4, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 010 (P1-07): Smart Serial Interface #0, pin tx0 (Output)
hm2/hm2_7i76e.0:     IO Pin 011 (P1-08): Smart Serial Interface #0, pin rx0 (Input)
hm2/hm2_7i76e.0:     IO Pin 012 (P1-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 013 (P1-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 014 (P1-11): Encoder #0, pin Index (Input)
hm2/hm2_7i76e.0:     IO Pin 015 (P1-12): Encoder #0, pin B (Input)
hm2/hm2_7i76e.0:     IO Pin 016 (P1-13): Encoder #0, pin A (Input)
hm2/hm2_7i76e.0:     IO Pin 017 (P2-01): IOPort
hm2/hm2_7i76e.0:     IO Pin 018 (P2-14): IOPort
hm2/hm2_7i76e.0:     IO Pin 019 (P2-02): IOPort
hm2/hm2_7i76e.0:     IO Pin 020 (P2-15): IOPort
hm2/hm2_7i76e.0:     IO Pin 021 (P2-03): IOPort
hm2/hm2_7i76e.0:     IO Pin 022 (P2-16): IOPort
hm2/hm2_7i76e.0:     IO Pin 023 (P2-04): IOPort
hm2/hm2_7i76e.0:     IO Pin 024 (P2-17): IOPort
hm2/hm2_7i76e.0:     IO Pin 025 (P2-05): IOPort
hm2/hm2_7i76e.0:     IO Pin 026 (P2-06): IOPort
hm2/hm2_7i76e.0:     IO Pin 027 (P2-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 028 (P2-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 029 (P2-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 030 (P2-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 031 (P2-11): IOPort
hm2/hm2_7i76e.0:     IO Pin 032 (P2-12): IOPort
hm2/hm2_7i76e.0:     IO Pin 033 (P2-13): IOPort
hm2/hm2_7i76e.0:     IO Pin 034 (P3-01): IOPort
hm2/hm2_7i76e.0:     IO Pin 035 (P3-14): IOPort
hm2/hm2_7i76e.0:     IO Pin 036 (P3-02): IOPort
hm2/hm2_7i76e.0:     IO Pin 037 (P3-15): IOPort
hm2/hm2_7i76e.0:     IO Pin 038 (P3-03): IOPort
hm2/hm2_7i76e.0:     IO Pin 039 (P3-16): IOPort
hm2/hm2_7i76e.0:     IO Pin 040 (P3-04): IOPort
hm2/hm2_7i76e.0:     IO Pin 041 (P3-17): IOPort
hm2/hm2_7i76e.0:     IO Pin 042 (P3-05): IOPort
hm2/hm2_7i76e.0:     IO Pin 043 (P3-06): IOPort
hm2/hm2_7i76e.0:     IO Pin 044 (P3-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 045 (P3-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 046 (P3-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 047 (P3-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 048 (P3-11): IOPort
hm2/hm2_7i76e.0:     IO Pin 049 (P3-12): IOPort
hm2/hm2_7i76e.0:     IO Pin 050 (P3-13): IOPort
hm2/hm2_7i76e.0: registered
I'm not sure if 7I76E-16 is the right board name. How can I read inputs 0-31 on TB6/TB5 (with halshow)? Thank you for your help in advance!

Please Log in or Create an account to join the conversation.

More
05 Jun 2020 22:26 - 05 Jun 2020 22:30 #170291 by PCW
To get a list of all pins, parameters, signals and functions, run

halcmd show all

(with LinuxCNC running)

You cannot read the inputs or set outputs without LinuxCNC running
or seting up a thread with halcmd and addf-ing the low level
read and write functions to that thread
Last edit: 05 Jun 2020 22:30 by PCW.

Please Log in or Create an account to join the conversation.

  • anli
  • anli's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
06 Jun 2020 05:15 #170313 by anli
Thank you for your super-fast answer!

I tried
halcmd show all
with linuxcnc running. This is the answer:
Loaded HAL Components:
ID      Type  Name                                            PID   State
    52  User  halcmd2469                                       2469 ready
    46  User  gmoccapy                                         1933 ready
    44  User  inihal                                           1929 ready
    33  User  hal_manualtoolchange                             1920 ready
    29  RT    pid                                                   ready
    26  RT    hm2_eth                                               ready
    23  RT    hostmot2                                              ready
    20  RT    __servo-thread                                        ready
    19  RT    motmod                                                ready
    16  RT    trivkins                                              ready
    10  User  halui                                            1878 ready
     4  User  iocontrol                                        1876 ready

Component Pins:
Owner   Type  Dir         Value  Name
    19  float OUT             0  axis.a.eoffset
    19  bit   IN          FALSE  axis.a.eoffset-clear
    19  s32   IN              0  axis.a.eoffset-counts
    19  bit   IN          FALSE  axis.a.eoffset-enable
    19  float OUT             0  axis.a.eoffset-request
    19  float IN              0  axis.a.eoffset-scale
    19  float IN              1  axis.a.jog-accel-fraction
    19  s32   IN              0  axis.a.jog-counts
    19  bit   IN          FALSE  axis.a.jog-enable
    19  float IN              0  axis.a.jog-scale
    19  bit   IN          FALSE  axis.a.jog-vel-mode
    19  bit   OUT         FALSE  axis.a.kb-jog-active
    19  float OUT             0  axis.a.pos-cmd
    19  float OUT             0  axis.a.teleop-pos-cmd
    19  bit   OUT         FALSE  axis.a.teleop-tp-enable
    19  float OUT             0  axis.a.teleop-vel-cmd
    19  float OUT             0  axis.a.teleop-vel-lim
    19  bit   OUT         FALSE  axis.a.wheel-jog-active
    19  float OUT             0  axis.b.eoffset
    19  bit   IN          FALSE  axis.b.eoffset-clear
    19  s32   IN              0  axis.b.eoffset-counts
    19  bit   IN          FALSE  axis.b.eoffset-enable
    19  float OUT             0  axis.b.eoffset-request
    19  float IN              0  axis.b.eoffset-scale
    19  float IN              1  axis.b.jog-accel-fraction
    19  s32   IN              0  axis.b.jog-counts
    19  bit   IN          FALSE  axis.b.jog-enable
    19  float IN              0  axis.b.jog-scale
    19  bit   IN          FALSE  axis.b.jog-vel-mode
    19  bit   OUT         FALSE  axis.b.kb-jog-active
    19  float OUT             0  axis.b.pos-cmd
    19  float OUT             0  axis.b.teleop-pos-cmd
    19  bit   OUT         FALSE  axis.b.teleop-tp-enable
    19  float OUT             0  axis.b.teleop-vel-cmd
    19  float OUT             0  axis.b.teleop-vel-lim
    19  bit   OUT         FALSE  axis.b.wheel-jog-active
    19  float OUT             0  axis.c.eoffset
    19  bit   IN          FALSE  axis.c.eoffset-clear
    19  s32   IN              0  axis.c.eoffset-counts
    19  bit   IN          FALSE  axis.c.eoffset-enable
    19  float OUT             0  axis.c.eoffset-request
    19  float IN              0  axis.c.eoffset-scale
    19  float IN              1  axis.c.jog-accel-fraction
    19  s32   IN              0  axis.c.jog-counts
    19  bit   IN          FALSE  axis.c.jog-enable
    19  float IN              0  axis.c.jog-scale
    19  bit   IN          FALSE  axis.c.jog-vel-mode
    19  bit   OUT         FALSE  axis.c.kb-jog-active
    19  float OUT             0  axis.c.pos-cmd
    19  float OUT             0  axis.c.teleop-pos-cmd
    19  bit   OUT         FALSE  axis.c.teleop-tp-enable
    19  float OUT             0  axis.c.teleop-vel-cmd
    19  float OUT             0  axis.c.teleop-vel-lim
    19  bit   OUT         FALSE  axis.c.wheel-jog-active
    19  float OUT             0  axis.u.eoffset
    19  bit   IN          FALSE  axis.u.eoffset-clear
    19  s32   IN              0  axis.u.eoffset-counts
    19  bit   IN          FALSE  axis.u.eoffset-enable
    19  float OUT             0  axis.u.eoffset-request
    19  float IN              0  axis.u.eoffset-scale
    19  float IN              1  axis.u.jog-accel-fraction
    19  s32   IN              0  axis.u.jog-counts
    19  bit   IN          FALSE  axis.u.jog-enable
    19  float IN              0  axis.u.jog-scale
    19  bit   IN          FALSE  axis.u.jog-vel-mode
    19  bit   OUT         FALSE  axis.u.kb-jog-active
    19  float OUT             0  axis.u.pos-cmd
    19  float OUT             0  axis.u.teleop-pos-cmd
    19  bit   OUT         FALSE  axis.u.teleop-tp-enable
    19  float OUT             0  axis.u.teleop-vel-cmd
    19  float OUT             0  axis.u.teleop-vel-lim
    19  bit   OUT         FALSE  axis.u.wheel-jog-active
    19  float OUT             0  axis.v.eoffset
    19  bit   IN          FALSE  axis.v.eoffset-clear
    19  s32   IN              0  axis.v.eoffset-counts
    19  bit   IN          FALSE  axis.v.eoffset-enable
    19  float OUT             0  axis.v.eoffset-request
    19  float IN              0  axis.v.eoffset-scale
    19  float IN              1  axis.v.jog-accel-fraction
    19  s32   IN              0  axis.v.jog-counts
    19  bit   IN          FALSE  axis.v.jog-enable
    19  float IN              0  axis.v.jog-scale
    19  bit   IN          FALSE  axis.v.jog-vel-mode
    19  bit   OUT         FALSE  axis.v.kb-jog-active
    19  float OUT             0  axis.v.pos-cmd
    19  float OUT             0  axis.v.teleop-pos-cmd
    19  bit   OUT         FALSE  axis.v.teleop-tp-enable
    19  float OUT             0  axis.v.teleop-vel-cmd
    19  float OUT             0  axis.v.teleop-vel-lim
    19  bit   OUT         FALSE  axis.v.wheel-jog-active
    19  float OUT             0  axis.w.eoffset
    19  bit   IN          FALSE  axis.w.eoffset-clear
    19  s32   IN              0  axis.w.eoffset-counts
    19  bit   IN          FALSE  axis.w.eoffset-enable
    19  float OUT             0  axis.w.eoffset-request
    19  float IN              0  axis.w.eoffset-scale
    19  float IN              1  axis.w.jog-accel-fraction
    19  s32   IN              0  axis.w.jog-counts
    19  bit   IN          FALSE  axis.w.jog-enable
    19  float IN              0  axis.w.jog-scale
    19  bit   IN          FALSE  axis.w.jog-vel-mode
    19  bit   OUT         FALSE  axis.w.kb-jog-active
    19  float OUT             0  axis.w.pos-cmd
    19  float OUT             0  axis.w.teleop-pos-cmd
    19  bit   OUT         FALSE  axis.w.teleop-tp-enable
    19  float OUT             0  axis.w.teleop-vel-cmd
    19  float OUT             0  axis.w.teleop-vel-lim
    19  bit   OUT         FALSE  axis.w.wheel-jog-active
    19  float OUT             0  axis.x.eoffset
    19  bit   IN          FALSE  axis.x.eoffset-clear
    19  s32   IN              0  axis.x.eoffset-counts
    19  bit   IN          FALSE  axis.x.eoffset-enable
    19  float OUT             0  axis.x.eoffset-request
    19  float IN              0  axis.x.eoffset-scale
    19  float IN              1  axis.x.jog-accel-fraction
    19  s32   IN              0  axis.x.jog-counts
    19  bit   IN          FALSE  axis.x.jog-enable
    19  float IN              0  axis.x.jog-scale
    19  bit   IN          FALSE  axis.x.jog-vel-mode
    19  bit   OUT         FALSE  axis.x.kb-jog-active
    19  float OUT             0  axis.x.pos-cmd
    19  float OUT             0  axis.x.teleop-pos-cmd
    19  bit   OUT         FALSE  axis.x.teleop-tp-enable
    19  float OUT             0  axis.x.teleop-vel-cmd
    19  float OUT             0  axis.x.teleop-vel-lim
    19  bit   OUT         FALSE  axis.x.wheel-jog-active
    19  float OUT             0  axis.y.eoffset
    19  bit   IN          FALSE  axis.y.eoffset-clear
    19  s32   IN              0  axis.y.eoffset-counts
    19  bit   IN          FALSE  axis.y.eoffset-enable
    19  float OUT             0  axis.y.eoffset-request
    19  float IN              0  axis.y.eoffset-scale
    19  float IN              1  axis.y.jog-accel-fraction
    19  s32   IN              0  axis.y.jog-counts
    19  bit   IN          FALSE  axis.y.jog-enable
    19  float IN              0  axis.y.jog-scale
    19  bit   IN          FALSE  axis.y.jog-vel-mode
    19  bit   OUT         FALSE  axis.y.kb-jog-active
    19  float OUT             0  axis.y.pos-cmd
    19  float OUT             0  axis.y.teleop-pos-cmd
    19  bit   OUT         FALSE  axis.y.teleop-tp-enable
    19  float OUT             0  axis.y.teleop-vel-cmd
    19  float OUT             0  axis.y.teleop-vel-lim
    19  bit   OUT         FALSE  axis.y.wheel-jog-active
    19  float OUT             0  axis.z.eoffset
    19  bit   IN          FALSE  axis.z.eoffset-clear
    19  s32   IN              0  axis.z.eoffset-counts
    19  bit   IN          FALSE  axis.z.eoffset-enable
    19  float OUT             0  axis.z.eoffset-request
    19  float IN              0  axis.z.eoffset-scale
    19  float IN              1  axis.z.jog-accel-fraction
    19  s32   IN              0  axis.z.jog-counts
    19  bit   IN          FALSE  axis.z.jog-enable
    19  float IN              0  axis.z.jog-scale
    19  bit   IN          FALSE  axis.z.jog-vel-mode
    19  bit   OUT         FALSE  axis.z.kb-jog-active
    19  float OUT             0  axis.z.pos-cmd
    19  float OUT             0  axis.z.teleop-pos-cmd
    19  bit   OUT         FALSE  axis.z.teleop-tp-enable
    19  float OUT             0  axis.z.teleop-vel-cmd
    19  float OUT             0  axis.z.teleop-vel-lim
    19  bit   OUT         FALSE  axis.z.wheel-jog-active
    46  float OUT             0  gmoccapy.blockheight
    46  bit   IN          FALSE  gmoccapy.delete-message
    46  bit   OUT          TRUE  gmoccapy.error
    46  bit   IN          FALSE  gmoccapy.feed.feed-override.analog-enable
    46  bit   IN          FALSE  gmoccapy.feed.feed-override.count-enable
    46  s32   IN              0  gmoccapy.feed.feed-override.counts
    46  float IN              0  gmoccapy.feed.feed-override.direct-value
    46  bit   IN          FALSE  gmoccapy.feed.reset-feed-override
    46  bit   IN          FALSE  gmoccapy.h-button.button-0
    46  bit   IN          FALSE  gmoccapy.h-button.button-1
    46  bit   IN          FALSE  gmoccapy.h-button.button-2
    46  bit   IN          FALSE  gmoccapy.h-button.button-3
    46  bit   IN          FALSE  gmoccapy.h-button.button-4
    46  bit   IN          FALSE  gmoccapy.h-button.button-5
    46  bit   IN          FALSE  gmoccapy.h-button.button-6
    46  bit   IN          FALSE  gmoccapy.h-button.button-7
    46  bit   IN          FALSE  gmoccapy.h-button.button-8
    46  bit   IN          FALSE  gmoccapy.h-button.button-9
    46  bit   IN          FALSE  gmoccapy.ignore-limits
    46  bit   IN          FALSE  gmoccapy.jog.axis.jog-x-minus
    46  bit   IN          FALSE  gmoccapy.jog.axis.jog-x-plus
    46  bit   IN          FALSE  gmoccapy.jog.axis.jog-y-minus
    46  bit   IN          FALSE  gmoccapy.jog.axis.jog-y-plus
    46  bit   IN          FALSE  gmoccapy.jog.axis.jog-z-minus
    46  bit   IN          FALSE  gmoccapy.jog.axis.jog-z-plus
    46  bit   IN          FALSE  gmoccapy.jog.jog-inc-0
    46  bit   IN          FALSE  gmoccapy.jog.jog-inc-1
    46  bit   IN          FALSE  gmoccapy.jog.jog-inc-2
    46  bit   IN          FALSE  gmoccapy.jog.jog-inc-3
    46  bit   IN          FALSE  gmoccapy.jog.jog-inc-4
    46  bit   IN          FALSE  gmoccapy.jog.jog-inc-5
    46  bit   IN          FALSE  gmoccapy.jog.jog-inc-6
    46  bit   IN          FALSE  gmoccapy.jog.jog-inc-7
    46  float OUT             0  gmoccapy.jog.jog-increment
    46  bit   IN          FALSE  gmoccapy.jog.jog-velocity.analog-enable
    46  bit   IN          FALSE  gmoccapy.jog.jog-velocity.count-enable
    46  s32   IN              0  gmoccapy.jog.jog-velocity.counts
    46  float IN              0  gmoccapy.jog.jog-velocity.direct-value
    46  bit   IN          FALSE  gmoccapy.jog.turtle-jog
    46  float OUT             0  gmoccapy.probeheight
    46  float OUT             0  gmoccapy.probevel
    46  s32   OUT             0  gmoccapy.program.current-line
    46  s32   OUT             0  gmoccapy.program.length
    46  float OUT             0  gmoccapy.program.progress
    46  bit   IN          FALSE  gmoccapy.rapid.rapid-override.analog-enable
    46  bit   IN          FALSE  gmoccapy.rapid.rapid-override.count-enable
    46  s32   IN              0  gmoccapy.rapid.rapid-override.counts
    46  float IN              0  gmoccapy.rapid.rapid-override.direct-value
    46  bit   IN          FALSE  gmoccapy.rapid.reset-rapid-override
    46  float OUT             0  gmoccapy.searchvel
    46  bit   IN          FALSE  gmoccapy.spc_ang_jog_vel.decrease
    46  bit   IN          FALSE  gmoccapy.spc_ang_jog_vel.increase
    46  float IN             60  gmoccapy.spc_ang_jog_vel.scale
    46  float OUT             6  gmoccapy.spc_ang_jog_vel.scaled-value
    46  float OUT           360  gmoccapy.spc_ang_jog_vel.value
    46  bit   IN          FALSE  gmoccapy.spc_feed.decrease
    46  bit   IN          FALSE  gmoccapy.spc_feed.increase
    46  float IN             60  gmoccapy.spc_feed.scale
    46  float OUT      1.666667  gmoccapy.spc_feed.scaled-value
    46  float OUT           100  gmoccapy.spc_feed.value
    46  bit   IN          FALSE  gmoccapy.spc_lin_jog_vel.decrease
    46  bit   IN          FALSE  gmoccapy.spc_lin_jog_vel.increase
    46  float IN             60  gmoccapy.spc_lin_jog_vel.scale
    46  float OUT           2.5  gmoccapy.spc_lin_jog_vel.scaled-value
    46  float OUT           150  gmoccapy.spc_lin_jog_vel.value
    46  bit   IN          FALSE  gmoccapy.spc_rapid.decrease
    46  bit   IN          FALSE  gmoccapy.spc_rapid.increase
    46  float IN             60  gmoccapy.spc_rapid.scale
    46  float OUT      1.666667  gmoccapy.spc_rapid.scaled-value
    46  float OUT           100  gmoccapy.spc_rapid.value
    46  bit   IN          FALSE  gmoccapy.spc_spindle.decrease
    46  bit   IN          FALSE  gmoccapy.spc_spindle.increase
    46  float IN             60  gmoccapy.spc_spindle.scale
    46  float OUT      1.666667  gmoccapy.spc_spindle.scaled-value
    46  float OUT           100  gmoccapy.spc_spindle.value
    46  bit   IN          FALSE  gmoccapy.spindle.reset-spindle-override
    46  bit   IN          FALSE  gmoccapy.spindle.spindle-override.analog-enable
    46  bit   IN          FALSE  gmoccapy.spindle.spindle-override.count-enable
    46  s32   IN              0  gmoccapy.spindle.spindle-override.counts
    46  float IN              0  gmoccapy.spindle.spindle-override.direct-value
    46  bit   IN          FALSE  gmoccapy.spindle_at_speed_led
    46  float IN              0  gmoccapy.spindle_feedback_bar
    46  float OUT             0  gmoccapy.tool-diameter
    46  bit   IN          FALSE  gmoccapy.toolchange-change
    46  bit   OUT         FALSE  gmoccapy.toolchange-changed
    46  s32   IN              0  gmoccapy.toolchange-number
    46  bit   OUT         FALSE  gmoccapy.toolmeasurement
    46  float IN              0  gmoccapy.tooloffset-x
    46  float IN              0  gmoccapy.tooloffset-z
    46  bit   IN          FALSE  gmoccapy.unlock-settings
    46  bit   IN          FALSE  gmoccapy.v-button.button-0
    46  bit   IN          FALSE  gmoccapy.v-button.button-1
    46  bit   IN          FALSE  gmoccapy.v-button.button-2
    46  bit   IN          FALSE  gmoccapy.v-button.button-3
    46  bit   IN          FALSE  gmoccapy.v-button.button-4
    46  bit   IN          FALSE  gmoccapy.v-button.button-5
    46  bit   IN          FALSE  gmoccapy.v-button.button-6
    33  bit   IN          FALSE  hal_manualtoolchange.change <== tool-change-request
    33  bit   IN          FALSE  hal_manualtoolchange.change_button
    33  bit   OUT         FALSE  hal_manualtoolchange.changed ==> tool-change-confirmed
    33  s32   IN              0  hal_manualtoolchange.number <== tool-number
    10  bit   IN          FALSE  halui.abort
    10  float IN              0  halui.axis.a.analog
    10  float IN              0  halui.axis.a.increment
    10  bit   IN          FALSE  halui.axis.a.increment-minus
    10  bit   IN          FALSE  halui.axis.a.increment-plus
    10  bit   IN          FALSE  halui.axis.a.minus
    10  bit   IN          FALSE  halui.axis.a.plus
    10  bit   IN          FALSE  halui.axis.a.select
    10  float IN              0  halui.axis.b.analog
    10  float IN              0  halui.axis.b.increment
    10  bit   IN          FALSE  halui.axis.b.increment-minus
    10  bit   IN          FALSE  halui.axis.b.increment-plus
    10  bit   IN          FALSE  halui.axis.b.minus
    10  bit   IN          FALSE  halui.axis.b.plus
    10  bit   IN          FALSE  halui.axis.b.select
    10  float IN              0  halui.axis.c.analog
    10  float IN              0  halui.axis.c.increment
    10  bit   IN          FALSE  halui.axis.c.increment-minus
    10  bit   IN          FALSE  halui.axis.c.increment-plus
    10  bit   IN          FALSE  halui.axis.c.minus
    10  bit   IN          FALSE  halui.axis.c.plus
    10  bit   IN          FALSE  halui.axis.c.select
    10  float IN            0.2  halui.axis.jog-deadband
    10  float IN              0  halui.axis.jog-speed <== jog-speed
    10  u32   OUT    0x00000000  halui.axis.selected
    10  float IN              0  halui.axis.selected.increment
    10  bit   IN          FALSE  halui.axis.selected.increment-minus
    10  bit   IN          FALSE  halui.axis.selected.increment-plus
    10  bit   IN          FALSE  halui.axis.selected.minus <== jog-selected-neg
    10  bit   IN          FALSE  halui.axis.selected.plus <== jog-selected-pos
    10  float IN              0  halui.axis.u.analog
    10  float IN              0  halui.axis.u.increment
    10  bit   IN          FALSE  halui.axis.u.increment-minus
    10  bit   IN          FALSE  halui.axis.u.increment-plus
    10  bit   IN          FALSE  halui.axis.u.minus
    10  bit   IN          FALSE  halui.axis.u.plus
    10  bit   IN          FALSE  halui.axis.u.select
    10  float IN              0  halui.axis.v.analog
    10  float IN              0  halui.axis.v.increment
    10  bit   IN          FALSE  halui.axis.v.increment-minus
    10  bit   IN          FALSE  halui.axis.v.increment-plus
    10  bit   IN          FALSE  halui.axis.v.minus
    10  bit   IN          FALSE  halui.axis.v.plus
    10  bit   IN          FALSE  halui.axis.v.select
    10  float IN              0  halui.axis.w.analog
    10  float IN              0  halui.axis.w.increment
    10  bit   IN          FALSE  halui.axis.w.increment-minus
    10  bit   IN          FALSE  halui.axis.w.increment-plus
    10  bit   IN          FALSE  halui.axis.w.minus
    10  bit   IN          FALSE  halui.axis.w.plus
    10  bit   IN          FALSE  halui.axis.w.select
    10  float IN              0  halui.axis.x.analog <== jog-x-analog
    10  float IN              0  halui.axis.x.increment
    10  bit   IN          FALSE  halui.axis.x.increment-minus
    10  bit   IN          FALSE  halui.axis.x.increment-plus
    10  bit   OUT          TRUE  halui.axis.x.is-selected
    10  bit   IN          FALSE  halui.axis.x.minus <== jog-x-neg
    10  bit   IN          FALSE  halui.axis.x.plus <== jog-x-pos
    10  float OUT             0  halui.axis.x.pos-commanded
    10  float OUT             0  halui.axis.x.pos-feedback
    10  float OUT             0  halui.axis.x.pos-relative
    10  bit   IN          FALSE  halui.axis.x.select <== axis-select-x
    10  float IN              0  halui.axis.y.analog <== jog-y-analog
    10  float IN              0  halui.axis.y.increment
    10  bit   IN          FALSE  halui.axis.y.increment-minus
    10  bit   IN          FALSE  halui.axis.y.increment-plus
    10  bit   OUT         FALSE  halui.axis.y.is-selected
    10  bit   IN          FALSE  halui.axis.y.minus <== jog-y-neg
    10  bit   IN          FALSE  halui.axis.y.plus <== jog-y-pos
    10  float OUT             0  halui.axis.y.pos-commanded
    10  float OUT             0  halui.axis.y.pos-feedback
    10  float OUT             0  halui.axis.y.pos-relative
    10  bit   IN          FALSE  halui.axis.y.select <== axis-select-y
    10  float IN              0  halui.axis.z.analog <== jog-z-analog
    10  float IN              0  halui.axis.z.increment
    10  bit   IN          FALSE  halui.axis.z.increment-minus
    10  bit   IN          FALSE  halui.axis.z.increment-plus
    10  bit   OUT         FALSE  halui.axis.z.is-selected
    10  bit   IN          FALSE  halui.axis.z.minus <== jog-z-neg
    10  bit   IN          FALSE  halui.axis.z.plus <== jog-z-pos
    10  float OUT             0  halui.axis.z.pos-commanded
    10  float OUT             0  halui.axis.z.pos-feedback
    10  float OUT             0  halui.axis.z.pos-relative
    10  bit   IN          FALSE  halui.axis.z.select <== axis-select-z
    10  bit   IN          FALSE  halui.estop.activate
    10  bit   OUT          TRUE  halui.estop.is-activated
    10  bit   IN          FALSE  halui.estop.reset
    10  bit   IN           TRUE  halui.feed-override.count-enable
    10  s32   IN              0  halui.feed-override.counts
    10  bit   IN          FALSE  halui.feed-override.decrease
    10  bit   IN          FALSE  halui.feed-override.direct-value
    10  bit   IN          FALSE  halui.feed-override.increase
    10  float IN            0.1  halui.feed-override.scale
    10  float OUT             1  halui.feed-override.value
    10  bit   OUT         FALSE  halui.flood.is-on
    10  bit   IN          FALSE  halui.flood.off
    10  bit   IN          FALSE  halui.flood.on
    10  float IN              0  halui.joint.0.analog
    10  bit   OUT         FALSE  halui.joint.0.has-fault
    10  bit   IN          FALSE  halui.joint.0.home
    10  float IN              0  halui.joint.0.increment
    10  bit   IN          FALSE  halui.joint.0.increment-minus
    10  bit   IN          FALSE  halui.joint.0.increment-plus
    10  bit   OUT         FALSE  halui.joint.0.is-homed ==> x-is-homed
    10  bit   OUT          TRUE  halui.joint.0.is-selected
    10  bit   IN          FALSE  halui.joint.0.minus
    10  bit   OUT         FALSE  halui.joint.0.on-hard-max-limit
    10  bit   OUT         FALSE  halui.joint.0.on-hard-min-limit
    10  bit   OUT         FALSE  halui.joint.0.on-soft-max-limit
    10  bit   OUT         FALSE  halui.joint.0.on-soft-min-limit
    10  bit   OUT         FALSE  halui.joint.0.override-limits
    10  bit   IN          FALSE  halui.joint.0.plus
    10  bit   IN          FALSE  halui.joint.0.select
    10  bit   IN          FALSE  halui.joint.0.unhome
    10  float IN              0  halui.joint.1.analog
    10  bit   OUT         FALSE  halui.joint.1.has-fault
    10  bit   IN          FALSE  halui.joint.1.home
    10  float IN              0  halui.joint.1.increment
    10  bit   IN          FALSE  halui.joint.1.increment-minus
    10  bit   IN          FALSE  halui.joint.1.increment-plus
    10  bit   OUT         FALSE  halui.joint.1.is-homed ==> y-is-homed
    10  bit   OUT         FALSE  halui.joint.1.is-selected
    10  bit   IN          FALSE  halui.joint.1.minus
    10  bit   OUT         FALSE  halui.joint.1.on-hard-max-limit
    10  bit   OUT         FALSE  halui.joint.1.on-hard-min-limit
    10  bit   OUT         FALSE  halui.joint.1.on-soft-max-limit
    10  bit   OUT         FALSE  halui.joint.1.on-soft-min-limit
    10  bit   OUT         FALSE  halui.joint.1.override-limits
    10  bit   IN          FALSE  halui.joint.1.plus
    10  bit   IN          FALSE  halui.joint.1.select
    10  bit   IN          FALSE  halui.joint.1.unhome
    10  float IN              0  halui.joint.2.analog
    10  bit   OUT         FALSE  halui.joint.2.has-fault
    10  bit   IN          FALSE  halui.joint.2.home
    10  float IN              0  halui.joint.2.increment
    10  bit   IN          FALSE  halui.joint.2.increment-minus
    10  bit   IN          FALSE  halui.joint.2.increment-plus
    10  bit   OUT         FALSE  halui.joint.2.is-homed ==> z-is-homed
    10  bit   OUT         FALSE  halui.joint.2.is-selected
    10  bit   IN          FALSE  halui.joint.2.minus
    10  bit   OUT         FALSE  halui.joint.2.on-hard-max-limit
    10  bit   OUT         FALSE  halui.joint.2.on-hard-min-limit
    10  bit   OUT         FALSE  halui.joint.2.on-soft-max-limit
    10  bit   OUT         FALSE  halui.joint.2.on-soft-min-limit
    10  bit   OUT         FALSE  halui.joint.2.override-limits
    10  bit   IN          FALSE  halui.joint.2.plus
    10  bit   IN          FALSE  halui.joint.2.select
    10  bit   IN          FALSE  halui.joint.2.unhome
    10  float IN            0.2  halui.joint.jog-deadband
    10  float IN              0  halui.joint.jog-speed
    10  u32   OUT    0x00000000  halui.joint.selected
    10  bit   OUT         FALSE  halui.joint.selected.has-fault
    10  bit   IN          FALSE  halui.joint.selected.home
    10  float IN              0  halui.joint.selected.increment
    10  bit   IN          FALSE  halui.joint.selected.increment-minus
    10  bit   IN          FALSE  halui.joint.selected.increment-plus
    10  bit   OUT         FALSE  halui.joint.selected.is-homed
    10  bit   IN          FALSE  halui.joint.selected.minus
    10  bit   OUT         FALSE  halui.joint.selected.on-hard-max-limit
    10  bit   OUT         FALSE  halui.joint.selected.on-hard-min-limit
    10  bit   OUT         FALSE  halui.joint.selected.on-soft-max-limit
    10  bit   OUT         FALSE  halui.joint.selected.on-soft-min-limit
    10  bit   OUT         FALSE  halui.joint.selected.override-limits
    10  bit   IN          FALSE  halui.joint.selected.plus
    10  bit   IN          FALSE  halui.joint.selected.unhome
    10  bit   OUT         FALSE  halui.lube.is-on
    10  bit   IN          FALSE  halui.lube.off
    10  bit   IN          FALSE  halui.lube.on
    10  bit   OUT         FALSE  halui.machine.is-on ==> machine-is-on
    10  bit   IN          FALSE  halui.machine.off
    10  bit   IN          FALSE  halui.machine.on
    10  float OUT             1  halui.machine.units-per-mm
    10  bit   IN           TRUE  halui.max-velocity.count-enable
    10  s32   IN              0  halui.max-velocity.counts
    10  bit   IN          FALSE  halui.max-velocity.decrease
    10  bit   IN          FALSE  halui.max-velocity.direct-value
    10  bit   IN          FALSE  halui.max-velocity.increase
    10  float IN              0  halui.max-velocity.scale
    10  float OUT            25  halui.max-velocity.value
    10  bit   OUT         FALSE  halui.mist.is-on
    10  bit   IN          FALSE  halui.mist.off
    10  bit   IN          FALSE  halui.mist.on
    10  bit   IN          FALSE  halui.mode.auto
    10  bit   OUT         FALSE  halui.mode.is-auto
    10  bit   OUT          TRUE  halui.mode.is-joint
    10  bit   OUT          TRUE  halui.mode.is-manual
    10  bit   OUT         FALSE  halui.mode.is-mdi ==> MDI-mode
    10  bit   OUT         FALSE  halui.mode.is-teleop
    10  bit   IN          FALSE  halui.mode.joint
    10  bit   IN          FALSE  halui.mode.manual
    10  bit   IN          FALSE  halui.mode.mdi
    10  bit   IN          FALSE  halui.mode.teleop
    10  bit   OUT         FALSE  halui.program.block-delete.is-on
    10  bit   IN          FALSE  halui.program.block-delete.off
    10  bit   IN          FALSE  halui.program.block-delete.on
    10  bit   OUT          TRUE  halui.program.is-idle
    10  bit   OUT         FALSE  halui.program.is-paused
    10  bit   OUT         FALSE  halui.program.is-running
    10  bit   OUT          TRUE  halui.program.optional-stop.is-on
    10  bit   IN          FALSE  halui.program.optional-stop.off
    10  bit   IN          FALSE  halui.program.optional-stop.on
    10  bit   IN          FALSE  halui.program.pause
    10  bit   IN          FALSE  halui.program.resume
    10  bit   IN          FALSE  halui.program.run
    10  bit   IN          FALSE  halui.program.step
    10  bit   IN          FALSE  halui.program.stop
    10  bit   IN           TRUE  halui.rapid-override.count-enable
    10  s32   IN              0  halui.rapid-override.counts
    10  bit   IN          FALSE  halui.rapid-override.decrease
    10  bit   IN          FALSE  halui.rapid-override.direct-value
    10  bit   IN          FALSE  halui.rapid-override.increase
    10  float IN            0.1  halui.rapid-override.scale
    10  float OUT             1  halui.rapid-override.value
    10  bit   OUT          TRUE  halui.spindle.0.brake-is-on
    10  bit   IN          FALSE  halui.spindle.0.brake-off
    10  bit   IN          FALSE  halui.spindle.0.brake-on
    10  bit   IN          FALSE  halui.spindle.0.decrease
    10  bit   IN          FALSE  halui.spindle.0.forward <== spindle-manual-cw
    10  bit   IN          FALSE  halui.spindle.0.increase
    10  bit   OUT         FALSE  halui.spindle.0.is-on
    10  bit   IN           TRUE  halui.spindle.0.override.count-enable
    10  s32   IN              0  halui.spindle.0.override.counts
    10  bit   IN          FALSE  halui.spindle.0.override.decrease
    10  bit   IN          FALSE  halui.spindle.0.override.direct-value
    10  bit   IN          FALSE  halui.spindle.0.override.increase
    10  float IN            0.1  halui.spindle.0.override.scale
    10  float OUT             1  halui.spindle.0.override.value
    10  bit   IN          FALSE  halui.spindle.0.reverse <== spindle-manual-ccw
    10  bit   OUT         FALSE  halui.spindle.0.runs-backward
    10  bit   OUT         FALSE  halui.spindle.0.runs-forward
    10  bit   IN          FALSE  halui.spindle.0.start
    10  bit   IN          FALSE  halui.spindle.0.stop <== spindle-manual-stop
    10  float OUT             0  halui.tool.diameter
    10  float OUT             0  halui.tool.length_offset.a
    10  float OUT             0  halui.tool.length_offset.b
    10  float OUT             0  halui.tool.length_offset.c
    10  float OUT             0  halui.tool.length_offset.u
    10  float OUT             0  halui.tool.length_offset.v
    10  float OUT             0  halui.tool.length_offset.w
    10  float OUT             0  halui.tool.length_offset.x
    10  float OUT             0  halui.tool.length_offset.y
    10  float OUT             0  halui.tool.length_offset.z
    10  u32   OUT    0x00000000  halui.tool.number
    26  s32   OUT    2097000000  hm2_7i76e.0.0.debug
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-00
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-00-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-01
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-01-not
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-02
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-02-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-03
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-03-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-04
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-04-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-05
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-05-not
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-06
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-06-not
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-07
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-07-not
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-08
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-08-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-09
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-09-not
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-10
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-10-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-11
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-11-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-12
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-12-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-13
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-13-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-14
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-14-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-15
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-15-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-16
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-16-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-17
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-17-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-18
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-18-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-19
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-19-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-20
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-20-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-21
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-21-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-22
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-22-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-23
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-23-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-24
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-24-not
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-25
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-25-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-26
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-26-not
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-27
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-27-not
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-28
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-28-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-29
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-29-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-30
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-30-not
    26  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-31
    26  bit   OUT          TRUE  hm2_7i76e.0.7i76.0.0.input-31-not
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-00
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-01
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-02
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-03
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-04
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-05
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-06
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-07
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-08
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-09
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-10
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-11
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-12
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-13
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-14
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-15
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.spindir
    26  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.spinena
    26  float IN              0  hm2_7i76e.0.7i76.0.0.spinout
    26  float IN            -50  hm2_7i76e.0.dpll.01.timer-us
    26  float IN            100  hm2_7i76e.0.dpll.02.timer-us
    26  float IN            100  hm2_7i76e.0.dpll.03.timer-us
    26  float IN            100  hm2_7i76e.0.dpll.04.timer-us
    26  float IN              1  hm2_7i76e.0.dpll.base-freq-khz
    26  u32   OUT    0x0000002A  hm2_7i76e.0.dpll.ddsize
    26  float OUT      2.361445  hm2_7i76e.0.dpll.phase-error-us
    26  u32   IN     0x00400000  hm2_7i76e.0.dpll.plimit
    26  u32   OUT    0x00000018  hm2_7i76e.0.dpll.prescale
    26  u32   IN     0x000007D0  hm2_7i76e.0.dpll.time-const
    26  s32   OUT             0  hm2_7i76e.0.encoder.00.count
    26  s32   OUT             0  hm2_7i76e.0.encoder.00.count-latched
    26  bit   I/O         FALSE  hm2_7i76e.0.encoder.00.index-enable
    26  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.input-a
    26  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.input-b
    26  bit   OUT          TRUE  hm2_7i76e.0.encoder.00.input-index
    26  bit   IN          FALSE  hm2_7i76e.0.encoder.00.latch-enable
    26  bit   IN          FALSE  hm2_7i76e.0.encoder.00.latch-polarity
    26  float OUT             0  hm2_7i76e.0.encoder.00.position
    26  float OUT             0  hm2_7i76e.0.encoder.00.position-latched
    26  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.quad-error
    26  bit   IN          FALSE  hm2_7i76e.0.encoder.00.quad-error-enable
    26  s32   OUT             0  hm2_7i76e.0.encoder.00.rawcounts
    26  s32   OUT             0  hm2_7i76e.0.encoder.00.rawlatch
    26  bit   IN          FALSE  hm2_7i76e.0.encoder.00.reset
    26  float OUT             0  hm2_7i76e.0.encoder.00.velocity
    26  float OUT             0  hm2_7i76e.0.encoder.00.velocity-rpm
    26  bit   IN          FALSE  hm2_7i76e.0.encoder.hires-timestamp
    26  u32   IN     0x017D7840  hm2_7i76e.0.encoder.sample-frequency
    26  s32   IN             -1  hm2_7i76e.0.encoder.timer-number
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.000.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.000.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.001.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.001.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.002.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.002.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.003.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.003.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.004.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.004.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.005.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.005.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.006.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.006.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.007.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.007.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.008.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.008.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.009.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.009.in_not
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.010.in
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.010.in_not
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.011.in
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.011.in_not
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.012.in
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.012.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.012.out
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.013.in
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.013.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.013.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.014.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.014.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.015.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.015.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.016.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.016.in_not
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.017.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.017.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.017.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.018.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.018.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.018.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.019.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.019.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.019.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.020.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.020.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.020.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.021.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.021.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.021.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.022.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.022.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.022.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.023.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.023.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.023.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.024.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.024.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.024.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.025.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.025.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.025.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.026.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.026.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.026.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.027.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.027.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.027.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.028.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.028.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.028.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.029.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.029.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.029.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.030.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.030.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.030.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.031.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.031.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.031.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.032.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.032.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.032.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.033.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.033.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.033.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.034.in ==> both-x
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.034.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.034.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.035.in ==> both-y
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.035.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.035.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.036.in ==> both-z
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.036.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.036.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.037.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.037.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.037.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.038.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.038.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.038.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.039.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.039.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.039.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.040.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.040.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.040.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.041.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.041.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.041.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.042.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.042.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.042.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.043.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.043.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.043.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.044.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.044.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.044.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.045.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.045.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.045.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.046.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.046.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.046.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.047.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.047.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.047.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.048.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.048.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.048.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.049.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.049.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.049.out
    26  bit   OUT         FALSE  hm2_7i76e.0.gpio.050.in
    26  bit   OUT          TRUE  hm2_7i76e.0.gpio.050.in_not
    26  bit   IN          FALSE  hm2_7i76e.0.gpio.050.out
    26  bit   IN          FALSE  hm2_7i76e.0.led.CR01
    26  bit   IN          FALSE  hm2_7i76e.0.led.CR02
    26  bit   IN          FALSE  hm2_7i76e.0.led.CR03
    26  bit   IN          FALSE  hm2_7i76e.0.led.CR04
    26  bit   OUT         FALSE  hm2_7i76e.0.packet-error
    26  bit   OUT         FALSE  hm2_7i76e.0.packet-error-exceeded
    26  s32   OUT             0  hm2_7i76e.0.packet-error-level
    26  s32   OUT             0  hm2_7i76e.0.read-request.time
    26  s32   OUT        498478  hm2_7i76e.0.read.time
    26  u32   OUT    0x00000000  hm2_7i76e.0.sserial.port-0.fault-count
    26  u32   OUT    0x00000003  hm2_7i76e.0.sserial.port-0.port_state
    26  u32   OUT    0x00000000  hm2_7i76e.0.sserial.port-0.port_state2
    26  u32   OUT    0x00000000  hm2_7i76e.0.sserial.port-0.port_state3
    26  bit   IN           TRUE  hm2_7i76e.0.sserial.port-0.run
    26  bit   IN           TRUE  hm2_7i76e.0.stepgen.00.control-type
    26  s32   OUT             0  hm2_7i76e.0.stepgen.00.counts
    26  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_err_at_match
    26  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_ff_vel
    26  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_pos_minus_prev_cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_s_to_match
    26  s32   OUT             0  hm2_7i76e.0.stepgen.00.dbg_step_rate
    26  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_vel_error
    26  bit   IN          FALSE  hm2_7i76e.0.stepgen.00.enable <== x-enable
    26  float IN              0  hm2_7i76e.0.stepgen.00.position-cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.00.position-fb ==> x-pos-fb
    26  float IN              0  hm2_7i76e.0.stepgen.00.velocity-cmd <== x-output
    26  float OUT             0  hm2_7i76e.0.stepgen.00.velocity-fb
    26  bit   IN           TRUE  hm2_7i76e.0.stepgen.01.control-type
    26  s32   OUT             0  hm2_7i76e.0.stepgen.01.counts
    26  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_err_at_match
    26  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_ff_vel
    26  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_pos_minus_prev_cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_s_to_match
    26  s32   OUT             0  hm2_7i76e.0.stepgen.01.dbg_step_rate
    26  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_vel_error
    26  bit   IN          FALSE  hm2_7i76e.0.stepgen.01.enable <== y-enable
    26  float IN              0  hm2_7i76e.0.stepgen.01.position-cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.01.position-fb ==> y-pos-fb
    26  float IN              0  hm2_7i76e.0.stepgen.01.velocity-cmd <== y-output
    26  float OUT             0  hm2_7i76e.0.stepgen.01.velocity-fb
    26  bit   IN           TRUE  hm2_7i76e.0.stepgen.02.control-type
    26  s32   OUT             0  hm2_7i76e.0.stepgen.02.counts
    26  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_err_at_match
    26  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_ff_vel
    26  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_pos_minus_prev_cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_s_to_match
    26  s32   OUT             0  hm2_7i76e.0.stepgen.02.dbg_step_rate
    26  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_vel_error
    26  bit   IN          FALSE  hm2_7i76e.0.stepgen.02.enable <== z-enable
    26  float IN              0  hm2_7i76e.0.stepgen.02.position-cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.02.position-fb ==> z-pos-fb
    26  float IN              0  hm2_7i76e.0.stepgen.02.velocity-cmd <== z-output
    26  float OUT             0  hm2_7i76e.0.stepgen.02.velocity-fb
    26  bit   IN          FALSE  hm2_7i76e.0.stepgen.03.control-type
    26  s32   OUT             0  hm2_7i76e.0.stepgen.03.counts
    26  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_err_at_match
    26  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_ff_vel
    26  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_pos_minus_prev_cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_s_to_match
    26  s32   OUT             0  hm2_7i76e.0.stepgen.03.dbg_step_rate
    26  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_vel_error
    26  bit   IN          FALSE  hm2_7i76e.0.stepgen.03.enable
    26  float IN              0  hm2_7i76e.0.stepgen.03.position-cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.03.position-fb
    26  float IN              0  hm2_7i76e.0.stepgen.03.velocity-cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.03.velocity-fb
    26  bit   IN          FALSE  hm2_7i76e.0.stepgen.04.control-type
    26  s32   OUT             0  hm2_7i76e.0.stepgen.04.counts
    26  float OUT             0  hm2_7i76e.0.stepgen.04.dbg_err_at_match
    26  float OUT             0  hm2_7i76e.0.stepgen.04.dbg_ff_vel
    26  float OUT             0  hm2_7i76e.0.stepgen.04.dbg_pos_minus_prev_cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.04.dbg_s_to_match
    26  s32   OUT             0  hm2_7i76e.0.stepgen.04.dbg_step_rate
    26  float OUT             0  hm2_7i76e.0.stepgen.04.dbg_vel_error
    26  bit   IN          FALSE  hm2_7i76e.0.stepgen.04.enable
    26  float IN              0  hm2_7i76e.0.stepgen.04.position-cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.04.position-fb
    26  float IN              0  hm2_7i76e.0.stepgen.04.velocity-cmd
    26  float OUT             0  hm2_7i76e.0.stepgen.04.velocity-fb
    26  s32   IN              1  hm2_7i76e.0.stepgen.timer-number
    26  bit   I/O         FALSE  hm2_7i76e.0.watchdog.has_bit
    26  s32   OUT          5628  hm2_7i76e.0.write.time
    44  float IN              0  ini.0.backlash
    44  float IN             10  ini.0.ferror
    44  float IN              0  ini.0.home
    44  float IN              0  ini.0.home_offset
    44  s32   IN            999  ini.0.home_sequence
    44  float IN            750  ini.0.max_acceleration
    44  float IN            200  ini.0.max_limit
    44  float IN             25  ini.0.max_velocity
    44  float IN              1  ini.0.min_ferror
    44  float IN          -0.01  ini.0.min_limit
    44  float IN              0  ini.1.backlash
    44  float IN             10  ini.1.ferror
    44  float IN              0  ini.1.home
    44  float IN              0  ini.1.home_offset
    44  s32   IN            999  ini.1.home_sequence
    44  float IN            750  ini.1.max_acceleration
    44  float IN            200  ini.1.max_limit
    44  float IN             25  ini.1.max_velocity
    44  float IN              1  ini.1.min_ferror
    44  float IN          -0.01  ini.1.min_limit
    44  float IN              0  ini.2.backlash
    44  float IN             10  ini.2.ferror
    44  float IN              0  ini.2.home
    44  float IN              0  ini.2.home_offset
    44  s32   IN            999  ini.2.home_sequence
    44  float IN            750  ini.2.max_acceleration
    44  float IN           0.01  ini.2.max_limit
    44  float IN             25  ini.2.max_velocity
    44  float IN              1  ini.2.min_ferror
    44  float IN           -100  ini.2.min_limit
    44  float IN              0  ini.a.max_acceleration
    44  float IN              0  ini.a.max_limit
    44  float IN              0  ini.a.max_velocity
    44  float IN              0  ini.a.min_limit
    44  float IN              0  ini.b.max_acceleration
    44  float IN              0  ini.b.max_limit
    44  float IN              0  ini.b.max_velocity
    44  float IN              0  ini.b.min_limit
    44  float IN              0  ini.c.max_acceleration
    44  float IN              0  ini.c.max_limit
    44  float IN              0  ini.c.max_velocity
    44  float IN              0  ini.c.min_limit
    44  bit   IN           TRUE  ini.traj_arc_blend_enable
    44  bit   IN          FALSE  ini.traj_arc_blend_fallback_enable
    44  float IN              4  ini.traj_arc_blend_gap_cycles
    44  s32   IN             50  ini.traj_arc_blend_optimization_depth
    44  float IN            100  ini.traj_arc_blend_ramp_freq
    44  float IN            0.1  ini.traj_arc_blend_tangent_kink_ratio
    44  float IN          1e+99  ini.traj_default_acceleration
    44  float IN            2.5  ini.traj_default_velocity
    44  float IN          1e+99  ini.traj_max_acceleration
    44  float IN             25  ini.traj_max_velocity
    44  float IN              0  ini.u.max_acceleration
    44  float IN              0  ini.u.max_limit
    44  float IN              0  ini.u.max_velocity
    44  float IN              0  ini.u.min_limit
    44  float IN              0  ini.v.max_acceleration
    44  float IN              0  ini.v.max_limit
    44  float IN              0  ini.v.max_velocity
    44  float IN              0  ini.v.min_limit
    44  float IN              0  ini.w.max_acceleration
    44  float IN              0  ini.w.max_limit
    44  float IN              0  ini.w.max_velocity
    44  float IN              0  ini.w.min_limit
    44  float IN            750  ini.x.max_acceleration
    44  float IN            200  ini.x.max_limit
    44  float IN             25  ini.x.max_velocity
    44  float IN          -0.01  ini.x.min_limit
    44  float IN            750  ini.y.max_acceleration
    44  float IN            200  ini.y.max_limit
    44  float IN             25  ini.y.max_velocity
    44  float IN          -0.01  ini.y.min_limit
    44  float IN            750  ini.z.max_acceleration
    44  float IN           0.01  ini.z.max_limit
    44  float IN             25  ini.z.max_velocity
    44  float IN           -100  ini.z.min_limit
     4  bit   OUT         FALSE  iocontrol.0.coolant-flood ==> coolant-flood
     4  bit   OUT         FALSE  iocontrol.0.coolant-mist ==> coolant-mist
     4  bit   IN          FALSE  iocontrol.0.emc-enable-in <== estop-out
     4  bit   OUT         FALSE  iocontrol.0.lube
     4  bit   IN          FALSE  iocontrol.0.lube_level
     4  bit   OUT         FALSE  iocontrol.0.tool-change ==> tool-change-request
     4  bit   IN          FALSE  iocontrol.0.tool-changed <== tool-change-confirmed
     4  s32   OUT             0  iocontrol.0.tool-number
     4  s32   OUT             0  iocontrol.0.tool-prep-number ==> tool-number
     4  s32   OUT             0  iocontrol.0.tool-prep-pocket
     4  bit   OUT         FALSE  iocontrol.0.tool-prepare ==> tool-prepare-loopback
     4  bit   IN          FALSE  iocontrol.0.tool-prepared <== tool-prepare-loopback
     4  bit   OUT         FALSE  iocontrol.0.user-enable-out ==> estop-out
     4  bit   OUT         FALSE  iocontrol.0.user-request-enable
    19  float OUT             0  joint.0.acc-cmd
    19  bit   OUT          TRUE  joint.0.active
    19  bit   OUT         FALSE  joint.0.amp-enable-out ==> x-enable
    19  bit   IN          FALSE  joint.0.amp-fault-in
    19  float OUT             0  joint.0.backlash-corr
    19  float OUT             0  joint.0.backlash-filt
    19  float OUT             0  joint.0.backlash-vel
    19  float OUT             0  joint.0.coarse-pos-cmd
    19  bit   OUT         FALSE  joint.0.error
    19  float OUT             0  joint.0.f-error
    19  float OUT             1  joint.0.f-error-lim
    19  bit   OUT         FALSE  joint.0.f-errored
    19  bit   OUT         FALSE  joint.0.faulted
    19  float OUT             0  joint.0.free-pos-cmd
    19  bit   OUT         FALSE  joint.0.free-tp-enable
    19  float OUT             0  joint.0.free-vel-lim
    19  s32   OUT             0  joint.0.home-state
    19  bit   IN          FALSE  joint.0.home-sw-in <== x-home-sw
    19  bit   OUT         FALSE  joint.0.homed
    19  bit   OUT         FALSE  joint.0.homing
    19  bit   OUT          TRUE  joint.0.in-position
    19  bit   I/O         FALSE  joint.0.index-enable
    19  float IN              1  joint.0.jog-accel-fraction
    19  s32   IN              0  joint.0.jog-counts
    19  bit   IN          FALSE  joint.0.jog-enable
    19  float IN              0  joint.0.jog-scale
    19  bit   IN          FALSE  joint.0.jog-vel-mode
    19  bit   OUT         FALSE  joint.0.kb-jog-active
    19  float OUT             0  joint.0.motor-offset
    19  float OUT             0  joint.0.motor-pos-cmd ==> x-pos-cmd
    19  float IN              0  joint.0.motor-pos-fb <== x-pos-fb
    19  bit   OUT         FALSE  joint.0.neg-hard-limit
    19  bit   IN          FALSE  joint.0.neg-lim-sw-in <== both-x
    19  float OUT             0  joint.0.pos-cmd
    19  float OUT             0  joint.0.pos-fb
    19  bit   OUT         FALSE  joint.0.pos-hard-limit
    19  bit   IN          FALSE  joint.0.pos-lim-sw-in <== both-x
    19  float OUT             0  joint.0.vel-cmd ==> x-vel-cmd
    19  bit   OUT         FALSE  joint.0.wheel-jog-active
    19  float OUT             0  joint.1.acc-cmd
    19  bit   OUT          TRUE  joint.1.active
    19  bit   OUT         FALSE  joint.1.amp-enable-out ==> y-enable
    19  bit   IN          FALSE  joint.1.amp-fault-in
    19  float OUT             0  joint.1.backlash-corr
    19  float OUT             0  joint.1.backlash-filt
    19  float OUT             0  joint.1.backlash-vel
    19  float OUT             0  joint.1.coarse-pos-cmd
    19  bit   OUT         FALSE  joint.1.error
    19  float OUT             0  joint.1.f-error
    19  float OUT             1  joint.1.f-error-lim
    19  bit   OUT         FALSE  joint.1.f-errored
    19  bit   OUT         FALSE  joint.1.faulted
    19  float OUT             0  joint.1.free-pos-cmd
    19  bit   OUT         FALSE  joint.1.free-tp-enable
    19  float OUT             0  joint.1.free-vel-lim
    19  s32   OUT             0  joint.1.home-state
    19  bit   IN          FALSE  joint.1.home-sw-in <== y-home-sw
    19  bit   OUT         FALSE  joint.1.homed
    19  bit   OUT         FALSE  joint.1.homing
    19  bit   OUT          TRUE  joint.1.in-position
    19  bit   I/O         FALSE  joint.1.index-enable
    19  float IN              1  joint.1.jog-accel-fraction
    19  s32   IN              0  joint.1.jog-counts
    19  bit   IN          FALSE  joint.1.jog-enable
    19  float IN              0  joint.1.jog-scale
    19  bit   IN          FALSE  joint.1.jog-vel-mode
    19  bit   OUT         FALSE  joint.1.kb-jog-active
    19  float OUT             0  joint.1.motor-offset
    19  float OUT             0  joint.1.motor-pos-cmd ==> y-pos-cmd
    19  float IN              0  joint.1.motor-pos-fb <== y-pos-fb
    19  bit   OUT         FALSE  joint.1.neg-hard-limit
    19  bit   IN          FALSE  joint.1.neg-lim-sw-in <== both-y
    19  float OUT             0  joint.1.pos-cmd
    19  float OUT             0  joint.1.pos-fb
    19  bit   OUT         FALSE  joint.1.pos-hard-limit
    19  bit   IN          FALSE  joint.1.pos-lim-sw-in <== both-y
    19  float OUT             0  joint.1.vel-cmd ==> y-vel-cmd
    19  bit   OUT         FALSE  joint.1.wheel-jog-active
    19  float OUT             0  joint.2.acc-cmd
    19  bit   OUT          TRUE  joint.2.active
    19  bit   OUT         FALSE  joint.2.amp-enable-out ==> z-enable
    19  bit   IN          FALSE  joint.2.amp-fault-in
    19  float OUT             0  joint.2.backlash-corr
    19  float OUT             0  joint.2.backlash-filt
    19  float OUT             0  joint.2.backlash-vel
    19  float OUT             0  joint.2.coarse-pos-cmd
    19  bit   OUT         FALSE  joint.2.error
    19  float OUT             0  joint.2.f-error
    19  float OUT             1  joint.2.f-error-lim
    19  bit   OUT         FALSE  joint.2.f-errored
    19  bit   OUT         FALSE  joint.2.faulted
    19  float OUT             0  joint.2.free-pos-cmd
    19  bit   OUT         FALSE  joint.2.free-tp-enable
    19  float OUT             0  joint.2.free-vel-lim
    19  s32   OUT             0  joint.2.home-state
    19  bit   IN          FALSE  joint.2.home-sw-in <== z-home-sw
    19  bit   OUT         FALSE  joint.2.homed
    19  bit   OUT         FALSE  joint.2.homing
    19  bit   OUT          TRUE  joint.2.in-position
    19  bit   I/O         FALSE  joint.2.index-enable
    19  float IN              1  joint.2.jog-accel-fraction
    19  s32   IN              0  joint.2.jog-counts
    19  bit   IN          FALSE  joint.2.jog-enable
    19  float IN              0  joint.2.jog-scale
    19  bit   IN          FALSE  joint.2.jog-vel-mode
    19  bit   OUT         FALSE  joint.2.kb-jog-active
    19  float OUT             0  joint.2.motor-offset
    19  float OUT             0  joint.2.motor-pos-cmd ==> z-pos-cmd
    19  float IN              0  joint.2.motor-pos-fb <== z-pos-fb
    19  bit   OUT         FALSE  joint.2.neg-hard-limit
    19  bit   IN          FALSE  joint.2.neg-lim-sw-in <== both-z
    19  float OUT             0  joint.2.pos-cmd
    19  float OUT             0  joint.2.pos-fb
    19  bit   OUT         FALSE  joint.2.pos-hard-limit
    19  bit   IN          FALSE  joint.2.pos-lim-sw-in <== both-z
    19  float OUT             0  joint.2.vel-cmd ==> z-vel-cmd
    19  bit   OUT         FALSE  joint.2.wheel-jog-active
    19  s32   OUT            10  motion-command-handler.time
    19  s32   OUT          2079  motion-controller.time
    19  float IN              1  motion.adaptive-feed
    19  float IN              0  motion.analog-in-00
    19  float IN              0  motion.analog-in-01
    19  float IN              0  motion.analog-in-02
    19  float IN              0  motion.analog-in-03
    19  float OUT             0  motion.analog-out-00
    19  float OUT             0  motion.analog-out-01
    19  float OUT             0  motion.analog-out-02
    19  float OUT             0  motion.analog-out-03
    19  bit   OUT         FALSE  motion.coord-error
    19  bit   OUT         FALSE  motion.coord-mode
    19  float OUT             0  motion.current-vel
    19  bit   IN          FALSE  motion.digital-in-00
    19  bit   IN          FALSE  motion.digital-in-01
    19  bit   IN          FALSE  motion.digital-in-02
    19  bit   IN          FALSE  motion.digital-in-03
    19  bit   OUT         FALSE  motion.digital-out-00
    19  bit   OUT         FALSE  motion.digital-out-01
    19  bit   OUT         FALSE  motion.digital-out-02
    19  bit   OUT         FALSE  motion.digital-out-03
    19  float OUT             0  motion.distance-to-go
    19  bit   IN           TRUE  motion.enable
    19  bit   OUT         FALSE  motion.eoffset-active
    19  bit   OUT         FALSE  motion.eoffset-limited
    19  bit   IN          FALSE  motion.feed-hold
    19  bit   IN          FALSE  motion.feed-inhibit
    19  bit   IN          FALSE  motion.homing-inhibit
    19  bit   OUT          TRUE  motion.in-position ==> in-position
    19  bit   OUT         FALSE  motion.motion-enabled ==> machine-is-enabled
    19  s32   OUT             0  motion.motion-type
    19  bit   OUT         FALSE  motion.on-soft-limit
    19  bit   IN          FALSE  motion.probe-input <== probe-in
    19  s32   OUT             0  motion.program-line
    19  float OUT             0  motion.requested-vel
    19  u32   OUT    0x0018FB8F  motion.servo.last-period
    19  bit   OUT         FALSE  motion.teleop-mode
    19  float OUT             0  motion.tooloffset.a
    19  float OUT             0  motion.tooloffset.b
    19  float OUT             0  motion.tooloffset.c
    19  float OUT             0  motion.tooloffset.u
    19  float OUT             0  motion.tooloffset.v
    19  float OUT             0  motion.tooloffset.w
    19  float OUT             0  motion.tooloffset.x
    19  float OUT             0  motion.tooloffset.y
    19  float OUT             0  motion.tooloffset.z
    19  bit   OUT         FALSE  motion.tp-reverse
    29  float IN              0  pid.s.Dgain
    29  float IN              1  pid.s.FF0
    29  float IN              0  pid.s.FF1
    29  float IN              0  pid.s.FF2
    29  float IN              0  pid.s.FF3
    29  float IN              0  pid.s.Igain
    29  float IN              0  pid.s.Pgain
    29  float IN              0  pid.s.bias
    29  float IN              0  pid.s.command <== spindle-vel-cmd-rpm
    29  float IN              0  pid.s.command-deriv
    29  float IN              0  pid.s.deadband
    29  s32   OUT            83  pid.s.do-pid-calcs.time
    29  bit   IN          FALSE  pid.s.enable <== spindle-enable
    29  float OUT             0  pid.s.error
    29  bit   IN           TRUE  pid.s.error-previous-target
    29  float IN              0  pid.s.feedback <== spindle-vel-fb-rpm
    29  float IN              0  pid.s.feedback-deriv
    29  bit   IN          FALSE  pid.s.index-enable <== spindle-index-enable
    29  float IN              0  pid.s.maxcmdD
    29  float IN              0  pid.s.maxcmdDD
    29  float IN              0  pid.s.maxcmdDDD
    29  float IN              0  pid.s.maxerror
    29  float IN              0  pid.s.maxerrorD
    29  float IN              0  pid.s.maxerrorI
    29  float IN           2000  pid.s.maxoutput
    29  float OUT             0  pid.s.output ==> spindle-output
    29  bit   OUT         FALSE  pid.s.saturated
    29  s32   OUT             0  pid.s.saturated-count
    29  float OUT             0  pid.s.saturated-s
    29  float IN              0  pid.x.Dgain
    29  float IN              0  pid.x.FF0
    29  float IN              1  pid.x.FF1
    29  float IN              0  pid.x.FF2
    29  float IN              0  pid.x.FF3
    29  float IN              0  pid.x.Igain
    29  float IN           1000  pid.x.Pgain
    29  float IN              0  pid.x.bias
    29  float IN              0  pid.x.command <== x-pos-cmd
    29  float IN              0  pid.x.command-deriv
    29  float IN              0  pid.x.deadband
    29  s32   OUT            57  pid.x.do-pid-calcs.time
    29  bit   IN          FALSE  pid.x.enable <== x-enable
    29  float OUT             0  pid.x.error
    29  bit   IN           TRUE  pid.x.error-previous-target
    29  float IN              0  pid.x.feedback <== x-pos-fb
    29  float IN              0  pid.x.feedback-deriv
    29  bit   IN          FALSE  pid.x.index-enable <== x-index-enable
    29  float IN              0  pid.x.maxcmdD
    29  float IN              0  pid.x.maxcmdDD
    29  float IN              0  pid.x.maxcmdDDD
    29  float IN         0.0005  pid.x.maxerror
    29  float IN              0  pid.x.maxerrorD
    29  float IN              0  pid.x.maxerrorI
    29  float IN              0  pid.x.maxoutput
    29  float OUT             0  pid.x.output ==> x-output
    29  bit   OUT         FALSE  pid.x.saturated
    29  s32   OUT             0  pid.x.saturated-count
    29  float OUT             0  pid.x.saturated-s
    29  float IN              0  pid.y.Dgain
    29  float IN              0  pid.y.FF0
    29  float IN              1  pid.y.FF1
    29  float IN              0  pid.y.FF2
    29  float IN              0  pid.y.FF3
    29  float IN              0  pid.y.Igain
    29  float IN           1000  pid.y.Pgain
    29  float IN              0  pid.y.bias
    29  float IN              0  pid.y.command <== y-pos-cmd
    29  float IN              0  pid.y.command-deriv
    29  float IN              0  pid.y.deadband
    29  s32   OUT            43  pid.y.do-pid-calcs.time
    29  bit   IN          FALSE  pid.y.enable <== y-enable
    29  float OUT             0  pid.y.error
    29  bit   IN           TRUE  pid.y.error-previous-target
    29  float IN              0  pid.y.feedback <== y-pos-fb
    29  float IN              0  pid.y.feedback-deriv
    29  bit   IN          FALSE  pid.y.index-enable <== y-index-enable
    29  float IN              0  pid.y.maxcmdD
    29  float IN              0  pid.y.maxcmdDD
    29  float IN              0  pid.y.maxcmdDDD
    29  float IN         0.0005  pid.y.maxerror
    29  float IN              0  pid.y.maxerrorD
    29  float IN              0  pid.y.maxerrorI
    29  float IN              0  pid.y.maxoutput
    29  float OUT             0  pid.y.output ==> y-output
    29  bit   OUT         FALSE  pid.y.saturated
    29  s32   OUT             0  pid.y.saturated-count
    29  float OUT             0  pid.y.saturated-s
    29  float IN              0  pid.z.Dgain
    29  float IN              0  pid.z.FF0
    29  float IN              1  pid.z.FF1
    29  float IN              0  pid.z.FF2
    29  float IN              0  pid.z.FF3
    29  float IN              0  pid.z.Igain
    29  float IN           1000  pid.z.Pgain
    29  float IN              0  pid.z.bias
    29  float IN              0  pid.z.command <== z-pos-cmd
    29  float IN              0  pid.z.command-deriv
    29  float IN              0  pid.z.deadband
    29  s32   OUT            49  pid.z.do-pid-calcs.time
    29  bit   IN          FALSE  pid.z.enable <== z-enable
    29  float OUT             0  pid.z.error
    29  bit   IN           TRUE  pid.z.error-previous-target
    29  float IN              0  pid.z.feedback <== z-pos-fb
    29  float IN              0  pid.z.feedback-deriv
    29  bit   IN          FALSE  pid.z.index-enable <== z-index-enable
    29  float IN              0  pid.z.maxcmdD
    29  float IN              0  pid.z.maxcmdDD
    29  float IN              0  pid.z.maxcmdDDD
    29  float IN         0.0005  pid.z.maxerror
    29  float IN              0  pid.z.maxerrorD
    29  float IN              0  pid.z.maxerrorI
    29  float IN              0  pid.z.maxoutput
    29  float OUT             0  pid.z.output ==> z-output
    29  bit   OUT         FALSE  pid.z.saturated
    29  s32   OUT             0  pid.z.saturated-count
    29  float OUT             0  pid.z.saturated-s
    20  s32   OUT        506427  servo-thread.time
    19  bit   IN          FALSE  spindle.0.amp-fault-in
    19  bit   IN           TRUE  spindle.0.at-speed <== spindle-at-speed
    19  bit   OUT          TRUE  spindle.0.brake ==> spindle-brake
    19  bit   OUT         FALSE  spindle.0.forward ==> spindle-cw
    19  bit   I/O         FALSE  spindle.0.index-enable <=> spindle-index-enable
    19  bit   IN          FALSE  spindle.0.inhibit
    19  bit   IN          FALSE  spindle.0.is-oriented
    19  bit   OUT         FALSE  spindle.0.locked
    19  bit   OUT         FALSE  spindle.0.on ==> spindle-enable
    19  bit   OUT         FALSE  spindle.0.orient
    19  float OUT             0  spindle.0.orient-angle
    19  s32   IN              0  spindle.0.orient-fault
    19  s32   OUT             0  spindle.0.orient-mode
    19  bit   OUT         FALSE  spindle.0.reverse ==> spindle-ccw
    19  float IN              0  spindle.0.revs <== spindle-revs
    19  float OUT             0  spindle.0.speed-cmd-rps
    19  float IN              0  spindle.0.speed-in <== spindle-vel-fb-rps
    19  float OUT             0  spindle.0.speed-out ==> spindle-vel-cmd-rpm
    19  float OUT             0  spindle.0.speed-out-abs ==> spindle-vel-cmd-rpm-abs
    19  float OUT             0  spindle.0.speed-out-rps ==> spindle-vel-cmd-rps
    19  float OUT             0  spindle.0.speed-out-rps-abs ==> spindle-vel-cmd-rps-abs

Pin Aliases:
 Alias                                            Original Name

Signals:
Type          Value  Name     (linked to)
bit           FALSE  MDI-mode
                         <== halui.mode.is-mdi
bit           FALSE  axis-select-x
                         ==> halui.axis.x.select
bit           FALSE  axis-select-y
                         ==> halui.axis.y.select
bit           FALSE  axis-select-z
                         ==> halui.axis.z.select
bit           FALSE  both-x
                         <== hm2_7i76e.0.gpio.034.in
                         ==> joint.0.neg-lim-sw-in
                         ==> joint.0.pos-lim-sw-in
bit           FALSE  both-y
                         <== hm2_7i76e.0.gpio.035.in
                         ==> joint.1.neg-lim-sw-in
                         ==> joint.1.pos-lim-sw-in
bit           FALSE  both-z
                         <== hm2_7i76e.0.gpio.036.in
                         ==> joint.2.neg-lim-sw-in
                         ==> joint.2.pos-lim-sw-in
bit           FALSE  coolant-flood
                         <== iocontrol.0.coolant-flood
bit           FALSE  coolant-mist
                         <== iocontrol.0.coolant-mist
bit           FALSE  estop-out
                         ==> iocontrol.0.emc-enable-in
                         <== iocontrol.0.user-enable-out
bit            TRUE  in-position
                         <== motion.in-position
bit           FALSE  jog-selected-neg
                         ==> halui.axis.selected.minus
bit           FALSE  jog-selected-pos
                         ==> halui.axis.selected.plus
float             0  jog-speed
                         ==> halui.axis.jog-speed
float             0  jog-x-analog
                         ==> halui.axis.x.analog
bit           FALSE  jog-x-neg
                         ==> halui.axis.x.minus
bit           FALSE  jog-x-pos
                         ==> halui.axis.x.plus
float             0  jog-y-analog
                         ==> halui.axis.y.analog
bit           FALSE  jog-y-neg
                         ==> halui.axis.y.minus
bit           FALSE  jog-y-pos
                         ==> halui.axis.y.plus
float             0  jog-z-analog
                         ==> halui.axis.z.analog
bit           FALSE  jog-z-neg
                         ==> halui.axis.z.minus
bit           FALSE  jog-z-pos
                         ==> halui.axis.z.plus
bit           FALSE  machine-is-enabled
                         <== motion.motion-enabled
bit           FALSE  machine-is-on
                         <== halui.machine.is-on
bit           FALSE  probe-in
                         ==> motion.probe-input
bit            TRUE  spindle-at-speed
                         ==> spindle.0.at-speed
bit            TRUE  spindle-brake
                         <== spindle.0.brake
bit           FALSE  spindle-ccw
                         <== spindle.0.reverse
bit           FALSE  spindle-cw
                         <== spindle.0.forward
bit           FALSE  spindle-enable
                         ==> pid.s.enable
                         <== spindle.0.on
bit           FALSE  spindle-index-enable
                         ==> pid.s.index-enable
                         <=> spindle.0.index-enable
bit           FALSE  spindle-manual-ccw
                         ==> halui.spindle.0.reverse
bit           FALSE  spindle-manual-cw
                         ==> halui.spindle.0.forward
bit           FALSE  spindle-manual-stop
                         ==> halui.spindle.0.stop
float             0  spindle-output
                         <== pid.s.output
float             0  spindle-revs
                         ==> spindle.0.revs
float             0  spindle-vel-cmd-rpm
                         ==> pid.s.command
                         <== spindle.0.speed-out
float             0  spindle-vel-cmd-rpm-abs
                         <== spindle.0.speed-out-abs
float             0  spindle-vel-cmd-rps
                         <== spindle.0.speed-out-rps
float             0  spindle-vel-cmd-rps-abs
                         <== spindle.0.speed-out-rps-abs
float             0  spindle-vel-fb-rpm
                         ==> pid.s.feedback
float             0  spindle-vel-fb-rps
                         ==> spindle.0.speed-in
bit           FALSE  tool-change-confirmed
                         <== hal_manualtoolchange.changed
                         ==> iocontrol.0.tool-changed
bit           FALSE  tool-change-request
                         ==> hal_manualtoolchange.change
                         <== iocontrol.0.tool-change
s32               0  tool-number
                         ==> hal_manualtoolchange.number
                         <== iocontrol.0.tool-prep-number
bit           FALSE  tool-prepare-loopback
                         <== iocontrol.0.tool-prepare
                         ==> iocontrol.0.tool-prepared
bit           FALSE  x-enable
                         ==> hm2_7i76e.0.stepgen.00.enable
                         <== joint.0.amp-enable-out
                         ==> pid.x.enable
bit           FALSE  x-home-sw
                         ==> joint.0.home-sw-in
bit           FALSE  x-index-enable
                         ==> pid.x.index-enable
bit           FALSE  x-is-homed
                         <== halui.joint.0.is-homed
float             0  x-output
                         ==> hm2_7i76e.0.stepgen.00.velocity-cmd
                         <== pid.x.output
float             0  x-pos-cmd
                         <== joint.0.motor-pos-cmd
                         ==> pid.x.command
float             0  x-pos-fb
                         <== hm2_7i76e.0.stepgen.00.position-fb
                         ==> joint.0.motor-pos-fb
                         ==> pid.x.feedback
float             0  x-vel-cmd
                         <== joint.0.vel-cmd
bit           FALSE  y-enable
                         ==> hm2_7i76e.0.stepgen.01.enable
                         <== joint.1.amp-enable-out
                         ==> pid.y.enable
bit           FALSE  y-home-sw
                         ==> joint.1.home-sw-in
bit           FALSE  y-index-enable
                         ==> pid.y.index-enable
bit           FALSE  y-is-homed
                         <== halui.joint.1.is-homed
float             0  y-output
                         ==> hm2_7i76e.0.stepgen.01.velocity-cmd
                         <== pid.y.output
float             0  y-pos-cmd
                         <== joint.1.motor-pos-cmd
                         ==> pid.y.command
float             0  y-pos-fb
                         <== hm2_7i76e.0.stepgen.01.position-fb
                         ==> joint.1.motor-pos-fb
                         ==> pid.y.feedback
float             0  y-vel-cmd
                         <== joint.1.vel-cmd
bit           FALSE  z-enable
                         ==> hm2_7i76e.0.stepgen.02.enable
                         <== joint.2.amp-enable-out
                         ==> pid.z.enable
bit           FALSE  z-home-sw
                         ==> joint.2.home-sw-in
bit           FALSE  z-index-enable
                         ==> pid.z.index-enable
bit           FALSE  z-is-homed
                         <== halui.joint.2.is-homed
float             0  z-output
                         ==> hm2_7i76e.0.stepgen.02.velocity-cmd
                         <== pid.z.output
float             0  z-pos-cmd
                         <== joint.2.motor-pos-cmd
                         ==> pid.z.command
float             0  z-pos-fb
                         <== hm2_7i76e.0.stepgen.02.position-fb
                         ==> joint.2.motor-pos-fb
                         ==> pid.z.feedback
float             0  z-vel-cmd
                         <== joint.2.vel-cmd

Parameters:
Owner   Type  Dir         Value  Name
    26  u32   RO     0x00000000  hm2_7i76e.0.7i76.0.0.analogin0
    26  u32   RO     0x00000000  hm2_7i76e.0.7i76.0.0.analogin1
    26  u32   RO     0x00000000  hm2_7i76e.0.7i76.0.0.analogin2
    26  u32   RO     0x00000000  hm2_7i76e.0.7i76.0.0.analogin3
    26  u32   RO     0x00000000  hm2_7i76e.0.7i76.0.0.encmode0
    26  u32   RO     0x00000000  hm2_7i76e.0.7i76.0.0.encmode1
    26  u32   RO     0x00000000  hm2_7i76e.0.7i76.0.0.fieldvoltage
    26  u32   RW     0x00000001  hm2_7i76e.0.7i76.0.0.hwrevision
    26  u32   RW     0x00000009  hm2_7i76e.0.7i76.0.0.nvbaudrate
    26  u32   RO     0x00000000  hm2_7i76e.0.7i76.0.0.nvencmode0
    26  u32   RO     0x00000000  hm2_7i76e.0.7i76.0.0.nvencmode1
    26  u32   RO     0x1A0005C5  hm2_7i76e.0.7i76.0.0.nvunitnumber
    26  u32   RO     0x00000032  hm2_7i76e.0.7i76.0.0.nvwatchdogtimeout
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-00-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-01-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-02-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-03-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-04-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-05-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-06-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-07-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-08-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-09-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-10-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-11-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-12-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-13-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-14-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.output-15-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.spindir-invert
    26  bit   RW          FALSE  hm2_7i76e.0.7i76.0.0.spinena-invert
    26  float RW            100  hm2_7i76e.0.7i76.0.0.spinout-maxlim
    26  float RW              0  hm2_7i76e.0.7i76.0.0.spinout-minlim
    26  float RW            100  hm2_7i76e.0.7i76.0.0.spinout-scalemax
    26  u32   RW     0x0000000E  hm2_7i76e.0.7i76.0.0.swrevision
    26  bit   RW          FALSE  hm2_7i76e.0.encoder.00.counter-mode
    26  bit   RW           TRUE  hm2_7i76e.0.encoder.00.filter
    26  bit   RW          FALSE  hm2_7i76e.0.encoder.00.index-invert
    26  bit   RW          FALSE  hm2_7i76e.0.encoder.00.index-mask
    26  bit   RW          FALSE  hm2_7i76e.0.encoder.00.index-mask-invert
    26  float RW              1  hm2_7i76e.0.encoder.00.scale
    26  float RW            0.5  hm2_7i76e.0.encoder.00.vel-timeout
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.012.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.012.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.012.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.013.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.013.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.013.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.017.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.017.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.017.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.018.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.018.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.018.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.019.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.019.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.019.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.020.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.020.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.020.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.021.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.021.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.021.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.022.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.022.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.022.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.023.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.023.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.023.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.024.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.024.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.024.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.025.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.025.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.025.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.026.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.026.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.026.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.027.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.027.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.027.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.028.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.028.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.028.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.029.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.029.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.029.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.030.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.030.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.030.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.031.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.031.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.031.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.032.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.032.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.032.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.033.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.033.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.033.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.034.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.034.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.034.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.035.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.035.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.035.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.036.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.036.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.036.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.037.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.037.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.037.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.038.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.038.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.038.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.039.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.039.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.039.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.040.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.040.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.040.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.041.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.041.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.041.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.042.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.042.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.042.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.043.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.043.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.043.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.044.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.044.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.044.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.045.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.045.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.045.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.046.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.046.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.046.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.047.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.047.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.047.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.048.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.048.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.048.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.049.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.049.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.049.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.050.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.050.is_opendrain
    26  bit   RW          FALSE  hm2_7i76e.0.gpio.050.is_output
    26  bit   RW          FALSE  hm2_7i76e.0.io_error
    26  s32   RO              1  hm2_7i76e.0.packet-error-decrement
    26  s32   RW              2  hm2_7i76e.0.packet-error-increment
    26  s32   RW             10  hm2_7i76e.0.packet-error-limit
    26  s32   RW             80  hm2_7i76e.0.packet-read-timeout
    26  s32   RW              0  hm2_7i76e.0.read-request.tmax
    26  bit   RO          FALSE  hm2_7i76e.0.read-request.tmax-increased
    26  s32   RW        1010386  hm2_7i76e.0.read.tmax
    26  bit   RO          FALSE  hm2_7i76e.0.read.tmax-increased
    26  bit   RW          FALSE  hm2_7i76e.0.sserial.00.tx0.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.sserial.00.tx0.is_opendrain
    26  u32   RW     0x00000001  hm2_7i76e.0.sserial.port-0.fault-dec
    26  u32   RW     0x0000000A  hm2_7i76e.0.sserial.port-0.fault-inc
    26  u32   RW     0x000000C8  hm2_7i76e.0.sserial.port-0.fault-lim
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.00.direction.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.00.direction.is_opendrain
    26  u32   RW     0x00002710  hm2_7i76e.0.stepgen.00.dirhold
    26  u32   RW     0x00002710  hm2_7i76e.0.stepgen.00.dirsetup
    26  float RW          937.5  hm2_7i76e.0.stepgen.00.maxaccel
    26  float RW          31.25  hm2_7i76e.0.stepgen.00.maxvel
    26  float RW             40  hm2_7i76e.0.stepgen.00.position-scale
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.00.step.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.00.step.is_opendrain
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.00.step_type
    26  u32   RW     0x00001388  hm2_7i76e.0.stepgen.00.steplen
    26  u32   RW     0x00001388  hm2_7i76e.0.stepgen.00.stepspace
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.00.table-data-0
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.00.table-data-1
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.00.table-data-2
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.00.table-data-3
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.01.direction.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.01.direction.is_opendrain
    26  u32   RW     0x00002710  hm2_7i76e.0.stepgen.01.dirhold
    26  u32   RW     0x00002710  hm2_7i76e.0.stepgen.01.dirsetup
    26  float RW          937.5  hm2_7i76e.0.stepgen.01.maxaccel
    26  float RW          31.25  hm2_7i76e.0.stepgen.01.maxvel
    26  float RW             40  hm2_7i76e.0.stepgen.01.position-scale
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.01.step.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.01.step.is_opendrain
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.01.step_type
    26  u32   RW     0x00001388  hm2_7i76e.0.stepgen.01.steplen
    26  u32   RW     0x00001388  hm2_7i76e.0.stepgen.01.stepspace
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.01.table-data-0
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.01.table-data-1
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.01.table-data-2
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.01.table-data-3
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.02.direction.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.02.direction.is_opendrain
    26  u32   RW     0x00002710  hm2_7i76e.0.stepgen.02.dirhold
    26  u32   RW     0x00002710  hm2_7i76e.0.stepgen.02.dirsetup
    26  float RW          937.5  hm2_7i76e.0.stepgen.02.maxaccel
    26  float RW          31.25  hm2_7i76e.0.stepgen.02.maxvel
    26  float RW             40  hm2_7i76e.0.stepgen.02.position-scale
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.02.step.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.02.step.is_opendrain
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.02.step_type
    26  u32   RW     0x00001388  hm2_7i76e.0.stepgen.02.steplen
    26  u32   RW     0x00001388  hm2_7i76e.0.stepgen.02.stepspace
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.02.table-data-0
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.02.table-data-1
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.02.table-data-2
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.02.table-data-3
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.03.direction.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.03.direction.is_opendrain
    26  u32   RW     0x00027FF6  hm2_7i76e.0.stepgen.03.dirhold
    26  u32   RW     0x00027FF6  hm2_7i76e.0.stepgen.03.dirsetup
    26  float RW              1  hm2_7i76e.0.stepgen.03.maxaccel
    26  float RW              0  hm2_7i76e.0.stepgen.03.maxvel
    26  float RW              1  hm2_7i76e.0.stepgen.03.position-scale
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.03.step.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.03.step.is_opendrain
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.03.step_type
    26  u32   RW     0x00027FF6  hm2_7i76e.0.stepgen.03.steplen
    26  u32   RW     0x00027FF6  hm2_7i76e.0.stepgen.03.stepspace
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.03.table-data-0
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.03.table-data-1
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.03.table-data-2
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.03.table-data-3
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.04.direction.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.04.direction.is_opendrain
    26  u32   RW     0x00027FF6  hm2_7i76e.0.stepgen.04.dirhold
    26  u32   RW     0x00027FF6  hm2_7i76e.0.stepgen.04.dirsetup
    26  float RW              1  hm2_7i76e.0.stepgen.04.maxaccel
    26  float RW              0  hm2_7i76e.0.stepgen.04.maxvel
    26  float RW              1  hm2_7i76e.0.stepgen.04.position-scale
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.04.step.invert_output
    26  bit   RW          FALSE  hm2_7i76e.0.stepgen.04.step.is_opendrain
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.04.step_type
    26  u32   RW     0x00027FF6  hm2_7i76e.0.stepgen.04.steplen
    26  u32   RW     0x00027FF6  hm2_7i76e.0.stepgen.04.stepspace
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.04.table-data-0
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.04.table-data-1
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.04.table-data-2
    26  u32   RW     0x00000000  hm2_7i76e.0.stepgen.04.table-data-3
    26  u32   RW     0x004C4B40  hm2_7i76e.0.watchdog.timeout_ns
    26  s32   RW          96517  hm2_7i76e.0.write.tmax
    26  bit   RO          FALSE  hm2_7i76e.0.write.tmax-increased
     4  s32   RO              0  iocontrol.0.tool-prep-index
    19  s32   RW          52591  motion-command-handler.tmax
    19  bit   RO          FALSE  motion-command-handler.tmax-increased
    19  s32   RW          83969  motion-controller.tmax
    19  bit   RO          FALSE  motion-controller.tmax-increased
    19  bit   RO          FALSE  motion.debug-bit-0
    19  bit   RO          FALSE  motion.debug-bit-1
    19  float RO              0  motion.debug-float-0
    19  float RO              0  motion.debug-float-1
    19  float RO              0  motion.debug-float-2
    19  float RO              1  motion.debug-float-3
    19  s32   RO              0  motion.debug-s32-0
    19  s32   RO              0  motion.debug-s32-1
    29  s32   RW          53646  pid.s.do-pid-calcs.tmax
    29  bit   RO          FALSE  pid.s.do-pid-calcs.tmax-increased
    29  s32   RW          34587  pid.x.do-pid-calcs.tmax
    29  bit   RO          FALSE  pid.x.do-pid-calcs.tmax-increased
    29  s32   RW          33098  pid.y.do-pid-calcs.tmax
    29  bit   RO          FALSE  pid.y.do-pid-calcs.tmax-increased
    29  s32   RW          51292  pid.z.do-pid-calcs.tmax
    29  bit   RO          FALSE  pid.z.do-pid-calcs.tmax-increased
    20  s32   RW        1017906  servo-thread.tmax
    19  float RO              0  tc.0.acc
    19  float RO              0  tc.0.pos
    19  float RO              0  tc.0.vel
    19  float RO              0  tc.1.acc
    19  float RO              0  tc.1.pos
    19  float RO              0  tc.1.vel
    19  float RO              0  tc.2.acc
    19  float RO              0  tc.2.pos
    19  float RO              0  tc.2.vel
    19  float RO              0  tc.3.acc
    19  float RO              0  tc.3.pos
    19  float RO              0  tc.3.vel
    19  u32   RO     0x00000000  traj.active_tc
    19  float RO              0  traj.pos_out
    19  float RO              0  traj.vel_out

Parameter Aliases:
 Alias                                            Original Name
 hm2_7i76e.0.sserial.00.tx0.invert_output         hm2_7i76e.0.gpio.010.invert_output
 hm2_7i76e.0.sserial.00.tx0.is_opendrain          hm2_7i76e.0.gpio.010.is_opendrain
 hm2_7i76e.0.stepgen.00.direction.invert_output   hm2_7i76e.0.gpio.000.invert_output
 hm2_7i76e.0.stepgen.00.direction.is_opendrain    hm2_7i76e.0.gpio.000.is_opendrain
 hm2_7i76e.0.stepgen.00.step.invert_output        hm2_7i76e.0.gpio.001.invert_output
 hm2_7i76e.0.stepgen.00.step.is_opendrain         hm2_7i76e.0.gpio.001.is_opendrain
 hm2_7i76e.0.stepgen.01.direction.invert_output   hm2_7i76e.0.gpio.002.invert_output
 hm2_7i76e.0.stepgen.01.direction.is_opendrain    hm2_7i76e.0.gpio.002.is_opendrain
 hm2_7i76e.0.stepgen.01.step.invert_output        hm2_7i76e.0.gpio.003.invert_output
 hm2_7i76e.0.stepgen.01.step.is_opendrain         hm2_7i76e.0.gpio.003.is_opendrain
 hm2_7i76e.0.stepgen.02.direction.invert_output   hm2_7i76e.0.gpio.004.invert_output
 hm2_7i76e.0.stepgen.02.direction.is_opendrain    hm2_7i76e.0.gpio.004.is_opendrain
 hm2_7i76e.0.stepgen.02.step.invert_output        hm2_7i76e.0.gpio.005.invert_output
 hm2_7i76e.0.stepgen.02.step.is_opendrain         hm2_7i76e.0.gpio.005.is_opendrain
 hm2_7i76e.0.stepgen.03.direction.invert_output   hm2_7i76e.0.gpio.006.invert_output
 hm2_7i76e.0.stepgen.03.direction.is_opendrain    hm2_7i76e.0.gpio.006.is_opendrain
 hm2_7i76e.0.stepgen.03.step.invert_output        hm2_7i76e.0.gpio.007.invert_output
 hm2_7i76e.0.stepgen.03.step.is_opendrain         hm2_7i76e.0.gpio.007.is_opendrain
 hm2_7i76e.0.stepgen.04.direction.invert_output   hm2_7i76e.0.gpio.008.invert_output
 hm2_7i76e.0.stepgen.04.direction.is_opendrain    hm2_7i76e.0.gpio.008.is_opendrain
 hm2_7i76e.0.stepgen.04.step.invert_output        hm2_7i76e.0.gpio.009.invert_output
 hm2_7i76e.0.stepgen.04.step.is_opendrain         hm2_7i76e.0.gpio.009.is_opendrain

Exported Functions:
Owner   CodeAddr  Arg       FP   Users  Name
 00026  7fee239df7b5  55bd05587b60  YES      1   hm2_7i76e.0.read
 00026  7fee239df741  55bd05587b60  YES      0   hm2_7i76e.0.read-request
 00026  7fee239df626  55bd05587b60  YES      1   hm2_7i76e.0.write
 00019  7fee23ea7aaa  00000000  YES      1   motion-command-handler
 00019  7fee23eab43a  00000000  YES      1   motion-controller
 00029  7fee235ccd6a  7fee263f7a98  YES      1   pid.s.do-pid-calcs
 00029  7fee235ccd6a  7fee263f76d8  YES      1   pid.x.do-pid-calcs
 00029  7fee235ccd6a  7fee263f7818  YES      1   pid.y.do-pid-calcs
 00029  7fee235ccd6a  7fee263f7958  YES      1   pid.z.do-pid-calcs

Realtime Threads:
     Period  FP     Name               (     Time, Max-Time )
    1000000  YES          servo-thread (   506427,  1017906 )
                  1 hm2_7i76e.0.read
                  2 motion-command-handler
                  3 motion-controller
                  4 pid.x.do-pid-calcs
                  5 pid.y.do-pid-calcs
                  6 pid.z.do-pid-calcs
                  7 pid.s.do-pid-calcs
                  8 hm2_7i76e.0.write

I attached my hal and ini. I tried the pins like hm2_7i76e.0.7i76.0.0.input-xx where xx is the number, e. g. 00 and hm2_7i76e.0.gpio.xxx.in where xxx is the number, e. g. 000. Do I need to connect field power to all input pins while powering up the mesa board?

A second problem I have with this configuration is the message <2hm2/hm2_7i76e.0: Smart serial card hm2_7i76e.0.7i76.0.0.remote nerror = (29) Under voltage when I start linuxcnc. How can I solve this? Disable the smart serial port in linuxcnc config?
Attachments:

Please Log in or Create an account to join the conversation.

  • anli
  • anli's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
06 Jun 2020 07:00 #170316 by anli
OK, I found the solution: W1 was set in the wrong position. I use the field power connector TB1 and W1 was set to 2-3. If I set W1 to 1-2 (VIN CON) everything works well. Thanks a lot for your help!

Please Log in or Create an account to join the conversation.

More
06 Jun 2020 08:31 #170319 by bbsr_5a
the default setting is for safty reason and gives lots of people headbangs to find this
as so many do not read the Manual ,woudt be fine to get a quick one Page Info Jumpers,power,ip

Please Log in or Create an account to join the conversation.

  • anli
  • anli's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
06 Jun 2020 15:59 #170374 by anli
Hm, I read the manual, but maybe didn't understand it. I connected TB1.5 to +24VDC and TB1.8 to GND and thought then setting W1 to 2-3 (VIN SEP) would be right.

Please Log in or Create an account to join the conversation.

More
06 Jun 2020 17:12 #170379 by PCW
I think you have things backwards

Field power for I/O should go to TB1 pin 1 (2,3,4) and pin 5 (VIN)
should be left open if W1 is in the left hand position.

Otherwise you are powering the outputs (which might draw 2 A or more)
via the jumper W1

Please Log in or Create an account to join the conversation.

  • anli
  • anli's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
07 Jun 2020 10:15 #170464 by anli
Hi Peter, OK, thank you, got it!

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.078 seconds
Powered by Kunena Forum