Can't get Mesa 7i92 to connect without a hub.

More
8 years 4 months ago #112379 by scubawarm
Away from the screen now so can't get MAC. .120 ending IP

The little host unit is XCY 1900 with 4 Intel gigabit ports. These are used world wide with pfSence on them for professional high speed routers. So have trouble believing it is the problem. Only using one port at a time and tried them all.

I don't actually like that the only network change you make on Mesa is the IP number.

Never drops a packet.

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

More
8 years 4 months ago - 8 years 4 months ago #112381 by PCW
I didn't mean the Hosts MAC address but rather the type

SInce these are Intel MACS, did you turn IRQ coalescing off?
(it plays havoc with real time)

What OS are you using? (uname -a)
Last edit: 8 years 4 months ago by PCW.

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

  • ozzyrob
  • New Member
  • New Member
More
8 years 4 months ago #112382 by ozzyrob
Replied by ozzyrob on topic Can't get Mesa 7i92 to connect without a hub.
Is it unusual for this to happen prior to loading the hm2 modules ?

Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
Killing task linuxcncsvr, PID=2050

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

More
8 years 4 months ago #112383 by PCW
Also can you post your hal/ini files? there's something odd about the messages as ozzyrob noticed

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

More
8 years 4 months ago #112412 by scubawarm
I didn't know about that IRQ issue.
Ran the following Didn't help anything. (did change ethN to enp2s0)

sudo ethtool -C ethN rx-usecs 0

I saw there were commits on May 10 to correct and add some things with the 7i92 in pncconf including the correct driver. But, can't seem to get that compiled in or running with the changes. Wanted to start with a fresh HAL and INI with the right boards rather than edit things. Anyways, here are my very basic files that I'm trying to make sure the may hardware works before going to crazy adding things.

Linux esab 4.9.0-5-rt-amd64 #1 SMP PREEMPT RT Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 GNU/Linux

******************

[EMC]
# The version string for this INI file.
VERSION = 1.0

************************
loadrt [KINS]KINEMATICS
#autoconverted trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip="10.100.100.121" config="firmware=hm2/7i92/7i77_7i76D.BIT num_encoders=8 num_pwmgens=0 num_stepgens=5 sserial_port_0=000000"
setp hm2_7i92.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s
loadrt abs names=abs.spindle
loadrt lowpass names=lowpass.spindle

addf hm2_7i92.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.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_7i92.0.write servo-thread
setp hm2_7i92.0.dpll.01.timer-us -50
setp hm2_7i92.0.stepgen.timer-number 1

# external output signals


# external input signals


# --- JOG-INCR-A ---
net jog-incr-a <= hm2_7i92.0.7i77.0.0.input-16

# --- JOG-INCR-B ---
net jog-incr-b <= hm2_7i92.0.7i77.0.0.input-17

#*******************
# AXIS X
#*******************

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

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

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

setp hm2_7i92.0.7i77.0.1.analogout1-scalemax [JOINT_0]OUTPUT_SCALE
setp hm2_7i92.0.7i77.0.1.analogout1-minlim [JOINT_0]OUTPUT_MIN_LIMIT
setp hm2_7i92.0.7i77.0.1.analogout1-maxlim [JOINT_0]OUTPUT_MAX_LIMIT

net x-output => hm2_7i92.0.7i77.0.1.analogout1
net x-pos-cmd joint.0.motor-pos-cmd
net x-enable joint.0.amp-enable-out
# enable _all_ sserial pwmgens
net x-enable hm2_7i92.0.7i77.0.1.analogena

# ---Encoder feedback signals/setup---

setp hm2_7i92.0.encoder.01.counter-mode 0
setp hm2_7i92.0.encoder.01.filter 1
setp hm2_7i92.0.encoder.01.index-invert 0
setp hm2_7i92.0.encoder.01.index-mask 0
setp hm2_7i92.0.encoder.01.index-mask-invert 0
setp hm2_7i92.0.encoder.01.scale [JOINT_0]ENCODER_SCALE

