Search Results (Searched for: )
- CNCJIM
28 Oct 2026 16:41
Lenovo T490 Laptop Tuning issues was created by CNCJIM
This Lenovo Laptop is a 4 core i5 8650 with hyper threading disabled and most of the I/O. I was able to get the latency down to 1.4ms for the Servo Thread and 2.5ms for the Base Thread, by manually tweaking the Grub default command line and adding a service to start at runtime to control the fans and power level. But with this result. Is the latency withing bounds of running a Mesa 7i96S without issue. I have disabled all of the I/O except for the USB and disk drive. I had to change the SSD from a NVME M.2 to an SATA III, m.w , Because interrupts were showing up for nvme0q4 causing issues. Evidenlty all cpu's have these interrupt queues by default and nothing can be done to reassign them.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash consoleblank=0 fbcon=blank:0 nvme.io_queues=2 isolcpus=managed_irq,domain,3 nohz=on nohz_full=3 rcu_nocbs=3 processor.max_cstate=1 pcie_aspm=off rqaffinity=0,1,2 kthread_cpus=0,1,2 ipv6.disable=1 i915.enable_dc=0 i915.enable_fbc=0 i915.enable_psr=0 i915.enable_rc6=0 intel_idle.max_cstate=1 intel_pstate=disable skew_tick=1 mitigations=off nosmt nosoftlockup nowatchdog nvme_core.default_ps_max_latency_us=0 usbcore.autosuspend=-1"
GRUB_CMDLINE_LINUX=""
I did not run rt_setup.sh - because I see no history in the header about the package and its uipdate. I do not know the vintage of the file.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash consoleblank=0 fbcon=blank:0 nvme.io_queues=2 isolcpus=managed_irq,domain,3 nohz=on nohz_full=3 rcu_nocbs=3 processor.max_cstate=1 pcie_aspm=off rqaffinity=0,1,2 kthread_cpus=0,1,2 ipv6.disable=1 i915.enable_dc=0 i915.enable_fbc=0 i915.enable_psr=0 i915.enable_rc6=0 intel_idle.max_cstate=1 intel_pstate=disable skew_tick=1 mitigations=off nosmt nosoftlockup nowatchdog nvme_core.default_ps_max_latency_us=0 usbcore.autosuspend=-1"
GRUB_CMDLINE_LINUX=""
I did not run rt_setup.sh - because I see no history in the header about the package and its uipdate. I do not know the vintage of the file.
- hhscott
28 Oct 2026 13:59
Replied by hhscott on topic FabScan - LinuxCNC Camera-Assisted Tracing / Scanning Project
I am very interested in the development of this project. Many thanks for your work!
Do you know if your current version would have any issues running on a pi5 8GB machine? That's what I am using to run my full size CNC router.
HH
Do you know if your current version would have any issues running on a pi5 8GB machine? That's what I am using to run my full size CNC router.
HH
- dberegovoy
28 Oct 2026 12:09
WTT / WTS: Omron NX-ECC201 Coupler + I/O Kit (Looking for Differential Encoder M was created by dberegovoy
Hi everyone,
I have a few Omron NX kits available, exactly as shown in the picture. I want to trade one of these kits for an encoder module or sell it.
The kit includes:
• 1x NX-ECC201 (EtherCAT Coupler)
• 3x NX-ID5342 (High-Speed Input Modules, 16 pins each, 48 total inputs)
• 2x NX-OD5121 (High-Speed Output Modules, 16 pins each, 32 total outputs)
I have already tested the coupler and toggled the output module LEDs directly from a Linux terminal via EtherCAT. I pulled the original ESI XML files from Sysmac Studio and can provide them if needed.
What I am looking for:
• Omron NX-EC0142 or NX-EC0132 (differential encoder modules with digital inputs)
Since I am doing this to learn EtherCAT, I am flexible and open to other brands. I am also willing to trade one of my kits for a Beckhoff EtherCAT coupler combined with a differential encoder input module.
Thanks!
I have a few Omron NX kits available, exactly as shown in the picture. I want to trade one of these kits for an encoder module or sell it.
The kit includes:
• 1x NX-ECC201 (EtherCAT Coupler)
• 3x NX-ID5342 (High-Speed Input Modules, 16 pins each, 48 total inputs)
• 2x NX-OD5121 (High-Speed Output Modules, 16 pins each, 32 total outputs)
I have already tested the coupler and toggled the output module LEDs directly from a Linux terminal via EtherCAT. I pulled the original ESI XML files from Sysmac Studio and can provide them if needed.
What I am looking for:
• Omron NX-EC0142 or NX-EC0132 (differential encoder modules with digital inputs)
Since I am doing this to learn EtherCAT, I am flexible and open to other brands. I am also willing to trade one of my kits for a Beckhoff EtherCAT coupler combined with a differential encoder input module.
Thanks!
- dberegovoy
28 Oct 2026 11:38
Replied by dberegovoy on topic Lathe Spindle Encoder: What are the options for EtherCAT?
Quick update: I made a mistake with the part numbers in my previous post.
The NX-EC0222 and NX-EC0122 modules do not support differential signals. The correct Omron modules for a differential line driver setup are actually the NX-EC0132 or NX-EC0142.
Also, I'm interested in pairing one of these encoder modules with an NX-DA3605 analog output module to control a heavy-duty CNC lathe spindle via ±10V (both for speed and C-axis positioning), as I have an eye on one such analog module. Has anyone here tried this specific combination? Any success or failure stories with this setup?
The NX-EC0222 and NX-EC0122 modules do not support differential signals. The correct Omron modules for a differential line driver setup are actually the NX-EC0132 or NX-EC0142.
Also, I'm interested in pairing one of these encoder modules with an NX-DA3605 analog output module to control a heavy-duty CNC lathe spindle via ±10V (both for speed and C-axis positioning), as I have an eye on one such analog module. Has anyone here tried this specific combination? Any success or failure stories with this setup?
- grandixximo
-

28 Oct 2026 07:17 - 28 Oct 2026 07:18
Both LinuxCNC 2.9.x and 2.10 are supported. The v1.47.0 release provides plain packages for 2.9.x and +getset packages for 2.10.0~pre2 and later. The component uses a compatibility layer for the old and new HAL APIs, while keeping the original pin and parameter names, so existing loadrt cia402 ... configurations should carry over.
On homing: your custom homecomp handles LinuxCNC-side homing integration and is not part of CiA 402, so it remains separate from the generic cia402 component. This release only ports Dominik's component to C. It still triggers and monitors drive-internal homing; the selected CiA 402 homing method, including methods using switches connected to the drive, is configured in the drive. No homecomp functionality has been added.
Replied by grandixximo on topic cia402.comp - can't compile in 2.10-pre2
Great work. I assume this is only for 2.10 or does it also work for 2.9?
Also, Dominic's original component did not support homing with switches attached to the drive (just encoders). Has this component included limit switch homing support (probably linking to a homecomp)
Both LinuxCNC 2.9.x and 2.10 are supported. The v1.47.0 release provides plain packages for 2.9.x and +getset packages for 2.10.0~pre2 and later. The component uses a compatibility layer for the old and new HAL APIs, while keeping the original pin and parameter names, so existing loadrt cia402 ... configurations should carry over.
On homing: your custom homecomp handles LinuxCNC-side homing integration and is not part of CiA 402, so it remains separate from the generic cia402 component. This release only ports Dominik's component to C. It still triggers and monitors drive-internal homing; the selected CiA 402 homing method, including methods using switches connected to the drive, is configured in the drive. No homecomp functionality has been added.
- rodw
-

28 Oct 2026 07:03
Also, Dominic's original component did not support homing with switches attached to the drive (just encoders). Has this component included limit switch homing support (probably linking to a homecomp)
Replied by rodw on topic cia402.comp - can't compile in 2.10-pre2
Great work. I assume this is only for 2.10 or does it also work for 2.9?a compatible cia402 is released with the latest linuxcnc-ethercat you don't need to compile it yourself, I also rewritten it in C.
github.com/linuxcnc-ethercat/linuxcnc-et...releases/tag/v1.47.0
here is the fixed component in C if you want to take a look
github.com/linuxcnc-ethercat/linuxcnc-et.../master/src/cia402.c
Also, Dominic's original component did not support homing with switches attached to the drive (just encoders). Has this component included limit switch homing support (probably linking to a homecomp)
- rodw
-

28 Oct 2026 06:56
Replied by rodw on topic More advanced EtherCAT setup questions
Generally, parameters are set in your xml file using SDO's/ I have found one device where it was more convenient to set these using ethercat upload and download commands outside of LinuxCNC
- grandixximo
-

28 Oct 2026 06:10
Replied by grandixximo on topic cia402.comp - can't compile in 2.10-pre2
a compatible cia402 is released with the latest linuxcnc-ethercat you don't need to compile it yourself, I also rewritten it in C.
github.com/linuxcnc-ethercat/linuxcnc-et...releases/tag/v1.47.0
here is the fixed component in C if you want to take a look
github.com/linuxcnc-ethercat/linuxcnc-et.../master/src/cia402.c
github.com/linuxcnc-ethercat/linuxcnc-et...releases/tag/v1.47.0
here is the fixed component in C if you want to take a look
github.com/linuxcnc-ethercat/linuxcnc-et.../master/src/cia402.c
- PCW
28 Oct 2026 05:00
Replied by PCW on topic 5i25, 6i25, 7i92, firmware request.
I have a new Proto Ethercat card, no promises on completion date though .
- dberegovoy
28 Oct 2026 04:51
Replied by dberegovoy on topic 5i25, 6i25, 7i92, firmware request.
Thank you very much, Peter! I really appreciate your help with this custom firmware.
I have already flashed it to the Mesa card.
By the way, I was wondering if you have any plans for developing a native EtherCAT Mesa card in the future?
I have already flashed it to the Mesa card.
By the way, I was wondering if you have any plans for developing a native EtherCAT Mesa card in the future?
- mwc
27 Oct 2026 22:44
Replied by mwc on topic More advanced EtherCAT setup questions
I'm back working on this, and have got the drive digital inputs working, however I'm back at needing to set a drive parameter, so is the above possible, or will I have to write a driver?Going back to setting drive parameters, is there anyway to set ModParam with the generic cia402 driver, by addressing the required register directly and not using a 'named' parameter?
- tuxcnc
27 Oct 2026 18:57
cia402.comp - can't compile in 2.10-pre2 was created by tuxcnc
I am using a file from
github.com/rodw-au/cia402_homecomp/blob/main/cia402.comp
.
It has always compiled successfully for me in the past, and it has nothing to do with the internal homing routines of the drives.
I am attempting to transition from LinuxCNC 2.10-pre1 to 2.10-pre2.
I have managed to resolve a few issues, but I have no idea why `cia402.comp` refuses to compile.
The full output is:
The initial lines regarding the replacement of old variable types with new ones seem fine, but the parts referring to lines 139 and 140 of the `cia402.comp` file look suspicious to me.
It appears that the declarations on lines 139 and 140 are incorrect; this is likely the source of all those error messages stating that a floating-point constant cannot be assigned to variables whose types the compiler fails to recognize.
I could be wrong, but I don’t see any other likely culprits.
Additionally, there might be a type conflict further down in the code, as `hal_real` in C corresponds to `double` rather than `float`.
In any case, this problem is beyond my capabilities, and without `CIA402.so`, my machine simply won't work...
It has always compiled successfully for me in the past, and it has nothing to do with the internal homing routines of the drives.
I am attempting to transition from LinuxCNC 2.10-pre1 to 2.10-pre2.
I have managed to resolve a few issues, but I have no idea why `cia402.comp` refuses to compile.
The full output is:
Code:
root@HP-15:~/Pobrane# halcompile --install cia402.comp
cia402.comp:97: Warning: Old type 'unsigned' was replaced by 'ui32', but you should be upgrading to 'uint'.
cia402.comp:98: Warning: Old type 'signed' was replaced by 'si32', but you should be upgrading to 'sint'.
cia402.comp:99: Warning: Old type 'signed' was replaced by 'si32', but you should be upgrading to 'sint'.
cia402.comp:100: Warning: Old type 'signed' was replaced by 'si32', but you should be upgrading to 'sint'.
cia402.comp:102: Warning: Old type 'unsigned' was replaced by 'ui32', but you should be upgrading to 'uint'.
cia402.comp:103: Warning: Old type 'signed' was replaced by 'si32', but you should be upgrading to 'sint'.
cia402.comp:104: Warning: Old type 'signed' was replaced by 'si32', but you should be upgrading to 'sint'.
cia402.comp:105: Warning: Old type 'signed' was replaced by 'si32', but you should be upgrading to 'sint'.
cia402.comp:108: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:109: Warning: Old type 'float' has been replaced by 'real'
cia402.comp:110: Warning: Old type 'float' has been replaced by 'real'
cia402.comp:112: Warning: Old type 'float' has been replaced by 'real'
cia402.comp:113: Warning: Old type 'float' has been replaced by 'real'
cia402.comp:114: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:117: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:118: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:119: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:121: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:122: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:123: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:124: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:125: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:126: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:127: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:128: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:129: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:130: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:131: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:132: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:133: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:134: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:136: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:139: Warning: Old type 'float' has been replaced by 'real'
cia402.comp:140: Warning: Old type 'float' has been replaced by 'real'
cia402.comp:141: Warning: Old type 'bit' has been replaced by 'bool'
cia402.comp:142: Warning: Old type 'bit' has been replaced by 'bool'
Compiling realtime cia402.c
cia402.comp: In function ‘extra_setup’:
cia402.comp:173:13: error: lvalue required as left operand of assignment
cia402.comp:176:14: error: lvalue required as left operand of assignment
cia402.comp:179:20: error: lvalue required as left operand of assignment
cia402.comp:180:12: error: lvalue required as left operand of assignment
cia402.c:313:86: warning: unused parameter ‘prefix’ [-Wunused-parameter]
313 | #define EXTRA_SETUP() static int extra_setup(struct __comp_state *__comp_inst, char *prefix, long extra_arg)
| ~~~~~~^~~~~~
cia402.comp:171:1: note: in expansion of macro ‘EXTRA_SETUP’
cia402.c:313:99: warning: unused parameter ‘extra_arg’ [-Wunused-parameter]
313 | #define EXTRA_SETUP() static int extra_setup(struct __comp_state *__comp_inst, char *prefix, long extra_arg)
| ~~~~~^~~~~~~~~
cia402.comp:171:1: note: in expansion of macro ‘EXTRA_SETUP’
cia402.comp: At top level:
cia402.comp:185:19: error: unknown type name ‘hal_float_t’; did you mean ‘hal_port_t’?
cia402.comp: In function ‘read_all’:
cia402.comp:203:3: error: implicit declaration of function ‘check_scales’ [-Wimplicit-function-declaration]
cia402.comp:203:16: error: lvalue required as unary ‘&’ operand
cia402.comp:204:16: error: lvalue required as unary ‘&’ operand
cia402.comp:207:10: error: lvalue required as left operand of assignment
cia402.comp:210:15: error: lvalue required as left operand of assignment
cia402.comp:213:18: error: lvalue required as left operand of assignment
cia402.comp:214:17: error: lvalue required as left operand of assignment
cia402.comp:215:26: error: lvalue required as left operand of assignment
cia402.comp:216:26: error: lvalue required as left operand of assignment
cia402.comp:219:26: error: lvalue required as left operand of assignment
cia402.comp:220:26: error: lvalue required as left operand of assignment
cia402.comp:221:26: error: lvalue required as left operand of assignment
cia402.comp:222:26: error: lvalue required as left operand of assignment
cia402.comp:223:26: error: lvalue required as left operand of assignment
cia402.comp:224:26: error: lvalue required as left operand of assignment
cia402.comp:225:26: error: lvalue required as left operand of assignment
cia402.comp:226:26: error: lvalue required as left operand of assignment
cia402.comp:227:26: error: lvalue required as left operand of assignment
cia402.comp:230:25: error: lvalue required as left operand of assignment
cia402.comp:232:27: error: lvalue required as left operand of assignment
cia402.comp:239:18: error: lvalue required as left operand of assignment
cia402.comp:240:19: error: lvalue required as left operand of assignment
cia402.comp:246:15: error: lvalue required as left operand of assignment
cia402.comp:248:15: error: lvalue required as left operand of assignment
cia402.comp: In function ‘write_all’:
cia402.comp:266:15: error: lvalue required as left operand of assignment
cia402.comp:268:10: error: lvalue required as left operand of assignment
cia402.comp:270:19: error: lvalue required as left operand of assignment
cia402.comp:274:19: error: lvalue required as left operand of assignment
cia402.comp:278:19: error: lvalue required as left operand of assignment
cia402.comp:280:21: error: lvalue required as left operand of assignment
cia402.comp:282:23: error: lvalue required as left operand of assignment
cia402.comp:289:23: error: lvalue required as left operand of assignment
cia402.comp:291:23: error: lvalue required as left operand of assignment
cia402.comp:295:10: error: lvalue required as left operand of assignment
cia402.comp:302:12: error: lvalue required as left operand of assignment
cia402.comp:306:12: error: lvalue required as left operand of assignment
cia402.comp:310:12: error: lvalue required as left operand of assignment
cia402.comp:313:19: error: lvalue required as left operand of assignment
cia402.c:311:80: warning: unused parameter ‘period’ [-Wunused-parameter]
311 | #define FUNCTION(name) static void name(struct __comp_state *__comp_inst, long period)
| ~~~~~^~~~~~
cia402.comp:252:1: note: in expansion of macro ‘FUNCTION’
make: *** [/usr/share/linuxcnc/Makefile.modinc:117: cia402.o] Błąd 1
root@HP-15:~/Pobrane#
It appears that the declarations on lines 139 and 140 are incorrect; this is likely the source of all those error messages stating that a floating-point constant cannot be assigned to variables whose types the compiler fails to recognize.
I could be wrong, but I don’t see any other likely culprits.
Additionally, there might be a type conflict further down in the code, as `hal_real` in C corresponds to `double` rather than `float`.
In any case, this problem is beyond my capabilities, and without `CIA402.so`, my machine simply won't work...
- JesusAlos
27 Oct 2026 18:37
Looking for experienced LinuxCNC / Mesa developer – Paid freelance work was created by JesusAlos
Title: Looking for experienced LinuxCNC / Mesa developer – Paid freelance collaborationHello everyone,We are Alos Industrials, a Spanish company specializing in the design and manufacturing of industrial machinery.We are looking for an experienced LinuxCNC developer or integrator to collaborate with our engineering team on a paid, long-term freelance basis.We already use LinuxCNC in our industrial machines, mainly with Mesa Electronics hardware, and we need someone who can help us develop, modify, troubleshoot and maintain our machine configurations.The work may include:
www.alos.es
- LinuxCNC INI and HAL configuration.
- Mesa Ethernet cards and servo integration.
- Custom HAL components and machine logic.
- Homing, motion control and machine-specific functions.
- Troubleshooting and improving existing configurations.
- Potential development of custom interfaces and advanced features.
- Paid freelance work, with rates agreed according to experience.
- Remote collaboration with our engineering team in Spain.
- Flexible working arrangements.
- Opportunities for ongoing projects and long-term cooperation.
www.alos.es
- awallin
27 Oct 2026 17:55
Is there a way of saving the tuned parameters also over ethernet? IIRC the tuned values with this script are not saved permanently to the drive?
Replied by awallin on topic Tuning Steperonline A6 Servos
Thanks for posting this! Seems to work without much modifications (I have just XYZ, no gantry config).script for tuning the servos over the ethercat bus with the most important parameters:
github.com/shulter/biber-ethercat/blob/main/tools/servo-tune.py
Is there a way of saving the tuned parameters also over ethernet? IIRC the tuned values with this script are not saved permanently to the drive?
- awallin
27 Oct 2026 17:50
Replied by awallin on topic Technical questions about CIA402 and homecomp.comp on A6
Can someone give an update on the current (October 2026) status of homing with the Stepperonline A6 drives?
I got my servos moving and roughly tuned, but haven't been able to get homing working.
I tried to follow some of the cia402_homecomp examples, but I just get a following error immediately when starting homing. What are the exact pin-connections needed with cia402_homecomp?
FWIW I plan to use the negative limit switch + forward movement to next index method - not that the exact method for homing should matter much for getting this working..
I got my servos moving and roughly tuned, but haven't been able to get homing working.
I tried to follow some of the cia402_homecomp examples, but I just get a following error immediately when starting homing. What are the exact pin-connections needed with cia402_homecomp?
FWIW I plan to use the negative limit switch + forward movement to next index method - not that the exact method for homing should matter much for getting this working..
Time to create page: 0.113 seconds