Я бы всё таки сделал так, как написал, а по м-коду сделал бы включение/выключение движения пиноли.
С конфигом придётся подумать, но это вполне реально.
Зато потом при работе не придётся каждый раз репу чесать при написании g-code, а можно спокойно пользоваться любой cam