Advanced Search

Search Results (Searched for: )

  • Ringardy
  • Ringardy
23 Oct 2025 18:56
Replied by Ringardy on topic Mesa 7i95T not responding

Mesa 7i95T not responding

Category: Computers and Hardware

Like this ?
  • distro88
  • distro88
23 Oct 2025 18:32 - 23 Oct 2025 18:33

torch moving UP when it should be moving DOWN

Category: Plasmac

Hello everyone,

I’m having a strange issue with QtPlasmaC (version 2.9.238 / LinuxCNC 2.9.2) and my PROMA THC 150 connected to a Mesa 7i92 card.

Everything on my machine moves correctly — all axes jog fine, torch on/off works, ARC OK is detected correctly, and the THC UP and DOWN inputs show properly in HAL meter.

However, during cutting:

When the THC UP signal is active, the torch moves up 

When the THC DOWN signal is active, the torch moves up instead of down 

Both UP and DOWN signals appear normally in HAL meter as true/false.

Here’s my setup:

Controller: Mesa 7i92 + db25 bib (raw pins)

Plasma: PROMA THC 150

QtPlasmaC version: 2.9.238 (LinuxCNC 2.9.2)

QtPlasmaC Mode: External THC (UP/DOWN/ARC OK)

THC wiring: optocoupled to Mesa inputs

Firmware: 7i92_7i76x1D.

I’ll attach my .hal and .ini files below.

.hal 
# Generated by PNCconf at Wed Oct 22 23:20:44 2025
# Using LinuxCNC version:  Master (2.9)
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_spindles=[TRAJ]SPINDLES
loadrt hostmot2
loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxxxx" 
setp    hm2_7i92.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.y2,pid.z,pid.s
loadrt plasmac

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.y2.do-pid-calcs       servo-thread
addf pid.z.do-pid-calcs       servo-thread
addf pid.s.do-pid-calcs       servo-thread
addf plasmac                  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

# ---PLASMA INPUT DEBOUNCE---
#values for these are in custom.hal
loadrt dbounce names=db_breakaway,db_float,db_ohmic,db_arc-ok
addf db_float     servo-thread
addf db_ohmic     servo-thread
addf db_breakaway servo-thread
addf db_arc-ok    servo-thread

# ---JOINT ASSOCIATED WITH THE Z AXIS---
net plasmac:axis-position joint.3.pos-fb => plasmac.axis-z-position

# ---PLASMA INPUTS---
# ---all modes---
net plasmac:float-switch     => db_float.in
net plasmac:breakaway        => db_breakaway.in
net plasmac:ohmic-probe      => db_ohmic.in
net plasmac:ohmic-sense-in   => plasmac.ohmic-sense-in
# ---modes 0 & 1
net plasmac:arc-voltage-in   => plasmac.arc-voltage-in
# ---modes 1 & 2
net plasmac:arc-ok-in        => db_arc-ok.in
# ---mode 2
net plasmac:move-up          <= plasmac.move-up
net plasmac:move-down        <= plasmac.move-down

# ---PLASMA OUTPUTS---
# ---all modes---
net plasmac:ohmic-enable     <= plasmac.ohmic-enable
net plasmac:scribe-arm       <= plasmac.scribe-arm
net plasmac:scribe-on        <= plasmac.scribe-on

# external output signals

# --- PLASMAC:TORCH-ON ---
setp hm2_7i92.0.gpio.030.is_output true
net plasmac:torch-on  =>     hm2_7i92.0.gpio.030.out
setp hm2_7i92.0.gpio.030.invert_output true

# --- PLASMAC:LASER-ON ---
setp hm2_7i92.0.gpio.031.is_output true
net plasmac:laser-on  =>     hm2_7i92.0.gpio.031.out

# --- DOUT-00 ---
setp hm2_7i92.0.gpio.032.is_output true
net dout-00  =>     hm2_7i92.0.gpio.032.out

# --- DOUT-01 ---
setp hm2_7i92.0.gpio.033.is_output true
#qtplasmac uses digital output dout-01:
#net dout-01  =>     hm2_7i92.0.gpio.033.out


# external input signals

# --- MIN-HOME-X ---
net min-home-x     <=  hm2_7i92.0.gpio.018.in

# --- MIN-HOME-Y ---
net min-home-y     <=  hm2_7i92.0.gpio.019.in

