Advanced Search

Search Results (Searched for: )

  • PCW
  • PCW's Avatar
29 Jan 2026 02:25

Using Mesa 7i95T for laser + galvo (xy2-100) control

Category: Driver Boards

Building  the bin files basically amounts to:

installing the Efinity too chain

unzipping the Mesa source for the particular card in to Efinitys project directory

Creating the desired pinout file for a particular configuration
(mainly a copy-past operation from existing pinout files)

adding the new pinout file to the project

including the new pinout file in the top level source

build

Note that I included the pinout source for the 7I95T  XY2-100 configuration
  • tommylight
  • tommylight's Avatar
29 Jan 2026 02:22
Replied by tommylight on topic Debian Trixie upgrade/install to 2.9.4

Debian Trixie upgrade/install to 2.9.4

Category: Installing LinuxCNC

You will need to boot from a USB on the PC you want to make an image of, any Linux should do, and use DD to make an image of the existing drive.
You need to be very careful with DD and exact naming of the input and output drive (named file in DD), and use fdisk to find out those exact names.
That is quite some steps and many ways to mess things up, subsequently end up with a useless system.
Only after you start dealing with all of the above you can know exactly how hard it is to advise anyone about it.
-
A bit easier way is to download and write to a USB CloneZilla, then boot from it and use the limited GUI included with it, again being careful when choosing the source and destination drives.
-
Both ways above will require having the same exact space as the source drive for the destination, or bigger.
  • PCW
  • PCW's Avatar
29 Jan 2026 02:18
Replied by PCW on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

I still get this at 100% feed override:

 

The ini file

 

File Attachment:

File Name: 7i96s-1kio.ini
File Size:7 KB


(I set ini.traj_planner_type =1 by hand before starting)
 
  • grandixximo
  • grandixximo's Avatar
29 Jan 2026 02:18
Replied by grandixximo on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

@grandixximo

During further testing, I noticed the following:

A sudden drop in jerkiness during acceleration build-up and deceleration, and a jerk greater than zero where there should be no jerkiness (red circles).
Cause?
tp.c
line 2836
"int need_decel = (margin <= TP_POS_EPSILON) || (dx - moveL <= dlen2);"

