7i76e with PWM, 4 step gen AND TB5 and TB6

10 May 2022 00:15 #242437 by koopa
I'm curious on not needing to flash a firmware. I would have preferred not flashing '7i76e_7i76x1pD'. But without doing so I could not change PWM generators from 0 to 1 with the default 7i76e firmware.

Having said that, with this firmware flashed, and the PWM now used for SpindlePWM, when starting I get the error:

parameter or pin 'hm2_7i76.0.pwmgen.pwm_frequency' not found

Despite having the PWM frequency set to 10,000.


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

10 May 2022 00:20 #242439 by andypugh

parameter or pin 'hm2_7i76.0.pwmgen.pwm_frequency' not found

That is suggesting that the pin does not exist. Is it possible that the line is in the HAL too early, before the driver has loaded? 

Are yo sure that it shouldn't be hm2_7i76.0.pwmgen.00.pwm_frequency ? 

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

10 May 2022 00:33 #242440 by koopa
Here's the HAL generated by pncconf
# Generated by PNCconf at Mon May  9 20:00:07 2022
# Using LinuxCNC version:  2.8
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadusr -Wn pyvcp pyvcp -c pyvcp [DISPLAY](PYVCP)
source postgui_call_list.hal
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip="" config=" num_encoders=1 num_pwmgens=1 num_stepgens=4 sserial_port_0=00xxxx" 
setp    hm2_7i76.0.pwmgen.pwm_frequency 20000
setp    hm2_7i76.0.pwmgen.pdm_frequency 6000000
setp    hm2_7i76.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.y2,pid.z,pid.s
loadrt abs names=abs.spindle
loadrt lowpass names=lowpass.spindle

addf hm2_7i76.0.read          servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf pid.x.do-pid-calcs       servo-thread
addf pid.y.do-pid-calcs       servo-thread
addf pid.y2.do-pid-calcs       servo-thread
addf pid.z.do-pid-calcs       servo-thread
addf pid.s.do-pid-calcs       servo-thread
addf abs.spindle              servo-thread
addf lowpass.spindle          servo-thread
addf hm2_7i76.0.write         servo-thread

# external output signals

setp hm2_7i76.0.gpio.048.is_output true
net machine-is-enabled  =>     hm2_7i76.0.gpio.048.out

# external input signals

# --- MAX-HOME-X ---
net max-home-x     <=  hm2_7i76.0.gpio.024.in

# --- MAX-HOME-Y ---
net max-home-y     <=  hm2_7i76.0.gpio.025.in

# --- MAX-HOME-Z ---
net max-home-z     <=  hm2_7i76.0.gpio.026.in


setp   pid.x.Pgain     [JOINT_0]P
setp   pid.x.Igain     [JOINT_0]I
setp   pid.x.Dgain     [JOINT_0]D
setp   pid.x.bias      [JOINT_0]BIAS
setp   pid.x.FF0       [JOINT_0]FF0
setp   pid.x.FF1       [JOINT_0]FF1
setp   pid.x.FF2       [JOINT_0]FF2
setp   pid.x.deadband  [JOINT_0]DEADBAND
setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT
setp   pid.x.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.x.maxerror 0.012700

net x-index-enable  <=> pid.x.index-enable
net x-enable        =>  pid.x.enable
net x-pos-cmd       =>  pid.x.command
net x-pos-fb        =>  pid.x.feedback
net x-output        <=  pid.x.output

# Step Gen signals/setup