# --- MIN-HOME-Y2 ---
net min-home-y2     <=  hm2_7i92.0.gpio.020.in

# --- MAX-HOME-Z ---
net max-home-z     <=  hm2_7i92.0.gpio.021.in

# --- PLASMAC:FLOAT-SWITCH ---
net plasmac:float-switch     <=  hm2_7i92.0.gpio.022.in

# --- PLASMAC:BREAKAWAY ---
net plasmac:breakaway     <=  hm2_7i92.0.gpio.023.in

# --- PLASMAC:ARC-OK-IN ---
net plasmac:arc-ok-in     <=  hm2_7i92.0.gpio.024.in

# --- PLASMAC:MOVE-UP ---
net plasmac:move-up     <=  hm2_7i92.0.gpio.025.in

# --- PLASMAC:MOVE-DOWN ---
net plasmac:move-down     <=  hm2_7i92.0.gpio.026.in

# --- ESTOP-EXT ---
net estop-ext     <=  hm2_7i92.0.gpio.027.in_not


#*******************
#  AXIS X JOINT 0
#*******************

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_7i92.0.stepgen.00.dirsetup        [JOINT_0]DIRSETUP
setp   hm2_7i92.0.stepgen.00.dirhold         [JOINT_0]DIRHOLD
setp   hm2_7i92.0.stepgen.00.steplen         [JOINT_0]STEPLEN
setp   hm2_7i92.0.stepgen.00.stepspace       [JOINT_0]STEPSPACE
setp   hm2_7i92.0.stepgen.00.position-scale  [JOINT_0]STEP_SCALE
setp   hm2_7i92.0.stepgen.00.step_type        0
setp   hm2_7i92.0.stepgen.00.control-type     1
setp   hm2_7i92.0.stepgen.00.maxaccel         [JOINT_0]STEPGEN_MAXACCEL
setp   hm2_7i92.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_7i92.0.stepgen.00.velocity-cmd
net x-pos-fb     <= hm2_7i92.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_7i92.0.stepgen.00.enable

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

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

#*******************
#  AXIS Y JOINT 1
#*******************

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_7i92.0.stepgen.01.dirsetup        [JOINT_1]DIRSETUP
setp   hm2_7i92.0.stepgen.01.dirhold         [JOINT_1]DIRHOLD
setp   hm2_7i92.0.stepgen.01.steplen         [JOINT_1]STEPLEN
setp   hm2_7i92.0.stepgen.01.stepspace       [JOINT_1]STEPSPACE
setp   hm2_7i92.0.stepgen.01.position-scale  [JOINT_1]STEP_SCALE
setp   hm2_7i92.0.stepgen.01.step_type        0
setp   hm2_7i92.0.stepgen.01.control-type     1
setp   hm2_7i92.0.stepgen.01.maxaccel         [JOINT_1]STEPGEN_MAXACCEL
setp   hm2_7i92.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_7i92.0.stepgen.01.velocity-cmd
net y-pos-fb     <= hm2_7i92.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_7i92.0.stepgen.01.enable

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

net min-home-y     =>  joint.1.home-sw-in
net min-home-y     =>  joint.1.neg-lim-sw-in
net y-pos-limit     =>  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_7i92.0.stepgen.04.dirsetup        [JOINT_2]DIRSETUP
setp   hm2_7i92.0.stepgen.04.dirhold         [JOINT_2]DIRHOLD
setp   hm2_7i92.0.stepgen.04.steplen         [JOINT_2]STEPLEN
setp   hm2_7i92.0.stepgen.04.stepspace       [JOINT_2]STEPSPACE
setp   hm2_7i92.0.stepgen.04.position-scale  [JOINT_2]STEP_SCALE
setp   hm2_7i92.0.stepgen.04.step_type        0
setp   hm2_7i92.0.stepgen.04.control-type     1
setp   hm2_7i92.0.stepgen.04.maxaccel         [JOINT_2]STEPGEN_MAXACCEL
setp   hm2_7i92.0.stepgen.04.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_7i92.0.stepgen.04.velocity-cmd
net y2-pos-fb     <= hm2_7i92.0.stepgen.04.position-fb
net y2-pos-fb     => joint.2.motor-pos-fb
net y2-enable     <= joint.2.amp-enable-out
net y2-enable     => hm2_7i92.0.stepgen.04.enable

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

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