net x-pos-fb <= hm2_7i92.0.encoder.01.position
net x-vel-fb <= hm2_7i92.0.encoder.01.velocity
net x-pos-fb => joint.0.motor-pos-fb
net x-index-enable joint.0.index-enable <=> hm2_7i92.0.encoder.01.index-enable
net x-pos-rawcounts <= hm2_7i92.0.encoder.01.rawcounts

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

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

#*******************
# AXIS Y
#*******************

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

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

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

setp hm2_7i92.0.7i77.0.1.analogout2-scalemax [JOINT_1]OUTPUT_SCALE
setp hm2_7i92.0.7i77.0.1.analogout2-minlim [JOINT_1]OUTPUT_MIN_LIMIT
setp hm2_7i92.0.7i77.0.1.analogout2-maxlim [JOINT_1]OUTPUT_MAX_LIMIT

net y-output => hm2_7i92.0.7i77.0.1.analogout2
net y-pos-cmd joint.1.motor-pos-cmd
net y-enable joint.1.amp-enable-out

# ---Encoder feedback signals/setup---

setp hm2_7i92.0.encoder.02.counter-mode 0
setp hm2_7i92.0.encoder.02.filter 1
setp hm2_7i92.0.encoder.02.index-invert 0
setp hm2_7i92.0.encoder.02.index-mask 0
setp hm2_7i92.0.encoder.02.index-mask-invert 0
setp hm2_7i92.0.encoder.02.scale [JOINT_1]ENCODER_SCALE

net y-pos-fb <= hm2_7i92.0.encoder.02.position
net y-vel-fb <= hm2_7i92.0.encoder.02.velocity
net y-pos-fb => joint.1.motor-pos-fb
net y-index-enable joint.1.index-enable <=> hm2_7i92.0.encoder.02.index-enable
net y-pos-rawcounts <= hm2_7i92.0.encoder.02.rawcounts

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

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

#*******************
# AXIS Z
#*******************

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

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

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

setp hm2_7i92.0.7i77.0.1.analogout3-scalemax [JOINT_2]OUTPUT_SCALE
setp hm2_7i92.0.7i77.0.1.analogout3-minlim [JOINT_2]OUTPUT_MIN_LIMIT
setp hm2_7i92.0.7i77.0.1.analogout3-maxlim [JOINT_2]OUTPUT_MAX_LIMIT

net z-output => hm2_7i92.0.7i77.0.1.analogout3
net z-pos-cmd joint.2.motor-pos-cmd
net z-enable joint.2.amp-enable-out

# ---Encoder feedback signals/setup---

setp hm2_7i92.0.encoder.03.counter-mode 0
setp hm2_7i92.0.encoder.03.filter 1
setp hm2_7i92.0.encoder.03.index-invert 0
setp hm2_7i92.0.encoder.03.index-mask 0
setp hm2_7i92.0.encoder.03.index-mask-invert 0
setp hm2_7i92.0.encoder.03.scale [JOINT_2]ENCODER_SCALE

net z-pos-fb <= hm2_7i92.0.encoder.03.position
net z-vel-fb <= hm2_7i92.0.encoder.03.velocity
net z-pos-fb => joint.2.motor-pos-fb
net z-index-enable joint.2.index-enable <=> hm2_7i92.0.encoder.03.index-enable
net z-pos-rawcounts <= hm2_7i92.0.encoder.03.rawcounts

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

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

#*******************
# SPINDLE S
#*******************

setp pid.s.Pgain [SPINDLE_9]P
setp pid.s.Igain [SPINDLE_9]I
setp pid.s.Dgain [SPINDLE_9]D
setp pid.s.bias [SPINDLE_9]BIAS
setp pid.s.FF0 [SPINDLE_9]FF0
setp pid.s.FF1 [SPINDLE_9]FF1
setp pid.s.FF2 [SPINDLE_9]FF2
setp pid.s.deadband [SPINDLE_9]DEADBAND
setp pid.s.maxoutput [SPINDLE_9]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 => pid.s.command
net spindle-vel-fb-rpm => pid.s.feedback
net spindle-output <= pid.s.output

