Advanced Search

Search Results (Searched for: )

  • unknown
  • unknown
26 Oct 2025 20:31
Replied by unknown on topic Workshop update

Workshop update

Category: Show Your Stuff

A perfectly managed mess one would tend to think.
  • PCW
  • PCW's Avatar
26 Oct 2025 20:24 - 26 Oct 2025 20:31

Mesa smart serial or PktUART or serial over RS232 or udp for robot joints

Category: Advanced Configuration

Actually I took a look at this in the past and had some example firmware source, I will take a look on Monday.
And yes, it requires grafting on a simple UART connected to the "A" encoder pin (the UART can be quite basic as its
parameters are fixed)
 
  • unknown
  • unknown
26 Oct 2025 20:22

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

Category: Installing LinuxCNC

A lot has changed in time.

What was the reason for changing, if known ?

Is it a path worth checking out again ?

In other news.
It would look like the Trixie packages have been built on Bookworm for Arm, is that correct ?

Now that I have a working Trixie image, one image will work for the 4 & 5 would it be useful for package building for Trixie ?
  • PCW
  • PCW's Avatar
26 Oct 2025 20:21
Replied by PCW on topic LinuxCNC installation + 7I96S

LinuxCNC installation + 7I96S

Category: Installing LinuxCNC

Please attach your hal and ini files rather than including the text in the message as the forum
software mangles it so badly that it's basically unreadable.

Note that it is suggested to use pncconf or MesaCT to create hal/ini files for a current mesa card

This is likely the source of your following error issues.

 
  • jmp97
  • jmp97
26 Oct 2025 19:57 - 26 Oct 2025 19:59
Replied by jmp97 on topic LinuxCNC installation + 7I96S

LinuxCNC installation + 7I96S

Category: Installing LinuxCNC

No, it does not show an error at the beginning when the machine stops. The movement error occurs when you try to move the motors afterwards.

My INI