#*******************
#  AXIS Z JOINT 3
#*******************

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_7i92.0.stepgen.03.dirsetup        [JOINT_3]DIRSETUP
setp   hm2_7i92.0.stepgen.03.dirhold         [JOINT_3]DIRHOLD
setp   hm2_7i92.0.stepgen.03.steplen         [JOINT_3]STEPLEN
setp   hm2_7i92.0.stepgen.03.stepspace       [JOINT_3]STEPSPACE
setp   hm2_7i92.0.stepgen.03.position-scale  [JOINT_3]STEP_SCALE
setp   hm2_7i92.0.stepgen.03.step_type        0
setp   hm2_7i92.0.stepgen.03.control-type     1
setp   hm2_7i92.0.stepgen.03.maxaccel         [JOINT_3]STEPGEN_MAXACCEL
setp   hm2_7i92.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_7i92.0.stepgen.03.velocity-cmd
net z-pos-fb     <= hm2_7i92.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_7i92.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

#  ---motion control signals---

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

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

net dout-00     <=  motion.digital-out-00
#qtplasmac uses digital output dout-01:
#net dout-01     <=  motion.digital-out-01
#  ---estop signals---

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


# ---QTPLASMAC TOOLCHANGE PASSTHROUGH---
net tool:change iocontrol.0.tool-change  => iocontrol.0.tool-changed
net tool:prep   iocontrol.0.tool-prepare => iocontrol.0.tool-prepared



.ini 
[code]# Generated by PNCconf at Wed Oct 22 23:20:44 2025
# Using LinuxCNC version:  Master (2.9)
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

[EMC]
MACHINE = test-2
DEBUG = 0
VERSION = 1.1

[DISPLAY]
DISPLAY = qtvcp qtplasmac
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/x/linuxcnc/nc_files
INCREMENTS = 10mm 1mm .1mm .01mm .001mm
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 6.000000
MAX_LINEAR_VELOCITY = 25.000000
MIN_LINEAR_VELOCITY = 0.500000
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
GEOMETRY = xyz
CYCLE_TIME = 100

[FILTER]
PROGRAM_EXTENSION = .ngc,.nc,.tap GCode File (*.ngc, *.nc, *.tap)
ngc = qtplasmac_gcode
nc  = qtplasmac_gcode
tap = qtplasmac_gcode

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = linuxcnc.var
RS274NGC_STARTUP_CODE = G21 G40 G49 G80 G90 G92.1 G94 G97 M52P1
SUBROUTINE_PATH = ./:../../nc_files
USER_M_PATH = ./:../../nc_files