# ---setup spindle control signals---

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

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

sets spindle-at-speed true


#******************************
# connect miscellaneous signals
#******************************

# ---HALUI signals---

net joint-select-a halui.axis.x.select
net x-is-homed halui.joint.0.is-homed
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 joint-select-b halui.axis.y.select
net y-is-homed halui.joint.1.is-homed
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 joint-select-c halui.axis.z.select
net z-is-homed halui.joint.2.is-homed
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 jog-selected-pos halui.axis.selected.plus
net jog-selected-neg halui.axis.selected.minus
net spindle-manual-cw halui.spindle.forward
net spindle-manual-ccw halui.spindle.reverse
net spindle-manual-stop halui.spindle.stop
net machine-is-on halui.machine.is-on
net jog-speed halui.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

MACHINE = test
DEBUG = 0

[DISPLAY]
DISPLAY = axis
EMBED_TAB_NAME = GladeVCP
EMBED_TAB_COMMAND = halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -H gvcp_call_list.hal -x {XID} gvcp-panel.ui
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/superman/linuxcnc/nc_files
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 0.250000
MAX_LINEAR_VELOCITY = 1.000000
MIN_LINEAR_VELOCITY = 0.016670
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
EDITOR = gedit
GEOMETRY = xyz

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[RS274NGC]
PARAMETER_FILE = linuxcnc.var
[EMCMOT]

EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[HAL]
HALUI = halui
HALFILE = test.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal

[HALUI]

[TRAJ]

AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 0.33
MAX_LINEAR_VELOCITY = 3.33

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

#********************
# Axis X
#********************


[KINS]
KINEMATICS = trivkins
#This is a best-guess at the number of joints, it should be checked
JOINTS = 3

[AXIS_X]
MIN_LIMIT = -2.0
MAX_LIMIT = 120.0
MAX_VELOCITY = 3.33333333333
MAX_ACCELERATION = 30.0

[JOINT_0]

TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 3.33333333333
MAX_ACCELERATION = 30.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
ENCODER_SCALE = 112000.0
OUTPUT_SCALE = 10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
MIN_LIMIT = -2.0
MAX_LIMIT = 120.0
HOME_OFFSET = 0.0

#********************
# Axis Y
#********************
[AXIS_Y]
MIN_LIMIT = -2.0
MAX_LIMIT = 120.0
MAX_VELOCITY = 3.33333333333
MAX_ACCELERATION = 30.0

[JOINT_1]

TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 3.33333333333
MAX_ACCELERATION = 30.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
ENCODER_SCALE = 112000.0
OUTPUT_SCALE = 10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
MIN_LIMIT = -2.0
MAX_LIMIT = 120.0
HOME_OFFSET = 0.0

#********************
# Axis Z
#********************
[AXIS_Z]
MIN_LIMIT = -30.0
MAX_LIMIT = 0.001
MAX_VELOCITY = 3.33333333333
MAX_ACCELERATION = 30.0

[JOINT_2]

TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 3.33333333333
MAX_ACCELERATION = 30.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
ENCODER_SCALE = 100000.0
OUTPUT_SCALE = 10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
MIN_LIMIT = -30.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.0

#********************
# Spindle
#********************
[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_eth
# BOARD0=7i92

[SPINDLE_9]
P = 0
I = 0
D = 0
FF0 = 1
FF1 = 0
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 2000

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

More
8 years 4 months ago #112417 by PCW
So the basic hal structure looks OK

Maybe some network setup issue?
what does

ip a

print?

Also can you start linuxcnc from a terminal and copy/paste the exact terminal log here? you log looks very strange relative to what I get

You can start linuxcnc in a terminal without launching the chooser by typing
linuxcnc yourinifilename
from the config directory

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

Moderators: PCW, jmelson
Time to create page: 0.308 seconds
Powered by Kunena Forum