Advanced Search

Search Results (Searched for: )

  • grandixximo
  • grandixximo's Avatar
16 Mar 2026 14:43
Replied by grandixximo on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

I'll wait and see what Sascha has to say, and wait a bit more to see if Scott will be able to dedicate sometime to the project.

Should I reach out to Bjarne? Or can you let him check the conversation in my PR in Scott's repo?
  • automata
  • automata
16 Mar 2026 14:32 - 16 Mar 2026 14:58
Replied by automata on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

Thanks for the comp file kinematics update.

I am trying that out.In the meantime, I have been experimenting with current update.
I find that the planner type 2 also cannot accelerate across multiple segments. For a file with very small lines, it is not taking up adequate speed and the file execution is very slow. I am going to try to increase the jerk and try it on a real machine too...  
 

The ngc/tap file is also attached.  

File Attachment:

File Name: flower.ngc
File Size:716 KB


I was thinking this could be solved with defining zones for acceleration. Where segments with similar kinematic parameters and some tolerance of direction can be accelerated over simultaneously. 
I have tried to capture my "Zones" based acceleration idea (using Claude.ai to elaborate on the details).A zone is a group of consecutive path segments that are treated as a single kinematic unit for acceleration planning. Segments are grouped into a zone when they are nearly collinear — i.e., the direction change between them is below a threshold (angle_threshold, default ~0.57°). A zone boundary is created when:
  • The direction change exceeds the threshold  or 
  • The kinematic limits (v_max, a_max, j_max) differ between adjacent segments 
This collapses thousands of micro-segments (e.g. from a linearized arc) into just a handful of zones

Corner Velocity Constraint: At each zone boundary (a "corner"), the maximum speed the machine can carry through the junction is computed geometricallyradius = path_tolerance / (1 - cos(θ/2))  
v_corner = sqrt(a_max × radius)
  • path_tolerance = max allowable deviation from the sharp corner (e.g. 0.01 mm)  
  • θ = junction angle between the two direction vectors
  • A 90° corner at 0.01 mm tolerance and a_max=500 gives v_corner ≈ 4.1 mm/s — forces a near-stop
  • A collinear junction (θ→0) gives v_corner → ∞ — no speed reduction needed

Zone-Level Bidirectional Velocity Planning: This is where acceleration is actually resolved:
Forward pass — starting from v_start, for each zone compute how fast the machine can exit given the distance and limits:          
           v_fwd[k 1] = min(max_reachable_from(v_fwd[k]), zone_Vmax, v_corner[k 1])
Backward pass — starting from v_end, do the same in reverse:          
           v_bwd[k] = min(max_reachable_from(v_bwd[k 1]), zone_Vmax, v_corner[k])
Merge pass — take the minimum at every zone boundary:          
           v_zone[k] = min(v_fwd[k], v_bwd[k], v_corner[k])

VelocityPlanner.max_reachable_velocity computes how fast you can reach the end of a segment given jerk/accel limits. Zones are then classified as accel, cruise, or decel based on whether the entry/exit velocities rise, stay flat, or fall. Consecutive same-type zones are merged into runs, and one S-curve (7-phase jerk-limited profile from SCurveSolver) is planned per run.This means for a linearized arc with 1000 micro-segments, only ~3–4 S-curve phases are generated (ramp-up, cruise, ramp-down), instead of 1000 independent profiles.

Regards,

-automata
  • Pipik
  • Pipik
16 Mar 2026 13:52
Replied by Pipik on topic absolute multiturn encoders (solved)

absolute multiturn encoders (solved)

Category: HAL

I solve it right now by putting in hal file this line -
net machine-is-on halui.machine.is-on halui.joint.0.home

Write this for all joints you have, just connect machine-is-on to all joints.home.

When you enable your machine, it will trigger homing for each joint. Its not so dangerous I think, because you still need to Enable machine, but you dont need to extra click Home-all.
If you have properly setup homing via absolute encoders, machine will not move at all, just take possition from servo.

This solution is not solving if servo lost position, but it can be easily checked and routed to rehome script. I will solve this later.
  • jefflikesbagels
  • jefflikesbagels
16 Mar 2026 12:47
Replied by jefflikesbagels on topic Brother carousel encoders

Brother carousel encoders

Category: CNC Machines

Hi ihavenofish,

I read through that entire thread, unfortunately I couldn't find anything specifically on the pinout. I think I am going to have to remove the ATC shroud and take a look at the board. Here are some relevant posts from that thread:

forum.linuxcnc.org/30-cnc-machines/32276...ure?start=360#172455
forum.linuxcnc.org/30-cnc-machines/32276...ure?start=470#258347
forum.linuxcnc.org/30-cnc-machines/32276...nture?start=10#87606
forum.linuxcnc.org/30-cnc-machines/32276...nture?start=60#96531

I did some more searching online, and stumbled on this Brother B521136-2 board. It's not labeled for a TC225, but it has what appears to be the same number of pins, so I might be able to at least look at this to cross reference to what I have. The harness I have is labeled as follows:

E - Green w/ Yellow Stripe
49 - White w/ Yellow Stripe
50 - White w/ Green Stripe
51 - Blue Solid
52 - White w/ Blue Stripe
53 - Yellow Solid
54 - White w/ Red Stripe
55 - Red Solid




I feel pretty good about setting up HAL to handle the four BCD encoder bits, the deceleration signal, and the limit switch swap; there is a ton of good information in your thread that I will certainly use as a starting point. When I got the machine, however, it was in mid-retrofit, and pretty much all of the original hardware is gone - the only thing left are the factory limit switches, the Oriental Motor SBR32-ZP brake pack, and the Oriental Motor gear motor.

Thanks,
Jeff
  • hmnijp
  • hmnijp
16 Mar 2026 12:20

Probe Basic offset direction not seeming to work

Category: QtPyVCP

I am trying to load up a 1" wood surfacing bit. I wanted to use the tool offset direction in the probing but it doesn't seem to work. I didn't find anything in the documentation to explain how. I added the diameter to the tool table to no avail. Also on the probing menu, what do "User Params" 1 and 2 do?


It should work. Using the diameter offset changes the coordinates of the touch point in the macro.

kcjengr.github.io/probe_basic/tool_lengt...f-parameter-settings

github.com/kcjengr/probe_basic/blob/main...ol_touch_off.ngc#L32
#<tool_radius_offset> = [#<tool_diameter> / 2]
#<left_offset_probing_position> = [#<tool_touch_x_coords> - #<tool_radius_offset>]
#<right_offset_probing_position> = [#<tool_touch_x_coords> + #<tool_radius_offset>]
#<front_offset_probing_position> = [#<tool_touch_y_coords> - #<tool_radius_offset>]
#<back_offset_probing_position> = [#<tool_touch_y_coords> + #<tool_radius_offset>]

