Advanced Search

Search Results (Searched for: )

  • Jens23
  • Jens23
09 Jun 2025 12:00
Replied by Jens23 on topic Tool in spindle memory

Tool in spindle memory

Category: General LinuxCNC Questions

Hello,

today I stumbled across this error and I might be able to provide a useful hint.

I am using Probe Basic 2.9.3 and if I have NO_FORCE_HOMING = 1 in my ini, it remembers the tool.
If I have NO_FORCE_HOMING = 0 in my ini, it won't remeber it.

I guess it sets the tool in the background with some MDI command and it can't execute this command, if it is not allowed to execute a MDI command because it is not homed.

I added #5400 in my .var and with every toolchange it changed that value to the toolnumber.
Whenever I started PB with NO_FORCE_HOMING = 0, it changed the value of #5400 to 0 right after PB started.

I don't mind using NO_FORCE_HOMING = 1 but that causes Issues with the "REF-ALL / HOMED" Button in the Probe Basic UI because that one uses the "status:all_axes_homed" from the QTDesigner and this status only works with NO_FORCE_HOMING = 0...

If someone knows any workaroud, let me know :)
  • Aciera
  • Aciera's Avatar
09 Jun 2025 11:49

Five-Axis RTCP Features: G43.4 and G43.5 Equivalents in LinuxCNC

Category: G&M Codes

If that function works for you and your setup can handle the calculated angles then I don't see a problem there.
I would stick with the fanuc format since it uses ijk words which are already handled in linuxcnc. The A3/B3/C3 words of the siemens style would first have to be built into the interpreter.
  • ring
  • ring
09 Jun 2025 10:03

Five-Axis RTCP Features: G43.4 and G43.5 Equivalents in LinuxCNC

Category: G&M Codes

Thank you for your answer!

Based on your reply, I understand that G43 tool length compensation depends entirely on which kinematic mode is active. I have implemented a conversion from vector format NC (IJK) to XYZAB for my machine, and it seems to work. However, I am concerned whether a simple conversion might misinterpret the intent of the CAM output, or if these two formats (IJK and AB) are truly equivalent and interchangeable.

Here is the logic of my transfer function:

def ijk_to_ab(self, i, j, k):
norm = math.sqrt(i**2 + j**2 + k**2)
i, j, k = i/norm, j/norm, k/norm

a_rad = math.atan2(j, k)
a_deg = math.degrees(a_rad)

b_rad = math.atan2(-i, math.sqrt(j**2 + k**2))
b_deg = math.degrees(b_rad)

return round(a_deg, 6), round(b_deg, 6)

I have two more questions:

Are there any problems with my transfer function (ijk_to_ab)? Although it works in practice, I am worried that a direct conversion might not fully capture all the intent or precision from the CAM output.
If I plan to extend the RS274 module to support vector input, which vector format would be better to implement: the FANUC-style IJK (G43.5) or the SIEMENS-style A3/B3/C3? Are there advantages or disadvantages to either format, especially regarding compatibility and ease of parsing?
Thank you again for your help and suggestions!
  • beauxnez
  • beauxnez
09 Jun 2025 09:54 - 09 Jun 2025 09:56

ESP32/S2/S3 LinuxCNC Controller (6 axis hardware step gen), USB plug-and-play

Category: Computers and Hardware

I have an error message

[code][HOMEMOD=
TASK=milltask
HALUI=halui
DISPLAY=axis
COORDINATES=X Y Z
KINEMATICS=trivkins coordinates=XYZ
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
emc/iotask/ioControl.cc 786: can't load tool table.
Starting HAL User Interface program: halui
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
twopass:invoked with <> options
twopass:found ./UDP2.hal
twopass: Error in file ./UDP2.hal:
    setting parameter 'udp.0.dirsetup' to '20000   #100000'
parameter or pin 'udp.0.dirsetup' not found
Shutting down and cleaning up LinuxCNC...
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments

Debug file information:
Note: Using POSIX realtime
3725
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime/code]
  • TooTall18T
  • TooTall18T's Avatar