[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000

[HMOT]
# **** This is for info only ****
CARD0=hm2_7i92.0

[HAL]
HALUI = halui
HALFILE = test-2.hal
HALFILE = qtplasmac_comp.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
SHUTDOWN = shutdown.hal

[HALUI]

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYYZ

[TRAJ]
SPINDLES = 3
COORDINATES =  XYYZ
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 2.50
MAX_LINEAR_VELOCITY = 25.00

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

#******************************************
[AXIS_X]
# MAX_VEL & MAX_ACC need to be twice the corresponding joint value
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 1500.0
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -0.01
MAX_LIMIT = 2000.0

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 31.25
STEPGEN_MAXACCEL = 937.50
P = 1000.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
# these are in nanoseconds
DIRSETUP   = 10000
DIRHOLD    = 10000
STEPLEN    = 5000
STEPSPACE  = 5000
STEP_SCALE = 100.0
MIN_LIMIT = -0.01
MAX_LIMIT = 2000.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -1.000000
HOME_LATCH_VEL = 0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 2
#******************************************

#******************************************
[AXIS_Y]
# MAX_VEL & MAX_ACC need to be twice the corresponding joint value
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 1500.0
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -0.01
MAX_LIMIT = 3000.0

[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 31.25
STEPGEN_MAXACCEL = 937.50
P = 1000.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
# these are in nanoseconds
DIRSETUP   = 10000
DIRHOLD    = 10000
STEPLEN    = 5000
STEPSPACE  = 5000
STEP_SCALE = 100.0
MIN_LIMIT = -0.01
MAX_LIMIT = 3000.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -1.000000
HOME_LATCH_VEL = 0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = -3

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 31.25
STEPGEN_MAXACCEL = 937.50
P = 1000.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
# these are in nanoseconds
DIRSETUP   = 10000
DIRHOLD    = 10000
STEPLEN    = 5000
STEPSPACE  = 5000
STEP_SCALE = 100.0
MIN_LIMIT = -0.01
MAX_LIMIT = 3000.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -1.000000
HOME_LATCH_VEL = 0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = -3
#******************************************

#******************************************
[AXIS_Z]
# MAX_VEL & MAX_ACC need to be twice the corresponding joint value
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 1500.0
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -200.0
MAX_LIMIT = 0.01

[JOINT_3]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 31.25
STEPGEN_MAXACCEL = 937.50
P = 1000.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
# these are in nanoseconds
DIRSETUP   = 10000
DIRHOLD    = 10000
STEPLEN    = 5000
STEPSPACE  = 5000
STEP_SCALE = 100.0
MIN_LIMIT = -200.0
MAX_LIMIT = 0.01
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -1.000000
HOME_LATCH_VEL = 0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1
#******************************************



Any help or working HAL example with PROMA 150 + Mesa hardware would be greatly appreciated!

Thank you in advance 
[/code]
  • Ringardy
  • Ringardy
23 Oct 2025 18:20
Replied by Ringardy on topic Mesa 7i95T not responding

Mesa 7i95T not responding

Category: Computers and Hardware

So how would i have to set the jumper to be correct.
Havent yet figured out how there ment to be set
  • PCW
  • PCW's Avatar
23 Oct 2025 18:17
Replied by PCW on topic Mesa 7i95T not responding

Mesa 7i95T not responding

Category: Computers and Hardware

You have the IP address jumpers set to 192.168.1.121 mode (down/down)
rather than EEPROM mode (down,up)
  • Ringardy
  • Ringardy
23 Oct 2025 18:13
Mesa 7i95T not responding was created by Ringardy

Mesa 7i95T not responding

Category: Computers and Hardware

Fist up im brand new to this topic with linuxcnc.So i have bought a 7i95T FPGA Card and now i have the problem that i cant ping it or even read the config.The networkmanager says its connected to a ethernet Network, it recognices when its being disconected and connected.Ethernet Port on the card does blink from time to time (the way it does when sending and reciveing signals).When the card is being powerd on the DONE and INIT lights light up shortly once and the USER LEDS cycle as well.PWR is light up orange.No jumpers have been moved and it only has been connected to that ones pc´s ethernet port. 

Searched everywhere to find an answer but no luck.
  • PCW
  • PCW's Avatar
23 Oct 2025 18:12

RS-422 Linear Magnetic Encoder shows ERROR LED after power-on (Mesa 7i76 + 7i85)

Category: Driver Boards

Maybe the scales cannot drive the RS-422 termination on the 7I76/7I85
or perhaps the 5V is marginal (check at encoder end of cable)
 
  • unknown
  • unknown
23 Oct 2025 18:07

Proposal RPi Linuxcnc Image Based on Raspi OS All welcome/encoraged to comment

Category: Installing LinuxCNC

Image version Twenty Three gazillion.
Standard raspios desktops included plus XFCE, changed lightdm chooser to the gtk-greeter, auto login is enabled, easiest way to change desktop environment is to logout and select the desktop prior to logging in. Still working with Bookworm ATM. Needs a little polishing, need to add the environment variable for realtime, will include a config for XFCE terminal that had a few options setup. And yes I will keep Midnight commander in there, great clone of the old Norton commander dos file manager, the included editor is pretty good as well.
  • unknown
  • unknown
23 Oct 2025 17:56
Replied by unknown on topic 7i92H

7i92H

Category: General LinuxCNC Questions

Mesa have a product called spinx or similar, converts digital pwm to isolated analogue out.

The new image I'm working is created using the same utility that Raspberry Pi company uses to create their own images, so basically raspios with a real time kernel and Linuxcnc pre installed. Far more raspios than the previous.
  • ddVll
  • ddVll
23 Oct 2025 17:49

RS-422 Linear Magnetic Encoder shows ERROR LED after power-on (Mesa 7i76 + 7i85)

Category: Driver Boards

I recently bought some Chinese linear magnetic encoders with RS-422 output and connected them to my Mesa 7i76 and 7i85 boards. Everything mostly works, but I’m having a strange issue with the encoder status LEDs.

Each encoder has LEDs:
Blue = IDLE
Red = ERROR

Here’s what happens:
When I power on the machine, the ERROR (red) LED turns on immediately.
If I unplug and replug the encoder connector, sometimes it switches to IDLE (blue) — but not always.
If I disconnect and reconnect one of the signal phases (A or B), I can get the IDLE state.
If I power the encoder alone (without connecting signal lines), it always shows IDLE.
It looks like the signal lines or differential inputs might cause some initialization conflict when LinuxCNC / Mesa powers up.

Has anyone experienced something similar with RS-422 encoders on Mesa boards?
Any advice or tests to help diagnose this would be appreciated.
  • tommylight
  • tommylight's Avatar
23 Oct 2025 17:49
Replied by tommylight on topic 7i92H

7i92H

Category: General LinuxCNC Questions

www.youtube.com/shorts/ciVcxrlmMIA
www.youtube.com/shorts/__zn74D7OyM
There was another one....
Thing is those laptops are way more useful and cost less than RPI with touchscreen. But do not expect them to always work, i have several (had 30 or 50 or 100 !?!?!?) that worked perfectly, but you can bump into an utterly useless one.
The choice is yours, i am just making it harder! :)
  • reboots
  • reboots
23 Oct 2025 17:47 - 23 Oct 2025 17:48

5-axis Isel-based machine - Logosol to LinuxCNC?

Category: CNC Machines

I have several simpler LS-173E drives, which only have the RS-485 command interface. I had a project to implement LDCN in a microcontroller for standalone operation, but it's on the back burner this year. No opinion on feasibility with LinuxCNC, but I stumbled across this project that might be useful:

"Linux port of Logosol's LDCN with Python bindings"
github.com/cversek/linux-ldcn
  • reboots
  • reboots
23 Oct 2025 17:35
Replied by reboots on topic Can Linux control a Logosol analog drive?

Can Linux control a Logosol analog drive?

Category: General LinuxCNC Questions

I have a large number of LS-173E drives, which seem almost identical to the LS-131-2010 in the picture. Unfortunately these simpler drives have no step/dir or analog input, so the RS-485 command language is the only option. Logosol very admirably continues to make their (now quite old) software and documentation freely available for download. I've tested the drives under Linux using their software in a Windows XP VirtualBox VM, with USB passthrough to an RS-485 dongle.
  • sconisbee
  • sconisbee
23 Oct 2025 17:25
Replied by sconisbee on topic Remora - ethernet NVEM / EC300 / EC500 cnc board

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

Thank you both,

Andy, I was meaning using the remora encoder module, but I appear to have misread/missed the part where it would not support count mode like the LinuxCnc one. I will have to stick with the LinuxCNC one, which is working, but only up to around 1900 rpm on one of the RPi pins. likely a base period issue.

Murphy, thank you, that is unfortunate that the 500 is needed for hardware. I don't mind bypassing the opto's or replacing with a faster digital equivalent even if external to the 500. but all that can wait until I sort out a quad encoder of some description.
  • TooTall18T
  • TooTall18T's Avatar
23 Oct 2025 17:18
Replied by TooTall18T on topic tool length probe subroutine for Probe Basic

tool length probe subroutine for Probe Basic

Category: Mill Library

Hat es vor der Installation von meiner Routine funktioniert?
Einen Werkzeugwechsler hast du ja scheinbar nicht, hast du den manuellen Wechsle in der HAL drin?
Funktioniert die manuelle Vermessung über [Touch off current tool] bzw. M601?
  • scsmith1451
  • scsmith1451's Avatar
23 Oct 2025 16:22
Replied by scsmith1451 on topic linuxcnc.command().mdi() vs .program_open()

linuxcnc.command().mdi() vs .program_open()

Category: General LinuxCNC Questions

My effort is to learn g-code subtleties that are new to me as well as to improve my python coding abilities.  Consequently, I trying to fully automate the measurement process. To that end, I decided that I could combine both Andypugh and JT's approaches to first capture the data with a g-code script then process it with python.

As I studied o-code subroutine examples I attempted to use an internal subroutine with Andypugh's suggestion for a more elegant approach. I've attached my code for your inspection. 

When I load the code into LCNC this warning is raised:

 Near line 40 of ./check_level.ngc "Bad character '>' used". 

I'm lost as it appears that the code follows the examples in the documentation. Please help me understand the issue.

Kind regards
Displaying 2206 - 2220 out of 22340 results.
Time to create page: 0.240 seconds
Powered by Kunena Forum