Hello Dave
In Marlin, M600 is used for filament change.
The M600 command initiates the filament change procedure.
In
LinuxCNC, M600 is used to call a subroutine for dynamic tool measurement after a manual tool change.
The user has now tried to output the M600 directly via the G-code generated by CamBam. For this purpose, the M6 was replaced with M600 in the tool change.
This also works, but CamBam then no longer outputs M3 in the following mop. (?¿ why)
This led to the spindle not starting after the tool change.
As I have written, LinuxCNC is not my world. For me, the main thing was that M3 was not output. Everything that happens behind this in LinuxCNC I only know from other descriptions.
M3 is a modal command for me. Once set, it must actually hold.
After reading LinuxCNC stuff for a few hours, much without understanding it, I found the article in the LinuxCNC forum.
https://forum.linuxcnc.org/forum/10-advanced-configuration/5596-manual-tool-change--tool-lengh-touch-off?start=30#48235There M6 is mapped via some ini-file in LinuxCNC with M600.
M600 only has to be called once at the beginning of the program, then the tool change can be triggered normally with M6, then the tool is measured.
This seems to be the solution to the problem for the user.What I don't understand is that after changing the M6 to another value, CamBam no longer outputs the M3 in the following Mop.
This seems to be a bug in CamBam.
Unfortunately, I have pretty much given up hope of fixing bugs in CamBam.
After 3 Years from the last version I can no longer tell any user that anything will be fixed in a future version.
So I can only look for workarounds and try to keep the users with CamBam.
This is already quite frustrating for me.
ralf