A brief exceedance of the maximum jerk value when acceleration ends (blue circles).
Cause?
sp_curve.c
lines 490 to 499
"if ((deltaV < 0 && targetV < v && v + deltaV < targetV) ||
      (0 < deltaV && v < targetV && targetV < v + deltaV)) {
    //nextA = (targetV - v) / t;
    nextA = 2.0 * (targetV - v) / t - a;
    if(nextA >= maxA){
      nextA = maxA;
      targetV = (a + nextA) * t / 2.0;
    }
    //printf("############################  FIXED nextA to be:  %.14f \n", nextA);
    v = targetV;"


I cannot say what is incorrect in the previous calculations.

gruß
Rüdiger

 


Did you test this? you have a patch we can look at? YangYang said those are both necessary, did you see what happens if you remove/fix the code you referencing as the causes?

 
  • unknown
  • unknown
29 Jan 2026 02:07 - 29 Jan 2026 03:49
Replied by unknown on topic Debian Trixie upgrade/install to 2.9.4

Debian Trixie upgrade/install to 2.9.4

Category: Installing LinuxCNC

Mate all I did was called you a newbie, if you take that as being called ignorant that's an issue you have to resolve within yourself.
  • suraj9735
  • suraj9735's Avatar
29 Jan 2026 01:46

Adding external switch for emergency stop and feed override

Category: Basic Configuration

Hello PCW,

Can you explain more wiring of encoder pin of 7i95 with analog voltage supply from LabVIEW hardware. In my knowledge, encoder pin of 7i95 is a digital pin and we can not connect with an analog input power supply pin?

I am ok with buying a new 7i73 daughter card if this is not possible with 7i95 card alone. Give some more guidance on how to connect 7i73 card with 7i95 card and the piece of code need to be written in .ini and .hal file
  • grandixximo
  • grandixximo's Avatar
29 Jan 2026 01:43
Replied by grandixximo on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

@endian I discussed this with YangYang who attends the EtherCAT consortium meetings. AitalMAC is part of the consortium and we design I/O for EtherCAT, so we're not guessing here.
The standard already solves this problem. You don't need pos(t+1).
The 1 cycle delay is real, but it's identical for all axes. With Distributed Clocks everything executes on the same SYNC edge, synchronized to ~100ns. Every axis is "late" by the same amount, so the path shape is correct. Calculate it last week, execute it this week, the part is the same.
The CiA 402 standard provides feedforward objects exactly for this: 0x60B1 (velocity offset) and 0x60B2 (torque offset). The master can send position plus velocity feedforward so the drive can anticipate acceleration. This is the standard's solution, it just needs to be mapped in lcec.
Also, good drives interpolate internally. The servo loop runs faster than the bus cycle (Maxon runs 0.4ms internal vs 1ms bus). The drive doesn't jump between positions, it interpolates. That's what 0x60C2 configures.
If you're seeing ferror correlate with velocity in halscope, that's likely a display artifact. The ferror compares "commanded from 1 cycle ago" with "actual now", so it shows an offset proportional to velocity. It's not a real machining error.
What does your actual part surface look like? Any real deviation you can measure?
 
I think not every hardware has 0x60B1:01 in the accessible PDOs and not everyone can use unsynchronized SDO to change during OP ... therefore I am high-lighing it before job is done ... I have working with 16 different brands of servodrivers based on ethercat and just one it has(nidec control techniques) ... What I know from TC3 this is solved by NC stuff computing for the each single axis ... 

I do not want to talk about ethercat here .. we have separate space, but in reality it is lagging 2cycles because at hardare layer it writes command first and then it reads the slave status... then next cycle it write command by last status and then cycle it reach real status datas ... (Martin Rostan (Chairman ETG group) - when I was with him at last time at conference in Bratislava)

SDO 0x60C2 is configuring the timing of internal stuff of interpolationn of synchronized movement by subindex 01 and 02 .. most drivers it has to have it at same time of master command tick but we knows some which do not as Beckhoff AX5 series 

I am at second computer and I will update picture later this weel but during movement in 15m/s it can produce lag of 0.2mm with timing 250us ... which sound terrible 0

I did compensation component which add posCmd = position command + compensation during vcommand != 0 and every lag was gone ... it was purely for testing but solution is clear
positionOutputCompensated = positionOutput;
            
            if(fabs(vel_cmd) > 0.001)
            {
                double leadCycleLocal = lead_cycles;
                
                const double Ts = periodTime;
                const int    L  = (leadCycleLocal < 1) ? 1 : leadCycleLocal;
                const double LTs = (double)L * Ts;
                

                
                double lead = (vel_cmd * LTs) + (0.5 * acc_cmd * LTs * LTs);
                
                double ferr;
                ferr = (positionOutput - pos_fb_from_incremental);
                
                double comp = (kff * lead) + (k_err * ferr);
                posCompensation = comp;
            
                if(fabs(ferr) > fabs(fErrorOld) || fTopError == 0.0)
                {
                    fErrorOld = ferr;
                    fTopError = fErrorOld;
                }
            }
            else
            {
                posCompensation = 0;
            }
        
        positionOutputCompensated = positionOutput + posCompensation;
        
        if(ui_delayFinal > 0)
        {
            positionOutputCompensated = positionOutput;
            ui_delayFinal--;
        }
        
        //drv_target_position_incremental = (int32_t)(positionOutput * pos_scale * incremental_pos_scale);

        drv_target_position_incremental = (int32_t)(positionOutputCompensated * pos_scale * incremental_pos_scale);
 

 I think I understand better now, good to know this issue exists. When I get to Phase 5 testing at 250µs, I might see this show up as following error that isn't the planner's fault.I will bookmark this for later, is you compensation component available to test with?
  • grandixximo
  • grandixximo's Avatar
29 Jan 2026 01:35
Replied by grandixximo on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

I had the same things happining a while ago when I tested Michels s curve. In the end theese (exactly like your situations) were just "calculation errors" and he solved it by adding allowed dwviations. Pos_out got a allowed deviation of 1e-4 I think.

Like you see in my pictures he had imperfections too. Michels s curve code tested outside linuxcnc when I implemend s curve backlash compensation as a proof of concept.
 

G-code? config folder?
  • COFHAL
  • COFHAL
29 Jan 2026 01:30 - 29 Jan 2026 01:31
Replied by COFHAL on topic Debian Trixie upgrade/install to 2.9.4

Debian Trixie upgrade/install to 2.9.4

Category: Installing LinuxCNC

Thank you for your response, and also for your subtle sarcasm in calling me ignorant every time I comment or ask for help in the threads you also participate in. But I think it's better to be considered ignorant than to learn nothing, even if you're treated like garbage. What I'm trying to figure out is how to create an .img file of my hard drive's contents without having to reinstall applications that aren't included in the .img file, like the one you created for the Raspberry Pi 4 with Debian 13, which I've already installed on four Pi 4s. After installation, I add other applications and compile some components that aren't included in the official LCN version, and doing all that every time I install the image you created wastes a lot of my time.
  • micklethenickel
  • micklethenickel
29 Jan 2026 01:24
  • PCW
  • PCW's Avatar
29 Jan 2026 01:19

Using Mesa 7i95T for laser + galvo (xy2-100) control

Category: Driver Boards

7I95T configuration with last two stepgens replaced with XY2-100 galvanometer outputs
and serial 0 RX replaced with XY2-100 Status


 

File Attachment:

File Name: 7i95t_xymodd.zip
File Size:281 KB

 
  • grandixximo
  • grandixximo's Avatar
29 Jan 2026 01:19 - 29 Jan 2026 01:20
Replied by grandixximo on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

A word of caution to anyone testing the new planner on real hardware:

I would strongly recommend to NOT activate the new planner in the ini file.
I dropped my homing velocities to 20% and my real hardware setup still runs into the hard stops on homing.

Users should leave ini.planner_type = 0, home the machine and use halshow to set ini.planner_type = 1.


Try with max_jerk and default_jerk to 10000 or more, 1000 was more for showcasing the curves, not to run on actual hardware, already planning to change the showcase ini to 10000 
  • grandixximo
  • grandixximo's Avatar
29 Jan 2026 01:17
Replied by grandixximo on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

I've been trying to test this on real hardware using Mesa but I cannot seem to get the new planner to work at all.

- [TRAJ] section has 'MAX_LINEAR_JERK = 1000.0'
- both [JOINT_0] and [JOINT_1] have 'MAX_JERK = 1000.0'
- ini.planner_type = 1



Yet running this code in G61.1 mode
G21
F5000
G0 x0 y0
g1 x20
y20
x0
y0
m2


I get this:

 [attachment=74126]Screenshot from 2026-01-27 10-31-48.png[/attachment]

here is my ini file:
[spoiler]
# This file was updated with the Mesa Configuration Tool on Nov 25 2025 13:43:50
# Changes to most things are ok and will be read by the Configuration Tool

[MESA]
VERSION = 2.1.8
BOARD = 7i95
BOARD_NAME = 7i95t

[EMC]
VERSION = 1.1
MACHINE = test_setup
DEBUG = 0x00000000

[HM2]
DRIVER = hm2_eth
ADDRESS = 192.168.1.121

[DISPLAY]
DISPLAY = axis
PROGRAM_PREFIX = ./nc_files
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
MIN_LINEAR_VELOCITY = 0.0
DEFAULT_LINEAR_VELOCITY = 150.0
MAX_LINEAR_VELOCITY = 300.0
CYCLE_TIME = 0.1
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 0
OPEN_FILE = ./square.ngc
EDITOR = gedit
DEFAULT_ANGULAR_VELOCITY = 18000
MAX_ANGULAR_VELOCITY = 36000
MIN_ANGULAR_VELOCITY = 1

[KINS]
KINEMATICS = trivkins
JOINTS = 2

[EMCIO]
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[RS274NGC]
PARAMETER_FILE = parameters.var

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

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[TRAJ]
COORDINATES = XY
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 200.0
PLANNER_TYPE = 1
MAX_LINEAR_JERK = 1000.0
DEFAULT_LINEAR_JERK = 500.0

[HAL]
HALFILE = main.hal

[AXIS_X]
MIN_LIMIT = 0
MAX_LIMIT = 300
MAX_VELOCITY = 300
MAX_ACCELERATION = 800

[JOINT_0]
CARD = 0
MIN_LIMIT = 0
MAX_LIMIT = 300
MAX_VELOCITY = 300
MAX_ACCELERATION = 800
MAX_JERK = 1000.0

TYPE = LINEAR
SCALE = 252.65
STEPGEN_MAX_VEL = 360.00
STEPGEN_MAX_ACC = 960.00
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 4000
STEPSPACE = 4000
ENCODER_SCALE = 200
FERROR = 1.5
MIN_FERROR = 0.25
DEADBAND = 0.01
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME_OFFSET = -0.75
HOME = 0
HOME_SEARCH_VEL = -5
HOME_LATCH_VEL = -5
HOME_FINAL_VEL = 2.5
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0

[AXIS_Y]
MIN_LIMIT = 0
MAX_LIMIT = 300
MAX_VELOCITY = 300
MAX_ACCELERATION = 800

[JOINT_1]
CARD = 0
MIN_LIMIT = 0
MAX_LIMIT = 300
MAX_VELOCITY = 300
MAX_ACCELERATION = 800
MAX_JERK = 1000.0
TYPE = LINEAR
SCALE = 252.65
STEPGEN_MAX_VEL = 360.00
STEPGEN_MAX_ACC = 960.00
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 4000
STEPSPACE = 4000
ENCODER_SCALE = 200
FERROR = 1.5
MIN_FERROR = 0.25
DEADBAND = 0.01
P = 1000
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME_OFFSET = 0.25
HOME = 0
HOME_SEARCH_VEL = -5
HOME_LATCH_VEL = -5
HOME_FINAL_VEL = 2.5
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0
[/spoiler]

What am I missing?
 

Axis Max Jerk ?
  • unknown
  • unknown
29 Jan 2026 01:13 - 29 Jan 2026 01:15

Solving the USB Latency Dogma for HMI/MPG: Technical Feedback Request

Category: Driver Boards

So.....you are wanting testers for a closed source hardware project ;)
What's in it for the testers ? :)