setp   hm2_7i76.0.stepgen.00.dirsetup        [JOINT_0]DIRSETUP
setp   hm2_7i76.0.stepgen.00.dirhold         [JOINT_0]DIRHOLD
setp   hm2_7i76.0.stepgen.00.steplen         [JOINT_0]STEPLEN
setp   hm2_7i76.0.stepgen.00.stepspace       [JOINT_0]STEPSPACE
setp   hm2_7i76.0.stepgen.00.position-scale  [JOINT_0]STEP_SCALE
setp   hm2_7i76.0.stepgen.00.step_type        0
setp   hm2_7i76.0.stepgen.00.control-type     1
setp   hm2_7i76.0.stepgen.00.maxaccel         [JOINT_0]STEPGEN_MAXACCEL
setp   hm2_7i76.0.stepgen.00.maxvel           [JOINT_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd    <= joint.0.motor-pos-cmd
net x-vel-cmd    <= joint.0.vel-cmd
net x-output     <= hm2_7i76.0.stepgen.00.velocity-cmd
net x-pos-fb     <= hm2_7i76.0.stepgen.00.position-fb
net x-pos-fb     => joint.0.motor-pos-fb
net x-enable     <= joint.0.amp-enable-out
net x-enable     => hm2_7i76.0.stepgen.00.enable

# ---setup home / limit switch signals---

net max-home-x     =>  joint.0.home-sw-in
net x-neg-limit     =>  joint.0.neg-lim-sw-in
net max-home-x     =>  joint.0.pos-lim-sw-in


setp   pid.y.Pgain     [JOINT_1]P
setp   pid.y.Igain     [JOINT_1]I
setp   pid.y.Dgain     [JOINT_1]D
setp   pid.y.bias      [JOINT_1]BIAS
setp   pid.y.FF0       [JOINT_1]FF0
setp   pid.y.FF1       [JOINT_1]FF1
setp   pid.y.FF2       [JOINT_1]FF2
setp   pid.y.deadband  [JOINT_1]DEADBAND
setp   pid.y.maxoutput [JOINT_1]MAX_OUTPUT
setp   pid.y.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.y.maxerror 0.012700

net y-index-enable  <=> pid.y.index-enable
net y-enable        =>  pid.y.enable
net y-pos-cmd       =>  pid.y.command
net y-pos-fb        =>  pid.y.feedback
net y-output        <=  pid.y.output

# Step Gen signals/setup

setp   hm2_7i76.0.stepgen.01.dirsetup        [JOINT_1]DIRSETUP
setp   hm2_7i76.0.stepgen.01.dirhold         [JOINT_1]DIRHOLD
setp   hm2_7i76.0.stepgen.01.steplen         [JOINT_1]STEPLEN
setp   hm2_7i76.0.stepgen.01.stepspace       [JOINT_1]STEPSPACE
setp   hm2_7i76.0.stepgen.01.position-scale  [JOINT_1]STEP_SCALE
setp   hm2_7i76.0.stepgen.01.step_type        0
setp   hm2_7i76.0.stepgen.01.control-type     1
setp   hm2_7i76.0.stepgen.01.maxaccel         [JOINT_1]STEPGEN_MAXACCEL
setp   hm2_7i76.0.stepgen.01.maxvel           [JOINT_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y-pos-cmd    <= joint.1.motor-pos-cmd
net y-vel-cmd    <= joint.1.vel-cmd
net y-output     <= hm2_7i76.0.stepgen.01.velocity-cmd
net y-pos-fb     <= hm2_7i76.0.stepgen.01.position-fb
net y-pos-fb     => joint.1.motor-pos-fb
net y-enable     <= joint.1.amp-enable-out
net y-enable     => hm2_7i76.0.stepgen.01.enable

# ---setup home / limit switch signals---

net max-home-y     =>  joint.1.home-sw-in
net y-neg-limit     =>  joint.1.neg-lim-sw-in
net max-home-y     =>  joint.1.pos-lim-sw-in

#  Tandem AXIS Y2 JOINT 2

setp   pid.y2.Pgain     [JOINT_2]P
setp   pid.y2.Igain     [JOINT_2]I
setp   pid.y2.Dgain     [JOINT_2]D
setp   pid.y2.bias      [JOINT_2]BIAS
setp   pid.y2.FF0       [JOINT_2]FF0
setp   pid.y2.FF1       [JOINT_2]FF1
setp   pid.y2.FF2       [JOINT_2]FF2
setp   pid.y2.deadband  [JOINT_2]DEADBAND
setp   pid.y2.maxoutput [JOINT_2]MAX_OUTPUT
setp   pid.y2.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.y2.maxerror 0.012700

net y2-index-enable  <=> pid.y2.index-enable
net y2-enable        =>  pid.y2.enable
net y2-pos-cmd       =>  pid.y2.command
net y2-pos-fb        =>  pid.y2.feedback
net y2-output        <=  pid.y2.output

# Step Gen signals/setup for tandem axis

setp   hm2_7i76.0.stepgen.02.dirsetup        [JOINT_2]DIRSETUP
setp   hm2_7i76.0.stepgen.02.dirhold         [JOINT_2]DIRHOLD
setp   hm2_7i76.0.stepgen.02.steplen         [JOINT_2]STEPLEN
setp   hm2_7i76.0.stepgen.02.stepspace       [JOINT_2]STEPSPACE
setp   hm2_7i76.0.stepgen.02.position-scale  [JOINT_2]STEP_SCALE
setp   hm2_7i76.0.stepgen.02.step_type        0
setp   hm2_7i76.0.stepgen.02.control-type     1
setp   hm2_7i76.0.stepgen.02.maxaccel         [JOINT_2]STEPGEN_MAXACCEL
setp   hm2_7i76.0.stepgen.02.maxvel           [JOINT_2]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y2-pos-cmd    <= joint.2.motor-pos-cmd
net y2-vel-cmd    <= joint.2.vel-cmd
net y2-output     <= hm2_7i76.0.stepgen.02.velocity-cmd
net y2-pos-fb     <= hm2_7i76.0.stepgen.02.position-fb
net y2-pos-fb     => joint.2.motor-pos-fb
net y2-enable     <= joint.2.amp-enable-out
net y2-enable     => hm2_7i76.0.stepgen.02.enable

# ---setup home / limit switch signals---

net y2-home-sw     =>  joint.2.home-sw-in
net y2-neg-limit     =>  joint.2.neg-lim-sw-in
net y2-pos-limit     =>  joint.2.pos-lim-sw-in


setp   pid.z.Pgain     [JOINT_3]P
setp   pid.z.Igain     [JOINT_3]I
setp   pid.z.Dgain     [JOINT_3]D
setp   pid.z.bias      [JOINT_3]BIAS
setp   pid.z.FF0       [JOINT_3]FF0
setp   pid.z.FF1       [JOINT_3]FF1
setp   pid.z.FF2       [JOINT_3]FF2
setp   pid.z.deadband  [JOINT_3]DEADBAND
setp   pid.z.maxoutput [JOINT_3]MAX_OUTPUT
setp   pid.z.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.z.maxerror 0.012700

net z-index-enable  <=> pid.z.index-enable
net z-enable        =>  pid.z.enable
net z-pos-cmd       =>  pid.z.command
net z-pos-fb        =>  pid.z.feedback
net z-output        <=  pid.z.output

# Step Gen signals/setup

setp   hm2_7i76.0.stepgen.03.dirsetup        [JOINT_3]DIRSETUP
setp   hm2_7i76.0.stepgen.03.dirhold         [JOINT_3]DIRHOLD
setp   hm2_7i76.0.stepgen.03.steplen         [JOINT_3]STEPLEN
setp   hm2_7i76.0.stepgen.03.stepspace       [JOINT_3]STEPSPACE
setp   hm2_7i76.0.stepgen.03.position-scale  [JOINT_3]STEP_SCALE
setp   hm2_7i76.0.stepgen.03.step_type        0
setp   hm2_7i76.0.stepgen.03.control-type     1
setp   hm2_7i76.0.stepgen.03.maxaccel         [JOINT_3]STEPGEN_MAXACCEL
setp   hm2_7i76.0.stepgen.03.maxvel           [JOINT_3]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net z-pos-cmd    <= joint.3.motor-pos-cmd
net z-vel-cmd    <= joint.3.vel-cmd
net z-output     <= hm2_7i76.0.stepgen.03.velocity-cmd
net z-pos-fb     <= hm2_7i76.0.stepgen.03.position-fb
net z-pos-fb     => joint.3.motor-pos-fb
net z-enable     <= joint.3.amp-enable-out
net z-enable     => hm2_7i76.0.stepgen.03.enable

# ---setup home / limit switch signals---

net max-home-z     =>  joint.3.home-sw-in
net z-neg-limit     =>  joint.3.neg-lim-sw-in
net max-home-z     =>  joint.3.pos-lim-sw-in


setp   pid.s.Pgain     [SPINDLE_0]P
setp   pid.s.Igain     [SPINDLE_0]I
setp   pid.s.Dgain     [SPINDLE_0]D
setp   pid.s.bias      [SPINDLE_0]BIAS
setp   pid.s.FF0       [SPINDLE_0]FF0
setp   pid.s.FF1       [SPINDLE_0]FF1
setp   pid.s.FF2       [SPINDLE_0]FF2
setp   pid.s.deadband  [SPINDLE_0]DEADBAND
setp   pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT
setp   pid.s.error-previous-target true

net spindle-index-enable  <=> pid.s.index-enable
net spindle-enable        =>  pid.s.enable
net spindle-vel-cmd-rpm-abs     => pid.s.command
net spindle-vel-fb-rpm-abs      => pid.s.feedback
net spindle-output        <=  pid.s.output

# ---PWM Generator signals/setup---

setp   hm2_7i76.0.pwmgen.00.output-type 1
setp   hm2_7i76.0.pwmgen.00.scale  [SPINDLE_0]OUTPUT_SCALE

net spindle-vel-cmd-rpm     => hm2_7i76.0.pwmgen.00.value
net spindle-enable      => hm2_7i76.0.pwmgen.00.enable

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs    <=  spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm        <=  spindle.0.speed-out
net spindle-vel-cmd-rpm-abs    <=  spindle.0.speed-out-abs
net spindle-enable             <=  spindle.0.on
net spindle-cw                 <=  spindle.0.forward
net spindle-ccw                <=  spindle.0.reverse
net spindle-brake              <=  spindle.0.brake
net spindle-revs               =>  spindle.0.revs
net spindle-at-speed           =>  spindle.0.at-speed
net spindle-vel-fb-rps         =>  spindle.0.speed-in
net spindle-index-enable      <=>  spindle.0.index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true

# connect miscellaneous signals

#  ---HALUI signals---

net axis-select-x  halui.axis.x.select
net jog-x-pos      halui.axis.x.plus
net jog-x-neg      halui.axis.x.minus
net jog-x-analog   halui.axis.x.analog
net x-is-homed     halui.joint.0.is-homed
net axis-select-y  halui.axis.y.select
net jog-y-pos      halui.axis.y.plus
net jog-y-neg      halui.axis.y.minus
net jog-y-analog   halui.axis.y.analog
net y-is-homed     halui.joint.1.is-homed
net axis-select-z  halui.axis.z.select
net jog-z-pos      halui.axis.z.plus
net jog-z-neg      halui.axis.z.minus
net jog-z-analog   halui.axis.z.analog
net z-is-homed     halui.joint.2.is-homed
net jog-selected-pos      halui.axis.selected.plus
net jog-selected-neg      halui.axis.selected.minus
net spindle-manual-cw     halui.spindle.0.forward
net spindle-manual-ccw    halui.spindle.0.reverse
net spindle-manual-stop   halui.spindle.0.stop
net machine-is-on         halui.machine.is-on
net jog-speed             halui.axis.jog-speed
net MDI-mode              halui.mode.is-mdi

#  ---coolant signals---

net coolant-mist      <=  iocontrol.0.coolant-mist
net coolant-flood     <=  iocontrol.0.coolant-flood

#  ---probe signal---

net probe-in     =>  motion.probe-input

#  ---motion control signals---

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

#  ---digital in / out signals---

#  ---estop signals---

net estop-out     <=  iocontrol.0.user-enable-out
net estop-out     =>  iocontrol.0.emc-enable-in

#  ---manual tool change signals---

loadusr -W hal_manualtoolchange
net tool-change-request     iocontrol.0.tool-change       =>  hal_manualtoolchange.change
net tool-change-confirmed   iocontrol.0.tool-changed      <=  hal_manualtoolchange.changed
net tool-number             iocontrol.0.tool-prep-number  =>  hal_manualtoolchange.number
net tool-prepare-loopback   iocontrol.0.tool-prepare      =>  iocontrol.0.tool-prepared

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

10 May 2022 23:40 #242538 by andypugh
Without LinuxCNC running, open a terminal and run some HAL commands by hand.

loadrt hostmot2
loadrt hm2_eth board_ip=""
show pin

Paste the results here.

Are you supplying power to the 7i76 field power connector?

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

11 May 2022 00:55 #242547 by koopa
Yes, I have field power going per this diagram : i.imgur.com/35HNUZS.png
greg@cutty:~/linuxcnc/configs/shapeoko$ halrun
halcmd: loadrt hostmot2
Note: Using POSIX realtime
hm2: loading Mesa HostMot2 driver version 0.15
halcmd: loadrt hm2_eth board_ip="
<stdin>:2: unterminated quoted string
halcmd: loadrt hm2_eth board_ip=""
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: INFO: Hardware address (MAC): 00:60:1b:10:4c:54
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): PWMGen #0, pin Out1 (Dir or Down) (Output)
hm2/hm2_7i76e.0:     IO Pin 009 (P1-06): PWMGen #0, pin Out0 (PWM or Up) (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

halcmd: show pin
Component Pins:
Owner   Type  Dir         Value  Name
     7  s32   OUT             0  hm2_7i76e.0.0.debug
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-00
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-00-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-01
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-01-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-02
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-02-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-03
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-03-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-04
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-04-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-05
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-05-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-06
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-06-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-07
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-07-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-08
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-08-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-09
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-09-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-10
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-10-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-11
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-11-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-12
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-12-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-13
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-13-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-14
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-14-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-15
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-15-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-16
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-16-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-17
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-17-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-18
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-18-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-19
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-19-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-20
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-20-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-21
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-21-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-22
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-22-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-23
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-23-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-24
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-24-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-25
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-25-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-26
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-26-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-27
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-27-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-28
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-28-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-29
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-29-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-30
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-30-not
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-31
     7  bit   OUT         FALSE  hm2_7i76e.0.7i76.0.0.input-31-not
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-00
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-01
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-02
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-03
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-04
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-05
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-06
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-07
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-08
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-09
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-10
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-11
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-12
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-13
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-14
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.output-15
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.spindir
     7  bit   IN          FALSE  hm2_7i76e.0.7i76.0.0.spinena
     7  float IN              0  hm2_7i76e.0.7i76.0.0.spinout
     7  float IN            100  hm2_7i76e.0.dpll.01.timer-us
     7  float IN            100  hm2_7i76e.0.dpll.02.timer-us
     7  float IN            100  hm2_7i76e.0.dpll.03.timer-us
     7  float IN            100  hm2_7i76e.0.dpll.04.timer-us
     7  float IN             -1  hm2_7i76e.0.dpll.base-freq-khz
     7  u32   OUT    0x00000000  hm2_7i76e.0.dpll.ddsize
     7  float OUT             0  hm2_7i76e.0.dpll.phase-error-us
     7  u32   IN     0x00400000  hm2_7i76e.0.dpll.plimit
     7  u32   OUT    0x00000001  hm2_7i76e.0.dpll.prescale
     7  u32   IN     0x000007D0  hm2_7i76e.0.dpll.time-const
     7  s32   OUT             0  hm2_7i76e.0.encoder.00.count
     7  s32   OUT             0  hm2_7i76e.0.encoder.00.count-latched
     7  bit   I/O         FALSE  hm2_7i76e.0.encoder.00.index-enable
     7  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.input-a
     7  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.input-b
     7  bit   OUT          TRUE  hm2_7i76e.0.encoder.00.input-index
     7  bit   IN          FALSE  hm2_7i76e.0.encoder.00.latch-enable
     7  bit   IN          FALSE  hm2_7i76e.0.encoder.00.latch-polarity
     7  float OUT             0  hm2_7i76e.0.encoder.00.position
     7  float OUT             0  hm2_7i76e.0.encoder.00.position-latched
     7  bit   OUT         FALSE  hm2_7i76e.0.encoder.00.quad-error
     7  bit   IN          FALSE  hm2_7i76e.0.encoder.00.quad-error-enable
     7  s32   OUT             0  hm2_7i76e.0.encoder.00.rawcounts
     7  s32   OUT             0  hm2_7i76e.0.encoder.00.rawlatch
     7  bit   IN          FALSE  hm2_7i76e.0.encoder.00.reset
     7  float OUT             0  hm2_7i76e.0.encoder.00.velocity
     7  float OUT             0  hm2_7i76e.0.encoder.00.velocity-rpm
     7  bit   IN          FALSE  hm2_7i76e.0.encoder.hires-timestamp
     7  u32   IN     0x017D7840  hm2_7i76e.0.encoder.sample-frequency
     7  s32   IN             -1  hm2_7i76e.0.encoder.timer-number
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.000.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.000.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.001.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.001.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.002.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.002.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.003.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.003.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.004.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.004.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.005.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.005.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.006.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.006.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.007.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.007.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.008.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.008.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.009.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.009.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.010.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.010.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.011.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.011.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.012.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.012.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.012.out
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.013.in
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.013.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.013.out
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.014.in
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.014.in_not
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.015.in
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.015.in_not
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.016.in
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.016.in_not
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.017.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.017.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.017.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.018.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.018.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.018.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.019.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.019.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.019.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.020.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.020.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.020.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.021.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.021.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.021.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.022.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.022.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.022.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.023.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.023.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.023.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.024.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.024.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.024.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.025.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.025.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.025.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.026.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.026.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.026.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.027.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.027.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.027.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.028.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.028.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.028.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.029.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.029.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.029.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.030.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.030.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.030.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.031.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.031.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.031.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.032.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.032.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.032.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.033.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.033.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.033.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.034.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.034.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.034.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.035.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.035.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.035.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.036.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.036.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.036.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.037.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.037.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.037.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.038.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.038.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.038.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.039.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.039.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.039.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.040.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.040.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.040.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.041.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.041.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.041.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.042.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.042.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.042.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.043.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.043.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.043.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.044.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.044.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.044.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.045.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.045.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.045.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.046.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.046.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.046.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.047.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.047.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.047.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.048.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.048.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.048.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.049.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.049.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.049.out
     7  bit   OUT          TRUE  hm2_7i76e.0.gpio.050.in
     7  bit   OUT         FALSE  hm2_7i76e.0.gpio.050.in_not
     7  bit   IN          FALSE  hm2_7i76e.0.gpio.050.out
     7  bit   IN          FALSE  hm2_7i76e.0.led.CR01
     7  bit   IN          FALSE  hm2_7i76e.0.led.CR02
     7  bit   IN          FALSE  hm2_7i76e.0.led.CR03
     7  bit   IN          FALSE  hm2_7i76e.0.led.CR04
     7  bit   OUT         FALSE  hm2_7i76e.0.packet-error
     7  bit   OUT         FALSE  hm2_7i76e.0.packet-error-exceeded
     7  s32   OUT             0  hm2_7i76e.0.packet-error-level
     7  bit   IN          FALSE  hm2_7i76e.0.pwmgen.00.enable
     7  float IN              0  hm2_7i76e.0.pwmgen.00.value
     7  s32   OUT             0  hm2_7i76e.0.read-request.time
     7  s32   OUT             0  hm2_7i76e.0.read.time
     7  u32   OUT    0x00000000  hm2_7i76e.0.sserial.port-0.fault-count
     7  u32   OUT    0x00000000  hm2_7i76e.0.sserial.port-0.port_state
     7  u32   OUT    0x00000000  hm2_7i76e.0.sserial.port-0.port_state2
     7  u32   OUT    0x00000000  hm2_7i76e.0.sserial.port-0.port_state3
     7  bit   IN           TRUE  hm2_7i76e.0.sserial.port-0.run
     7  bit   IN          FALSE  hm2_7i76e.0.stepgen.00.control-type
     7  s32   OUT             0  hm2_7i76e.0.stepgen.00.counts
     7  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_err_at_match
     7  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_ff_vel
     7  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_pos_minus_prev_cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_s_to_match
     7  s32   OUT             0  hm2_7i76e.0.stepgen.00.dbg_step_rate
     7  float OUT             0  hm2_7i76e.0.stepgen.00.dbg_vel_error
     7  bit   IN          FALSE  hm2_7i76e.0.stepgen.00.enable
     7  float IN              0  hm2_7i76e.0.stepgen.00.position-cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.00.position-fb
     7  float IN              0  hm2_7i76e.0.stepgen.00.velocity-cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.00.velocity-fb
     7  bit   IN          FALSE  hm2_7i76e.0.stepgen.01.control-type
     7  s32   OUT             0  hm2_7i76e.0.stepgen.01.counts
     7  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_err_at_match
     7  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_ff_vel
     7  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_pos_minus_prev_cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_s_to_match
     7  s32   OUT             0  hm2_7i76e.0.stepgen.01.dbg_step_rate
     7  float OUT             0  hm2_7i76e.0.stepgen.01.dbg_vel_error
     7  bit   IN          FALSE  hm2_7i76e.0.stepgen.01.enable
     7  float IN              0  hm2_7i76e.0.stepgen.01.position-cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.01.position-fb
     7  float IN              0  hm2_7i76e.0.stepgen.01.velocity-cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.01.velocity-fb
     7  bit   IN          FALSE  hm2_7i76e.0.stepgen.02.control-type
     7  s32   OUT             0  hm2_7i76e.0.stepgen.02.counts
     7  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_err_at_match
     7  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_ff_vel
     7  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_pos_minus_prev_cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_s_to_match
     7  s32   OUT             0  hm2_7i76e.0.stepgen.02.dbg_step_rate
     7  float OUT             0  hm2_7i76e.0.stepgen.02.dbg_vel_error
     7  bit   IN          FALSE  hm2_7i76e.0.stepgen.02.enable
     7  float IN              0  hm2_7i76e.0.stepgen.02.position-cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.02.position-fb
     7  float IN              0  hm2_7i76e.0.stepgen.02.velocity-cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.02.velocity-fb
     7  bit   IN          FALSE  hm2_7i76e.0.stepgen.03.control-type
     7  s32   OUT             0  hm2_7i76e.0.stepgen.03.counts
     7  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_err_at_match
     7  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_ff_vel
     7  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_pos_minus_prev_cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_s_to_match
     7  s32   OUT             0  hm2_7i76e.0.stepgen.03.dbg_step_rate
     7  float OUT             0  hm2_7i76e.0.stepgen.03.dbg_vel_error
     7  bit   IN          FALSE  hm2_7i76e.0.stepgen.03.enable
     7  float IN              0  hm2_7i76e.0.stepgen.03.position-cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.03.position-fb
     7  float IN              0  hm2_7i76e.0.stepgen.03.velocity-cmd
     7  float OUT             0  hm2_7i76e.0.stepgen.03.velocity-fb
     7  s32   IN             -1  hm2_7i76e.0.stepgen.timer-number
     7  bit   I/O         FALSE  hm2_7i76e.0.watchdog.has_bit
     7  s32   OUT             0  hm2_7i76e.0.write.time


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

11 May 2022 01:06 - 11 May 2022 01:14 #242548 by PCW
pncconf's card name is wrong... should be 7i76e

I'm curious on not needing to flash a firmware. I would have preferred not flashing '7i76e_7i76x1pD'. But without doing so I could not change PWM generators from 0 to 1 with the default 7i76e firmware.

pncconf doesn't even look at the card. You can chose any firmware in pncconf and generate
config files for that  firmware even if there is no card connected.
Last edit: 11 May 2022 01:14 by PCW.
The following user(s) said Thank You: koopa

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

11 May 2022 01:10 #242549 by koopa
That did it. Edited the HAL file by hand.

Is there a way to get pncconf to use 7i76e so I can continue to use it? Once I touch the HAL by hand it throws pncconf out the window essentially since it will blow away all my changes?

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

11 May 2022 01:20 - 11 May 2022 01:26 #242550 by PCW
Not sure why pncconf used 7i76, it normally uses the correct name
maybe a bug with pncconfs discover, thoughI I just tried 2.9 and it gets the
name right even with discovery.

Also if you entered 7i76 as the card name in discovery, discovery might
succeed with older versions of mesaflash (that had a bug in that it
only compared the actual card name up to the length of the name specified
in the command line)
Last edit: 11 May 2022 01:26 by PCW.

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

11 May 2022 01:26 #242551 by koopa
I guess I can write a script to find/replace 7i76/7i76e in the file to be able to keep using pncconf.

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

11 May 2022 01:28 #242552 by PCW
Did you enter 7i76 rather than 7i76e on the discovery page?

Also rather than editing every name, use pncconfs card name substitution
option (so the card name is only present once in the ini file)

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

Moderators: cmorley
Time to create page: 0.101 seconds
Powered by Kunena Forum