LinuxCNC / linuxcnc

LinuxCNC controls CNC machines. It can drive milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more.
http://linuxcnc.org/
GNU General Public License v2.0
1.73k stars 1.13k forks source link

Update interp_g7x.cc fix endless loop issue (in axis and in milltask) #2907

Closed fsabbatini89 closed 3 months ago

fsabbatini89 commented 4 months ago

Fix issue where G7x is ussed with g3 and g2 inside, and circle has errors inside it, endless loop would occur eating all ram memory and freezing the machine

uspace_xenomai.cc: Fix dependendencies on POSIX xenomai skin

Also there is another fix to implement but i will not pull request it as it will modify behaviour but is as follows: When doing the g72 movement reset the control and start over, as G7x code modifies incremental i/k coordinates to absolute coordinates and they will not be back to default incremental, all countour profile will be treated as i/k absolute. The solution is put in the beginning of the file a g91.1

you can test the following code to see the fix at work:

G54 g95 g18 G21 G7 g61 g91.1

t02
g97 s350 m4
g0 x120 z4 m8

o110 sub 
g1 X79.995 Z0
g3 x83.9549 z-1.7176 k-2
g1 x95.25 z-47.4
g1 z-62
g1 x99 z-68
O110 endsub
;o15 call

G71 X104 Z5 Q110 D0 I1.5 R2 F0.3
g0 x200 z100
m30

Regards Franco

andypugh commented 3 months ago

I am trying to figure out how these PRs all fit together. Is this still needed?

fsabbatini89 commented 3 months ago

Hi Andy, yes, this is needed on top of the other fixes,

Franco

El El dom, 10 mar 2024 a la(s) 13:20, andypugh @.***> escribió:

I am trying to figure out how these PRs all fit together. Is this still needed?

— Reply to this email directly, view it on GitHub https://github.com/LinuxCNC/linuxcnc/pull/2907#issuecomment-1987283916, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGHI2USFGHHLT2CYF46YF4LYXSB4JAVCNFSM6AAAAABDXPCJYKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGI4DGOJRGY . You are receiving this because you authored the thread.Message ID: @.***>