Search Results (Searched for: )
- 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..
- PCW
27 Oct 2026 17:17
7I92T config for 8 encoders, 5 PWMgens, and one stepgen
Wasn't sure if you needed DIR on the PWMs so two of the PWMgens are
PWM only (no dir) due to pin limitations, can easily change if needed.
Replied by PCW on topic 5i25, 6i25, 7i92, firmware request.
7I92T config for 8 encoders, 5 PWMgens, and one stepgen
Wasn't sure if you needed DIR on the PWMs so two of the PWMgens are
PWM only (no dir) due to pin limitations, can easily change if needed.
- dberegovoy
27 Oct 2026 17:12
Replied by dberegovoy on topic Lathe Spindle Encoder: What are the options for EtherCAT?
Hi everyone,
I just received my Omron NX-ECC201 today. The first thing I did was verify that it works, and I couldn't resist playing around with it a bit—I successfully toggled the LEDs on the output module directly from a Linux terminal via EtherCAT.
Now I am planning the next steps for my machine setup. I need to process an encoder signal, and after doing some research, it seems that the NX-EC0222 or NX-EC0122 modules would be the best fit since they support differential signals.
However, my current machine encoder operates on a 5V TTL signal. This leaves me with two main options:
1. Convert the 5V TTL signal up to 24V single-ended.
2. Convert the 5V TTL signal into a differential signal to feed it directly into the NX-EC0222.
I am leaning towards the second option (differential) because I feel it is much more noise-immune and future-proof for upcoming retrofit projects.
I would really appreciate your advice on choosing the best Omron module for this setup to help me narrow down my search.
Thanks in advance!
I just received my Omron NX-ECC201 today. The first thing I did was verify that it works, and I couldn't resist playing around with it a bit—I successfully toggled the LEDs on the output module directly from a Linux terminal via EtherCAT.
Now I am planning the next steps for my machine setup. I need to process an encoder signal, and after doing some research, it seems that the NX-EC0222 or NX-EC0122 modules would be the best fit since they support differential signals.
However, my current machine encoder operates on a 5V TTL signal. This leaves me with two main options:
1. Convert the 5V TTL signal up to 24V single-ended.
2. Convert the 5V TTL signal into a differential signal to feed it directly into the NX-EC0222.
I am leaning towards the second option (differential) because I feel it is much more noise-immune and future-proof for upcoming retrofit projects.
I would really appreciate your advice on choosing the best Omron module for this setup to help me narrow down my search.
Thanks in advance!
- jazzkramer
27 Oct 2026 16:16 - 27 Oct 2026 16:27
Replied by jazzkramer on topic It's me or it's a bug?
Thanks , so I will not use emoticons jejeje.
So, follow up:
I will install as soon as possible the last version from... instructions buildbot.linuxcnc.org/
so maybe errors are already corrected...
In the meantime, I'm attaching the gcode as modified by the "convers" in my QtPlasmaC. I saw I don't have the original produced by SheetcamTNG, I saved this on that one, so I only have this one (that is the one I was using).
About the error n 2, the "cutting in the air", while finishing the job (it's for a cantilever in my "borning shop"), I discovered the error is
when I press my custom button "Goto last X0Y0" before the Z axis finishes to reach the "idle height" after finishing a cut.
The button is a G0 X0 Y0 only (or it has Z0 as well? I have to check).
If I wait the Z axis to be at the idle height before pressing that button, the next cut properly works.
Bye, thanks,
have a nice day!
It did not attach the gcode, so I put it here:
; file name: V2_Buco singolo.ngc
; date and time: Sun Oct 25 2026 01:44:24 PM
; postprocessor: LinuxCNC PlasmaC.scpost rev: 0.5
;
;begin pre-amble
G21 (units: metric)
G40 (cutter compensation: off)
G90 (distance mode: absolute)
M52 P1 (adaptive feed: on)
M65 P2 (enable THC)
M65 P3 (enable torch)
M68 E3 Q0 (velocity 100%)
G64 P0.254 Q0.025 (tracking tolerances: 0.254mm)
#<holes> = 2
#<h_velocity> = 60
#<h_diameter> = 32
#<oclength> = 4
;end pre-amble
;
;begin material setup
T0 M6 (select plasma tool)
G43 H0 (apply tool offsets)
M190 P18 (plasma, mield steel + zinc 2mm material)
M66 P3 L3 Q2 (wait for valid change)
F#<_hal[plasmac.cut-feed-rate]>
;end material setup
G0 X24.49 Y12.151
M3 $0 S1 (plasma start)
M67 E3 Q100
G3 X17.928 Y15.211 I-4.811 J-1.751
G1 X3.833 Y10.081
G3 X7.167 Y0.919 I1.667 J-4.581
G1 X35.358 Y11.18
G3 X32.023 Y20.342 I-1.667 J4.581
G1 X17.928 Y15.211
M5 $0 (plasma end)
;
;begin post-amble
G40 (cutter compensation: off)
G90 (distance mode: absolute)
M65 P2 (enable THC)
M65 P3 (enable torch)
M68 E3 Q0 (velocity 100%)
M5 $-1 (backup stop)
;end post-amble
;
;begin statistics
;Pierces = 1
; Cuts = 1, Length = 98.67mm
;end statistics
;
M30 (end program)
So, follow up:
I will install as soon as possible the last version from... instructions buildbot.linuxcnc.org/
so maybe errors are already corrected...
In the meantime, I'm attaching the gcode as modified by the "convers" in my QtPlasmaC. I saw I don't have the original produced by SheetcamTNG, I saved this on that one, so I only have this one (that is the one I was using).
About the error n 2, the "cutting in the air", while finishing the job (it's for a cantilever in my "borning shop"), I discovered the error is
when I press my custom button "Goto last X0Y0" before the Z axis finishes to reach the "idle height" after finishing a cut.
The button is a G0 X0 Y0 only (or it has Z0 as well? I have to check).
If I wait the Z axis to be at the idle height before pressing that button, the next cut properly works.
Bye, thanks,
have a nice day!
It did not attach the gcode, so I put it here:
; file name: V2_Buco singolo.ngc
; date and time: Sun Oct 25 2026 01:44:24 PM
; postprocessor: LinuxCNC PlasmaC.scpost rev: 0.5
;
;begin pre-amble
G21 (units: metric)
G40 (cutter compensation: off)
G90 (distance mode: absolute)
M52 P1 (adaptive feed: on)
M65 P2 (enable THC)
M65 P3 (enable torch)
M68 E3 Q0 (velocity 100%)
G64 P0.254 Q0.025 (tracking tolerances: 0.254mm)
#<holes> = 2
#<h_velocity> = 60
#<h_diameter> = 32
#<oclength> = 4
;end pre-amble
;
;begin material setup
T0 M6 (select plasma tool)
G43 H0 (apply tool offsets)
M190 P18 (plasma, mield steel + zinc 2mm material)
M66 P3 L3 Q2 (wait for valid change)
F#<_hal[plasmac.cut-feed-rate]>
;end material setup
G0 X24.49 Y12.151
M3 $0 S1 (plasma start)
M67 E3 Q100
G3 X17.928 Y15.211 I-4.811 J-1.751
G1 X3.833 Y10.081
G3 X7.167 Y0.919 I1.667 J-4.581
G1 X35.358 Y11.18
G3 X32.023 Y20.342 I-1.667 J4.581
G1 X17.928 Y15.211
M5 $0 (plasma end)
;
;begin post-amble
G40 (cutter compensation: off)
G90 (distance mode: absolute)
M65 P2 (enable THC)
M65 P3 (enable torch)
M68 E3 Q0 (velocity 100%)
M5 $-1 (backup stop)
;end post-amble
;
;begin statistics
;Pierces = 1
; Cuts = 1, Length = 98.67mm
;end statistics
;
M30 (end program)
- retrofitcenter
27 Oct 2026 13:29
Replied by retrofitcenter on topic Getting there... we plan to release soon enough
Interesting to see someone working in a similar direction! I’ve recently done something similar with my linuxcncMulti project. My version is already running and available to test online.
It remains compatible with existing LinuxCNC configurations and supports a large part of Siemens NC syntax, including transformations and measuring cycles. It also includes material removal simulation.
A more polished visualization using Godot is currently in development.
You can try it here: www.cnc.gmbh
Would be interesting to exchange ideas and compare approaches!
It remains compatible with existing LinuxCNC configurations and supports a large part of Siemens NC syntax, including transformations and measuring cycles. It also includes material removal simulation.
A more polished visualization using Godot is currently in development.
You can try it here: www.cnc.gmbh
Would be interesting to exchange ideas and compare approaches!
Time to create page: 0.113 seconds