o100 if [#<tool_diameter_offset_mode> EQ 1]
    o101 if [#<tool_setter_offset_direction> EQ 0]
        #<tool_touch_x_coords> = #<left_offset_probing_position>
    o101 else if [#<tool_setter_offset_direction> EQ 1]
        #<tool_touch_x_coords> = #<right_offset_probing_position>
    o101 else if [#<tool_setter_offset_direction> EQ 2]
        #<tool_touch_y_coords> = #<front_offset_probing_position>
    o101 else if [#<tool_setter_offset_direction> EQ 3]
        #<tool_touch_y_coords> = #<back_offset_probing_position>
    o101 endif
o100 endif
  • rodw
  • rodw's Avatar
16 Mar 2026 09:58
Replied by rodw on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

Honestly, waiting for Scott for some direction, he is not been replying any messages, so at the moment everything is stale, I don't really want to touch core functionality, I'm not sure about the uspace work by Sascha, should linuxcnc take that in as well? We would have to build Sasha's ethercat master as well to enable all of that. Not sure what the community needs

Thats a but disappointing. Its hard to keep commitment on projects like this. Sasha lost interest and it was badly broken. At one stage, I hosted the hal driver repo briefly when I built the initial 2.9 ISO then Bjarne at etherlab did a deal with Sasha to host it direct. I gladly gave it up. Then Scott did a deal with Sasha to host it and develop it (which he did). So I did some intros and Bjarne helped Scott build workflows to send builds to the etherlab repo so it was hosted and available so that was pretty cool. I see Sasha's page says use Scotts repo and he hadn't made any commits since 2024 until a mad flurry of commits in 2026! Whatever you do etherlab will be very supportive.

Its just a shame the Ethercat license does not allow linuxcnc to manage it.

Not sure if that helps....
  • prokopcio
  • prokopcio's Avatar
16 Mar 2026 09:16

Laser Head Height Sensor – Looking for a Beta Tester

Category: Plasma & Laser

Is there stock available for purchase of the height sensor?

A couple of days ago, I saw 1 in stock, but when attempting to purchase, it said out of stock.

Send me private message plese.
or beter contact by WhatsApp +48 604 247 648 
  • Pipik
  • Pipik
16 Mar 2026 08:27 - 16 Mar 2026 09:02
Replied by Pipik on topic StepperOnline A6 Servo

StepperOnline A6 Servo

Category: EtherCAT

Hi, 
here is my configuration.
It works. I use XYYZ.
 

Hello.
Just trying to set up simmilar machine configuration asyou have. I am trying to use your configuration, but run into weird problem - at hal, Ethercat to CIA402 driver mapping section, "joint.0.cia-statusword does not exist".
Also joint.0.request-cia-homing, joint.0.start-cia-homing,
What am I missing?
  • grandixximo
  • grandixximo's Avatar
16 Mar 2026 06:31
Replied by grandixximo on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

Honestly, waiting for Scott for some direction, he is not been replying any messages, so at the moment everything is stale, I don't really want to touch core functionality, I'm not sure about the uspace work by Sascha, should linuxcnc take that in as well? We would have to build Sasha's ethercat master as well to enable all of that. Not sure what the community needs
  • rodw
  • rodw's Avatar
16 Mar 2026 06:19
Replied by rodw on topic Trouble with XFCE (trixie) timed logouts

Trouble with XFCE (trixie) timed logouts

Category: Installing LinuxCNC

Its actually very difficult to stop this. Been there done that.
You could try running this script with sudo. It creates some system settings that have been working for me.
#!/bin/bash

set -e

# 1. GLOBAL XFCE SETTINGS (XDG)
# This overrides defaults for ALL users (Live user and installed users)
mkdir -p /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/

# Force Presentation Mode and Disable Sleeping/Blanking
cat <<EOF > /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-power-manager" version="1.0">
  <property name="xfce4-power-manager" type="empty">
    <property name="presentation-mode" type="bool" value="true"/>
    <property name="lock-screen-suspend-hibernate" type="bool" value="false"/>
    <property name="blank-on-ac" type="int" value="0"/>
    <property name="dpms-on-ac-sleep" type="int" value="0"/>
    <property name="dpms-on-ac-off" type="int" value="0"/>
    <property name="dpms-enabled" type="bool" value="false"/>
  </property>
</channel>
EOF

# Disable Screensaver Globally
cat <<EOF > /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/libxfce4ui.xml
<?xml version="1.0" encoding="UTF-8"?>
<channel name="libxfce4ui" version="1.0">
  <property name="screensaver" type="empty">
    <property name="enabled" type="bool" value="false"/>
  </property>
</channel>
EOF

# 2. BRUTE FORCE X11 DISABLE
# This ensures that even if XFCE isn't running, the X server itself won't blank
mkdir -p /etc/X11/xorg.conf.d/
cat <<EOF > /etc/X11/xorg.conf.d/10-disable-blanking.conf
Section "ServerFlags"
    Option "BlankTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "OffTime" "0"
EndSection
EOF

# 3. SYSTEMD MASKING (The Nuclear Option)
# This prevents the OS from sleeping even if a "suspend" command is sent
systemctl mask suspend.target hibernate.target sleep.target hybrid-sleep.target
  • currinh
  • currinh's Avatar
16 Mar 2026 04:23

Trouble with XFCE (trixie) timed logouts

Category: Installing LinuxCNC

Every few years I upgrade something on my stepper controlled knee-mill. I usually get sucked into upgrading linuxcnc at the same time. I just upgraded the stepper motors and put a new controller on. The new controller is using Mesa 5i25 and 7i76 cards with Gecko drivers. I was running linuxcnc 2.9.4 and decided to upgrade to 2.9.8. Rather than upgrade I did a new install with 2.9.8 (Debian trixie).

After install, and working though several problems, I have linuxcnc 2.9.8 working well with a Pncconf configuration. But, I am having great trouble with the computer logging out every 30-60 minutes. A very bad thing for a machine controller. I suspect this is in the XFCE environment but can not find a solution via Internet searching.

I did find, through searching, and have implemented the following changes:

I changed /etc/ligntdm/ligntdm.conf to implement auto login by un-commenting
  autologin-user-[my user name : hugh]
  autologin-user-timeout = 0

In the XFCE settings I disabled Lock Screen [disable "Lock screen when idle"] and disabled Screen Saver.

To prevent logout from /etc/syslogout I put an empty file as "$HOME/.nosyslogout"

In XFCE setting, under Power Management, assured the "Suspend When Inactive for" was set to never.

I did try, I believe, disabling the Display Power Management toggle in the setting menu. This caused a broken system. When a login was done the machine thought awhile then returned to the login screen. I could not figure out how to fix this via the terminal so had to re-install linuxcnc. I re-installed once without re-formatting the /home directory but the login loop was still present. Another re-install with re-formatting all partitions brought me back to zero. I'm trying to not repeat this error.

The computer now starts up without requiring a  login, that's fine. It works for 30-60 minutes and then logs me out. The result of the logout was a new login screen (user: & password). After the above changes, auto login, it automatically logs me back in. But for both of these, any running applications, like linuxcnc, are killed with the logout/login.

What am I missing? Is there a simple fix or should I step back to linuxcnc 2.9.4 and see if it still works?

I am surprised by this problem. I'd think a linuxcnc ISO should be set up for no screen saver and certainly no timed logout. This seems like death to a machine controller where a complicated program could run for a couple of hours. This tends to convince me I've done something wrong with this new clean install.

Thank you for any help you can provide.
  • timo
  • timo
16 Mar 2026 03:25
Replied by timo on topic Inaccurate milling - what could it be?

Inaccurate milling - what could it be?

Category: Basic Configuration

The question is how far are you off dimension?
Are we talking about 0.005 mm? Or mor like 0.2 mm? :-)
On the video it looks like your endmill sticks out "far too" long.
You probably can put it further up into the holder.
Follow suggestions of #344316, finish pass.
  • rodw
  • rodw's Avatar
16 Mar 2026 03:04
Replied by rodw on topic Ethercat random jitter fix

Ethercat random jitter fix

Category: EtherCAT

Take care with merging Sasha's code. The master linuxcnc-ethercat driver is now Scott Lairds repo github.com/linuxcnc-ethercat as it has a workflow that pushes the driver when built across to etherlabs repo on gitlab so we can get the driver with sudo apt install 
Displaying 421 - 435 out of 17764 results.
Time to create page: 0.257 seconds
Powered by Kunena Forum