09 Jun 2025 09:48

Vorschau Berechnung der Grenzwerte passt nicht wenn M6 enthalten

Category: Deutsch

M6 ist nur der Befehl zum Wechseln des Werkzeugs, hat aber eigentlich mit der Längenkorrektur nichts zu tun.
Die Werkzeuglänge wird erst durch G43 H"Werkzeugnummer" geändert. Beim Aufruf von M6 wird in Linuxcnc eine Routine abgespult, die dies auch ausführt.
Wenn du keine Korrektur haben möchtest, setzt du G49 unter jeden Werkzeugwechsel.

Wenn du im G-Code alle Werkzeugwechsel auf das selbe Werkzeug machst, passt die Darstellung dann?

Welche Version benutzt du von LCNC und welche Oberfläche hast du?
  • poesel
  • poesel
09 Jun 2025 09:35

Interface to LightBurn (is pylib a better choice).

Category: General LinuxCNC Questions

  • ...
    What is your interest/focus?
I have a laser, lcnc & lightburn.    
I'm an engineer, PLC programmer and know a bit of python. I'm new to lasering and came to understand that I had to export g code from lightburn into lcnc. That works but is a bit clumsy. Then I found your post and here we are.

As I understand it, you wrote a program that on one side pretends to be a laser cutter towards lightburn. On the other side, it controls lcnc remotely. For this you used lcncrc which is deprecated. And now you want to switch over to pylib.

My interest is to make it work for me and then make it available to everyone. I have no financial interests.

As a first step, I suggest putting this on github (or something similar) and work from there.

 
  • pingtomi
  • pingtomi
09 Jun 2025 08:43 - 09 Jun 2025 08:43

MESA 7i93 PWM question - motor rotation direction switch

Category: Advanced Configuration

Configuration Name: HOSTMOT2

General configuration information:

  BoardName : MESA7I93
  FPGA Size: 9 KGates
  FPGA Pins: 144
  Number of IO Ports: 2
  Width of one I/O port: 24
  Clock Low frequency: 100.0000 MHz
  Clock High frequency: 200.0000 MHz
  IDROM Type: 3
  Instance Stride 0: 4
  Instance Stride 1: 64
  Register Stride 0: 256
  Register Stride 1: 256

Modules in configuration:

  Module: DPLL
  There are 1 of DPLL in configuration
  Version: 0
  Registers: 7
  BaseAddress: 7000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: WatchDog
  There are 1 of WatchDog in configuration
  Version: 0
  Registers: 3
  BaseAddress: 0C00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: IOPort
  There are 2 of IOPort in configuration
  Version: 0
  Registers: 5
  BaseAddress: 1000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: QCount
  There are 4 of QCount in configuration
  Version: 2
  Registers: 5
  BaseAddress: 3000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: PWM
  There are 4 of PWM in configuration
  Version: 0
  Registers: 5
  BaseAddress: 4100
  ClockFrequency: 200.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: StepGen
  There are 4 of StepGen in configuration
  Version: 2
  Registers: 10
  BaseAddress: 2000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: LED
  There are 1 of LED in configuration
  Version: 0
  Registers: 1
  BaseAddress: 0200
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

Configuration pin-out:

IO Connections for P2
Pin#                  I/O   Pri. func    Sec. func        Chan     Sec. Pin func   Sec. Pin Dir

 1                      0   IOPort       QCount           1        Quad-B          (In)
 3                      1   IOPort       QCount           1        Quad-A          (In)
 5                      2   IOPort       QCount           0        Quad-B          (In)
 7                      3   IOPort       QCount           0        Quad-A          (In)
 9                      4   IOPort       QCount           1        Quad-IDX        (In)
