Skip to content

Manual tool change protocol

Terje edited this page Feb 25, 2021 · 2 revisions

Manual tool change protocol:

grblHAL has been extended with a new state Tool that simplifies manual tool changes for machines without an automatic tool changer (ATC). It allows for a number of modes of operation, from fully manual to semi-automatic.

When a M6 command is executed by grblHAL it will change its state to Tool, suspend processing of subsequent commands in the input buffer and report this state in the next real time report. It will then wait for a tool change acknowledge from the sender (real time command 0xA3). When the sender sends the acknowledge it has to suspend sending new commands from any running gcode program, enable jogging and allow setting the linear axis offset or sending $-commands after touch off.

When the tool change acknowledge is received by grblHAL it will make a copy of the current input stream buffer, flush it and accept new commands. Motion commands except jogging is not allowed and will return error 40 as long as the tool change is pending. When the tool change is completed a cycle start command is issued by the sender (or via the cycle start control signal) upon which the saved buffer will be reinstated and normal processing restored.


2020-09-30