USB Stability & Real-Time Thread I’m well aware that USB isn't for the Servo Thread. 

What thread will it run in ? And you suggesting another thread to add to a config ? What period would this be run at ?
How would that affect a config that has a base thread (for software step gen) and a servo thread for other functions ?
  • grandixximo
  • grandixximo's Avatar
29 Jan 2026 01:13 - 29 Jan 2026 01:37
Replied by grandixximo on topic LinuxCNC S-Curve Accelerations

LinuxCNC S-Curve Accelerations

Category: General LinuxCNC Questions

A word of caution to anyone testing the new planner on real hardware:

I would strongly recommend to NOT activate the new planner in the ini file.
I dropped my homing velocities to 20% and my real hardware setup still runs into the hard stops on homing.

Users should leave ini.planner_type = 0, home the machine and use halshow to set ini.planner_type = 1.
 

I would echo this warning for the latest master changes

1. Jerk does not seem to be limited nor acceleration:

 

2. Commanded position may take off on random tangents"

 

 


 



Do you think this is related to the 0000% feed override? how many multipliers of feed override have you set?

I tested with my configuration can complete torus no problem but I only did 200%

can you zip your config folder? I also don't use inches, that could be a factor.
Displaying 121 - 135 out of 19762 results.
Time to create page: 0.707 seconds
Powered by Kunena Forum