11                      5   IOPort       QCount           0        Quad-IDX        (In)
13                      6   IOPort       PWM              1        PWM             (Out)
15                      7   IOPort       PWM              0        PWM             (Out)
17                      8   IOPort       PWM              1        Dir             (Out)
19                      9   IOPort       PWM              0        Dir             (Out)
21                     10   IOPort       PWM              1        /Enable         (Out)
23                     11   IOPort       PWM              0        /Enable         (Out)
25                     12   IOPort       QCount           3        Quad-B          (In)
27                     13   IOPort       QCount           3        Quad-A          (In)
29                     14   IOPort       QCount           2        Quad-B          (In)
31                     15   IOPort       QCount           2        Quad-A          (In)
33                     16   IOPort       QCount           3        Quad-IDX        (In)
35                     17   IOPort       QCount           2        Quad-IDX        (In)
37                     18   IOPort       PWM              3        PWM             (Out)
39                     19   IOPort       PWM              2        PWM             (Out)
41                     20   IOPort       PWM              3        Dir             (Out)
43                     21   IOPort       PWM              2        Dir             (Out)
45                     22   IOPort       PWM              3        /Enable         (Out)
47                     23   IOPort       PWM              2        /Enable         (Out)

IO Connections for P1
Pin#                  I/O   Pri. func    Sec. func        Chan     Sec. Pin func   Sec. Pin Dir

 1                     24   IOPort       StepGen          0        Step/Table1     (Out)
 3                     25   IOPort       StepGen          0        Dir/Table2      (Out)
 5                     26   IOPort       StepGen          0        Table3          (Out)
 7                     27   IOPort       StepGen          0        Table4          (Out)
 9                     28   IOPort       StepGen          0        Table5          (Out)
11                     29   IOPort       StepGen          0        Table6          (Out)
13                     30   IOPort       StepGen          1        Step/Table1     (Out)
15                     31   IOPort       StepGen          1        Dir/Table2      (Out)
17                     32   IOPort       StepGen          1        Table3          (Out)
19                     33   IOPort       StepGen          1        Table4          (Out)
21                     34   IOPort       StepGen          1        Table5          (Out)
23                     35   IOPort       StepGen          1        Table6          (Out)
25                     36   IOPort       StepGen          2        Step/Table1     (Out)
27                     37   IOPort       StepGen          2        Dir/Table2      (Out)
29                     38   IOPort       StepGen          2        Table3          (Out)
31                     39   IOPort       StepGen          2        Table4          (Out)
33                     40   IOPort       StepGen          2        Table5          (Out)
35                     41   IOPort       StepGen          2        Table6          (Out)
37                     42   IOPort       StepGen          3        Step/Table1     (Out)
39                     43   IOPort       StepGen          3        Dir/Table2      (Out)
41                     44   IOPort       StepGen          3        Table3          (Out)
43                     45   IOPort       StepGen          3        Table4          (Out)
45                     46   IOPort       StepGen          3        Table5          (Out)
47                     47   IOPort       StepGen          3        Table6          (Out)

 
  • Aciera
  • Aciera's Avatar
09 Jun 2025 08:15
Replied by Aciera on topic I've got a problem

I've got a problem

Category: Off Topic and Test Posts

I'm with you, like most of us probably. People like that come and go.

My advice would be:
1. Don't get your blood pressure up, it's not worth it.
2. Only clarify wrong statements that are relevant to the question at hand.
3. Ignore the rest of the babble.
  • Aciera
  • Aciera's Avatar
09 Jun 2025 08:05

Five-Axis RTCP Features: G43.4 and G43.5 Equivalents in LinuxCNC

Category: G&M Codes

is G43 equivalent to G43.4 in LinuxCNC?

No, G43 activated tool length compensation regardless of which kinematic mode is active.

Does the G-code parser in LinuxCNC support IJK-style input?


No, linuxcnc does not support gcode in vector format.
If you are thinking of doing the vector to joint angle calculations in linuxcnc you could preprocess the gcode file in userspace (ie non-real-time) for which you can use any language (even python). Doing it in the interpreter would also be possible but you'd have to invest a fair amount of time to first figure out how it currently works.
  • jg
  • jg