[EMC] # The version string for this INI file. VERSION = 1.1 # Name of machine, for use with display, etc. MACHINE = HM2-Stepper # Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others #DEBUG = 0x00000003 #DEBUG = 0x00000007 DEBUG = 0 [DISPLAY] # Name of display program, e.g., tklinuxcnc #DISPLAY = tklinuxcnc DISPLAY = axis update_period = 0.05 show_trail = True # Cycle time, in seconds, that display will sleep between polls CYCLE_TIME = 0.0500 # Path to help file HELP_FILE = tklinuxcnc.txt # Initial display setting for position, RELATIVE or MACHINE POSITION_OFFSET = RELATIVE # Initial display setting for position, COMMANDED or ACTUAL POSITION_FEEDBACK = ACTUAL # Highest value that will be allowed for feed override, 1.0 = 100% MAX_FEED_OVERRIDE = 1.5 # Prefix to be used PROGRAM_PREFIX = ../../nc_files/ # Introductory graphic INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 [FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image PROGRAM_EXTENSION = .py Python Script png = image-to-gcode gif = image-to-gcode jpg = image-to-gcode py = python3 [RS274NGC] # File containing interpreter variables PARAMETER_FILE = hm2-stepper.var [EMCMOT] EMCMOT = motmod # Timeout for comm to emcmot, in seconds COMM_TIMEOUT = 1.0 # Servo task period, in nanoseconds SERVO_PERIOD = 4000000 [TASK] # Name of task controller program, e.g., milltask TASK = milltask # Cycle time, in seconds, that task controller will sleep between polls CYCLE_TIME = 0.010 [HAL] # The run script first uses halcmd to execute any HALFILE # files, and then to execute any individual HALCMD commands. # list of hal config files to run through halcmd # files are executed in the order in which they appear HALFILE = hm2-stepper-eth.hal # list of halcmd commands to execute # commands are executed in the order in which they appear #HALCMD = save neta [HALUI] #No Content [TRAJ] COORDINATES = X Y Z LINEAR_UNITS = mm ANGULAR_UNITS = degree # Ajuste seguro de velocidad inicial MAX_LINEAR_VELOCITY = 20 [EMCIO] # Name of IO controller program, e.g., io EMCIO = io # cycle time, in seconds CYCLE_TIME = 0.100 # tool table file TOOL_TABLE = tool.tbl [KINS] KINEMATICS = trivkins JOINTS = 3 [AXIS_X] MIN_LIMIT = -10000.0 MAX_LIMIT = 10000.0 MAX_VELOCITY = 20 MAX_ACCELERATION = 100 [JOINT_0] # # Step timing is 40 us steplen + 40 us stepspace # That gives 80 us step period = 12.5 KHz step freq # # Bah, even software stepping can handle that, hm2 doesn't buy you much with # such slow steppers. # # Scale is 200 steps/rev * 5 revs/inch = 1000 steps/inch # # This gives a maxvel of 12.5/1 = 12.5 ips # TYPE = LINEAR MAX_VELOCITY = 20 MAX_ACCELERATION = 100 # Set Stepgen max 20% higher than the axis STEPGEN_MAX_VEL = 24 STEPGEN_MAX_ACC = 120 BACKLASH = 0.01 # scale is 200 steps/rev * 5 revs/inch SCALE = -400 MIN_LIMIT = -10000.0 MAX_LIMIT = 10000.0 FERROR = 0.050 MIN_FERROR = 0.005 #HOME = 0.000 #HOME_OFFSET = 0.10 #HOME_SEARCH_VEL = 0.10 #HOME_LATCH_VEL = -0.01 #HOME_USE_INDEX = YES #HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 0 # these are in nanoseconds DIRSETUP = 200 DIRHOLD = 200 STEPLEN = 8000 STEPSPACE = 8000 [AXIS_Y] MIN_LIMIT = -10000.0 MAX_LIMIT = 10000.0 MAX_VELOCITY = 20 MAX_ACCELERATION = 100 [JOINT_1] TYPE = LINEAR MAX_VELOCITY = 20 MAX_ACCELERATION = 100 # Set Stepgen max 20% higher than the axis STEPGEN_MAX_VEL = 24 STEPGEN_MAX_ACC = 120 BACKLASH = 0.005 SCALE = -400 MIN_LIMIT = -10000.0 MAX_LIMIT = 10000.0 FERROR = 0.050 MIN_FERROR = 0.005 #HOME = 0.000 #HOME_OFFSET = 0.10 #HOME_SEARCH_VEL = 0.10 #HOME_LATCH_VEL = -0.01 #HOME_USE_INDEX = YES #HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 0 # these are in nanoseconds DIRSETUP = 200 DIRHOLD = 200 STEPLEN = 8000 STEPSPACE = 8000 [AXIS_Z] MIN_LIMIT = -10000.0 MAX_LIMIT = 10000.0 MAX_VELOCITY = 20 MAX_ACCELERATION = 100 [JOINT_2] TYPE = LINEAR MAX_VELOCITY = 20 MAX_ACCELERATION = 100 # Set Stepgen max 20% higher than the axis STEPGEN_MAX_VEL = 24 STEPGEN_MAX_ACC = 120 BACKLASH = 0.004 SCALE = 400 MIN_LIMIT = -10000.0 MAX_LIMIT = 10000.0 FERROR = 0.050 MIN_FERROR = 0.005 #HOME = 0.000 #HOME_OFFSET = 0.10 #HOME_SEARCH_VEL = 0.10 #HOME_LATCH_VEL = -0.01 #HOME_USE_INDEX = YES #HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 0 # these are in nanoseconds DIRSETUP = 200 DIRHOLD = 200 STEPLEN = 8000 STEPSPACE = 8000 [HOSTMOT2] DRIVER=hm2_eth BOARD_IP=192.168.1.121 BOARD=7i96s CONFIG="num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=0000"

My HAL:

# HAL file for HostMot2 with 3 steppers # # Derived from Ted Hyde's original hm2-servo config # # Based up work and discussion with Seb & Peter & Jeff # GNU license references - insert here. www.linuxcnc.org # # # ######################################## # Firmware files are in /lib/firmware/hm2/7i43/ # Must symlink the hostmot2 firmware directory of sanbox to # /lib/firmware before running EMC2... # sudo ln -s $HOME/emc2-sandbox/src/hal/drivers/mesa-hostmot2/firmware /lib/firmware/hm2 # # See also: # <www.linuxcnc.org/docs/devel/html/man/man...ml#config%20modparam> # and wiki.linuxcnc.org/cgi-bin/emcinfo.pl?HostMot2 # # ##################################################################### # ################################### # Core EMC/HAL Loads # ################################### # kinematics loadrt [KINS]KINEMATICS # motion controller, get name and thread periods from ini file loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS # hostmot2 driver loadrt hostmot2 # load low-level driver loadrt [HOSTMOT2](DRIVER) board_ip=[HOSTMOT2](BOARD_IP) config=[HOSTMOT2](CONFIG) # load estop latch component loadrt estop_latch # ################################################ # THREADS # ################################################ addf hm2_[HOSTMOT2](BOARD).0.read servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread # revel in the free time here from not having que run PID addf hm2_[HOSTMOT2](BOARD).0.write servo-thread addf estop-latch.0 servo-thread # ###################################################### # Axis-of-motion Specific Configs (not the GUI) # ###################################################### # ################ # X [0] Axis # ################ # axis enable chain newsig emcmot.00.enable bit sets emcmot.00.enable FALSE net emcmot.00.enable <= joint.0.amp-enable-out net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable # position command and feedback net emcmot.00.pos-cmd <= joint.0.motor-pos-cmd net emcmot.00.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-cmd net motor.00.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb net motor.00.pos-fb => joint.0.motor-pos-fb # timing parameters setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirsetup [JOINT_0]DIRSETUP setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirhold [JOINT_0]DIRHOLD setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.steplen [JOINT_0]STEPLEN setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.stepspace [JOINT_0]STEPSPACE setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-scale [JOINT_0]SCALE setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAX_VEL setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAX_ACC setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.step_type 0 # ################ # Y [1] Axis # ################ # axis enable chain newsig emcmot.01.enable bit sets emcmot.01.enable FALSE net emcmot.01.enable <= joint.1.amp-enable-out net emcmot.01.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.01.enable # position command and feedback net emcmot.01.pos-cmd <= joint.1.motor-pos-cmd net emcmot.01.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-cmd net motor.01.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-fb net motor.01.pos-fb => joint.1.motor-pos-fb # timing parameters setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirsetup [JOINT_1]DIRSETUP setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirhold [JOINT_1]DIRHOLD setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.steplen [JOINT_1]STEPLEN setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.stepspace [JOINT_1]STEPSPACE setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-scale [JOINT_1]SCALE setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAX_VEL setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAX_ACC setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.step_type 0 # ################ # Z [2] Axis # ################ # axis enable chain newsig emcmot.02.enable bit sets emcmot.02.enable FALSE net emcmot.02.enable <= joint.2.amp-enable-out net emcmot.02.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.02.enable # position command and feedback net emcmot.02.pos-cmd <= joint.2.motor-pos-cmd net emcmot.02.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-cmd net motor.02.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-fb net motor.02.pos-fb => joint.2.motor-pos-fb # timing parameters setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirsetup [JOINT_2]DIRSETUP setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirhold [JOINT_2]DIRHOLD setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.steplen [JOINT_2]STEPLEN setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.stepspace [JOINT_2]STEPSPACE setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-scale [JOINT_2]SCALE setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAX_VEL setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAX_ACC setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.step_type 0 # # The Mesa AnyIO output pins can be in open-drain mode (drive low, float # high) or push/pull mode (drive low, drive high). # # When a logical output is 1 in open-drain mode, the FPGA lets the pin # float and it gets pulled high to +5V via a 10K resistor. # # When a logical output is 1 in push/pull mode, the FPGA pushes the pin # high but only to +3.3V. This is problematic on some kinds of inputs. # #setp hm2_[HOSTMOT2](BOARD).0.gpio.048.is_opendrain 1 #setp hm2_[HOSTMOT2](BOARD).0.gpio.049.is_opendrain 1 #setp hm2_[HOSTMOT2](BOARD).0.gpio.054.is_opendrain 1 #setp hm2_[HOSTMOT2](BOARD).0.gpio.055.is_opendrain 1 #setp hm2_[HOSTMOT2](BOARD).0.gpio.060.is_opendrain 1 #setp hm2_[HOSTMOT2](BOARD).0.gpio.061.is_opendrain 1 # ################################################## # Standard I/O Block - EStop, Etc # ################################################## # A basic estop loop that only includes the hostmot watchdog. net user-enable iocontrol.0.user-request-enable => estop-latch.0.reset net enable-latch estop-latch.0.ok-out => iocontrol.0.emc-enable-in net watchdog hm2_[HOSTMOT2](BOARD).0.watchdog.has_bit => estop-latch.0.fault-in # create signals for tool loading loopback net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed

(Use CL57T stepper drivers)

Thanks
  • thanks for the help
  • thanks for the help
26 Oct 2025 19:56
Replied by thanks for the help on topic Manual tool change + tool lengh touch off

Manual tool change + tool lengh touch off

Category: Advanced Configuration

So no need for the tool table to populate?  I think I have it running correct now....I was able to have a long reference tool to establish a G54 offset, I called a TXM6 for a short tool, and with that short tool I called it back to G54 and it hit the z target correct.  As long as I know not to look for a tool in the tool table I think I good for this part unless you think I am missing anything?

On a side note, I have another switch wired up to set my z offset "my G54" that is mobile, meaning I can set it anywhere on the table to establish my initial z offset, but I don't know where to find the code or how to initiate the probing cycle to make that happen, can someone point me in a direction to make that happen?  

