How do I do a manual tool change?
I will be able to test your config later, but I suspect I have found the problem.
# loadusr -W hal_manualtoolchange
loadusr -W hal_manualtoolchange_jog
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
You have renamed the component file to hal_manualtoolchange_jog
Unless you have edited the component code to rename the component to the same name,
it will launch the component which is still called hal_manualtoolchange and wait for ever for a component called hal_manualtoolchange_jog to become ready, which it never will.
Then it would error anyway because iocontrol is still linked to hal_manualtoolchange
Revert to the original name and it should work
Till now I use the old branded machine. (EMC2 - it's works so I didn't change)
But now I make another one for a friend. And component doesn't work as should.
When M6 is executed the popup window is shown. And I happily change tool and make Z touchoff.
When I press continue tha machine start immediatly with spindle OFF!
So how to add spindle on and to wait spindle-at-speed signal (my spindle make slow ramping to reach speed)
Of course I can start spindle manualy after changing and wait enought to startup before click continue..
...but preffer automatic!.
"When M6 is executed the popup window is shown. And I happily change tool and make Z touchoff."
Machine: Sherline 5400 Mill
% (1) (T1 D=0.1275 CR=0. - ZMIN=-0.02 - FLAT END MILL) (T50 D=0.0591 CR=0. - ZMIN=-0.002 - FLAT END MILL) N10 G90 G94 G17 G91.1 N15 G20 N20 G53 G0 Z1.5 (18 TRACE1 0.02 OFFSET) N25 T1 M6 N30 G0 X-1.0625 Y0.5413 Z0.6 N35 Z0.2 N40 G1 Z-0.02 F10. N45 X-1.375 Y0. F20. N50 X-1.0625 Y-0.5413 N55 X-0.4375 N60 X-0.125 Y0. N65 X-0.4375 Y0.5413 N70 X-1.0625 N75 Z0.2 F10. N80 G0 Z0.6 N90 G53 Z1.5 (1.5MM TRACE 0.002 OFFSET) N95 M1 N100 T50 M6 N105 G0 X0.5485 Y-0.5413 Z0.6 N110 Z0.2 N115 G1 Z-0.002 F3.937 N120 X1.1735 F5.906 N125 X1.486 Y0. N130 X1.1735 Y0.5413 N135 X0.5485 N140 X0.236 Y0. N145 X0.5485 Y-0.5413 N150 Z0.2 F3.937 N155 G0 Z0.6 N165 G53 Z1.5 N170 M30 %
It's been mentioned above - you need to change hal_manualtoolchange file (located at /usr/bin)
it's a Python script LinuxCNC calls when M6 command is issued.
My owm machine uses new hal_manualtoolchange (see attach) - it's a bit buggy with LinuxCNC 2.7 but works.
Your G53 question is pretty simple - you may add any code prior to toolchange in your postprocessor, or manually.
Just an example: raise Z, then move to machine coordinates X10 Y200. Do toolchange. Raise Z again to safe top.
... your actual milling code G0 G53 Z100 G0 G53 X10 Y200 M6 T5 G0 G53 Z100 ... your actual milling code