09 Jun 2025 08:00
Replied by jg on topic Mesa 7i92T - compiling firmware

Mesa 7i92T - compiling firmware

Category: Driver Boards

Thanks for your help in attempting to debug this, but I'm struggling to find the h/w issue. The setup is PC > 7I92T via eth, +5v supply to the 7I92, +12v to 7I76 field, grounds tied. The 7I76 is connected to P1 with a new ribbon connector (~10cm) I just made and buzzed all pins on. W3 jumper on 7I92 set to supply power to the daughter, and I see the power LEDs on both cards (total of 3).

Flash the 7i92t_7i76x2d.bin firmware from website DL and I can see the 7I76 field I/O with mesaflash <...> --sserial, a manual halrun enumerates the SS interface, can see the 7I76 pins, and detect toggle on I/O. Created a clean LinuxCNC test config assigning some of the field I/O as limits, when I pull the pins high LinuxCNC trips as expected.

Flash the firmware you attached below, no change to hardware config, none of the above works. However it does seem like something is marginal somewhere - repeated probing with the mesaflash --sserial query does occasionally report "sserial device at channel 0: 7I76 (unit 0x00000000)" but never the remaining device information. The 7I76 green comms LED does trigger with each query.

I will dig up some different power supplies, that's about the only thing left I haven't swapped out yet.
  • Szumek
  • Szumek
09 Jun 2025 07:32
Board for reading 3 encoders was created by Szumek

Board for reading 3 encoders

Category: Computers and Hardware

Hello
I have retrofitted an aciera F5nc milling machine, I need to read 3 TTL axis scales to improve precision resulting from mechanical errors, the topic is not urgent, I would like to send information to linuxcnc, is Remora EC 500 suitable for reading 3 encoders? or maybe another simple DIY board, possibly mesa 7i92 + diy opto board, for now I do not need any step generator from the board unless simple free IO, best regards
  • tar_san
  • tar_san
09 Jun 2025 05:12
Replied by tar_san on topic Problems with Lichuan Ethercat servo drive

Problems with Lichuan Ethercat servo drive

Category: EtherCAT

Hi, everyone.

Probably, I have a same problem.
I have LC10E V1.11.xml. ( from sellers )

How do you write eeprom V1.11(?) to attached V1.04 to drivers ?

And I'd like to know why do we have to use older version.
  • farmer_mike
  • farmer_mike
09 Jun 2025 04:34
Replied by farmer_mike on topic RTelligent EtherCAT Servo Drive Setup: RS750E

RTelligent EtherCAT Servo Drive Setup: RS750E

Category: EtherCAT

Hi I’ll be following this discussion, as I’m also using rtelligent rs 750E drives. 

I don’t have a config file made yet, so MTate01 is a few steps ahead of me. 
  • Lcvette
  • Lcvette's Avatar
09 Jun 2025 03:45
Replied by Lcvette on topic Cant del Offset table and save

Cant del Offset table and save

Category: QtPyVCP

glad you got it sorted out!
  • Kieran
  • Kieran
09 Jun 2025 03:44
Replied by Kieran on topic weird behavior: homing X messes up Y

weird behavior: homing X messes up Y

Category: EtherCAT

Ok, more Q's.... Im messing with PDO now. i ran ethercat pdos

Warning: Spoiler!


heres my working XML snippet

Warning: Spoiler!



question is, why doesnt it work anymore if i switch from  <pdo idx="1600"> to  <pdo idx="1701"> for example. why is it using 1600 and 1A00 and working even though "ethercat pdos" spits out 1701 and 1Bo1? I want to use something other than 1600/1A00 because they only have a few PDOs available on my servos. they are "variable PDO" according to the manual. Just trying to understand how this all works.
Displaying 1336 - 1350 out of 25554 results.
Time to create page: 0.374 seconds
Powered by Kunena Forum