Thanks again for all the help!!!!!  I'm excited to get this thing working!!!!!!!
 
  • scotta
  • scotta's Avatar
26 Oct 2025 19:53
Replied by scotta on topic Remora with STM32H753ZI

Remora with STM32H753ZI

Category: Computers and Hardware

Here you go

github.com/remora-cnc/Remora-STM32H7xx-PIO

It even has TMC5160 support. Work has slowed a bit as we're porting over the F4, but the H7 is running.
  • scotta
  • scotta's Avatar
26 Oct 2025 19:50

Remora - Rpi Software Stepping Using External Microcontroller via SPI

Category: Computers and Hardware

The A and B channels should be connected to PE9 and PE11, index to PE13. So that looks correct. It should work, but I have not played with the QEI for ages.
  • boksi
  • boksi
26 Oct 2025 19:47 - 26 Oct 2025 19:49

Mesa smart serial or PktUART or serial over RS232 or udp for robot joints

Category: Advanced Configuration

Thanks both on suggestions, I see, checked both links quickly.
Have a question on principal level.
I need to have in fpga both uart component and quadrature enc component.
In order to work enc reading, first enc input pins should be connected to fpga input uart pins and then via some logic/demux this pins needs to be routed to quadrature logic in order to get inc pulses and also there is need to issue select signals on this demux after uart transfer sequence is finished.
Or other way, enc pins are connected to both uart and quadrature module components inside fpga but enable signals of both components are separately controlled via some conditions/logic.
Is this working this way or?
  • scotta
  • scotta's Avatar
26 Oct 2025 19:39

Remora SPI: Bad SPI payload, estop won’t reset, SKR 1.4 + RPi4 – config below

Category: Computers and Hardware

The SKR1.4 and LPC1768 are legacy and not supported in the latest version of the Remora component. You could try to use an older version of the component that supports the LPC1768.
  • Aciera
  • Aciera's Avatar
26 Oct 2025 19:19
Replied by Aciera on topic Manual tool change + tool lengh touch off

Manual tool change + tool lengh touch off

Category: Advanced Configuration

Tool offset is set here:
  G43.1 Z[#<_ToolZ> - #<_ToolZRef>]            ( Apply offset to Z height after Modal reset )

If this is run at every tool change then there may be no need to write the offset to the tool table.
  • tommylight
  • tommylight's Avatar
26 Oct 2025 19:10
Replied by tommylight on topic LinuxCNC installation + 7I96S

LinuxCNC installation + 7I96S

Category: Installing LinuxCNC

Does LinuxCNC complain about latency issues when running?
What does
ip a
in a terminal return?
Upload here the hal and ini files so we can have a look.
  • jmp97
  • jmp97
26 Oct 2025 18:43
Replied by jmp97 on topic LinuxCNC installation + 7I96S

LinuxCNC installation + 7I96S

Category: Installing LinuxCNC

I have a problem that I can't solve.

I replaced the Ethernet network card with an Intel one. At first everything seemed to be working fine, but then I started getting “joint tracking error” problems. LinuxCNC simply stops the machine.

I increased SERVO_PERIOD in the INI from 1000000 to 4000000 (I can't increase it any further, LinuxCNC won't let me exit emergency mode).

When I move the axes quickly with the arrow keys, it seems to respond better, but it still stops.

What could be the problem? The PC is new with an Intel I5. Only LinuxCNC is in use, nothing else is running. Everything is disabled in the BIOS.

It's causing me serious mental problems
  • andypugh
  • andypugh's Avatar
26 Oct 2025 18:41
Replied by andypugh on topic Subroutine error

Subroutine error

Category: General LinuxCNC Questions

G53 G0 Z0
 

Is Z=0 in machine coordinates inside the axis limits? If your soft-limit is at zero then possibly going to exactly zero triggers the error (I have a vague memory that this was a fixed bug, though). 

You could try setting max Z (or joint 2) to 0.01  (or whatever) then see if G53 Z0 still gives a fault. 
 
  • andypugh
  • andypugh's Avatar
26 Oct 2025 18:32

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

Category: CNC Machines

My thought is to write HAL components to interface LinuxCNC pins to Logosol's LDCN protocol. The servo drives run a 51.2 microsecond update rate, so 20 servo ticks is 1.024 ms. 


What bit rate is that at? 115200 bps is quite quick for RS485 (though the internet suggests that 42Mb/s is possible).

At 115200bps 51µs per packet only has space for 6 bits of data, so it either must be running unusually high bit rates or not updating as fast as suggested.
Displaying 8371 - 8385 out of 16341 results.
Time to create page: 0.283 seconds
Powered by Kunena Forum