Search Results (Searched for: )

  • grandixximo
28 Oct 2026 07:17 - 28 Oct 2026 07:18
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
Replied by rodw 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
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)
  • 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
  • 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?
  • mwc
27 Oct 2026 22:44
Replied by mwc on topic More advanced EtherCAT setup questions

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?

 
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?
  • tuxcnc
27 Oct 2026 18:57
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:
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# 
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...
  • JesusAlos
27 Oct 2026 18:37
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:
  • 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.
We are not looking for basic LinuxCNC installation support. We need someone with solid practical experience who can work independently on real industrial machinery projects.What we offer:
  • 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.
If you are interested, please contact us by private message with a brief description of your experience and previous LinuxCNC projects.Recommendations of experienced developers or integrators from the community are also very welcome.Thank you!Alos Industrials
www.alos.es
  • awallin
27 Oct 2026 17:55
Replied by awallin on topic Tuning Steperonline A6 Servos

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
 


 
Thanks for posting this! Seems to work without much modifications (I have just XYZ, no gantry config).
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
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..
  • PCW
27 Oct 2026 17:17
Replied by PCW on topic 5i25, 6i25, 7i92, firmware request.
 

File Attachment:

File Name: 7i92t_enc_...tepd.zip
File Size:198.14 KB


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
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!
 
  • 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)


 
  • 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!
Displaying 61 - 75 out of 11916 results.
Time to create page: 0.113 seconds
Powered by Kunena Forum