Короче думаю коды надо учить , и использовать программное -И- и -ИЛИ-
Двигатель крутится если кнопка остановки не нажата.
Надо вам это как то прописать.
Возможно надо две кнопки на старт программы и на остановку.
Старт тоже нужно грамотно запрограммировать , старт будет если , датчики крайнего положения или там всякие температурные ограничения не сработали ,
если они сработали то при нажатии на кнопку старт ничего не произойдет ,
Щас сам это изучаю ,медленно. Но покопай с простого , элементы -И- и -ИЛИ-
потренеруйся на простом - на реле к примеру в симуляторе , потом мышление перейдет на программу ардуино.
Это на два месяца.Потом проще будет
1. Причем тут коды? И про какую кнопку речь? По аналогии со шпинделем: разве он маслает, пока оператор удерживает какую то кнопку?
2. Все эти "И" и "ИЛИ" должны глотать или контроллер или сендер. Насколько я понимаю, ни тот, ни другой этого не умеют. Да и это ничем не поможет. Это не mach, который совмещал в себе и контроллер, и сендер... Как (не в маче) задать обработку в цикле? Или в начале УП ввести переменные, а в теле обработки их использовать? Ну не умеют это сендеры (потому так и называются)...
3. Переходить на "ардуиномышление" мне как то незачем. Я полжизни сижу на stm32 (и, конечно, не в ардуино) и профессионально занимаюсь разработкой электроники... Зайдите на сайт автофона и посмотрите мои работы. От схемотехники, до софта (кроме сервера)...
Ну и итог: представьте, что у вас возникла задача в качестве шпинделя поставить шаговик со стандартным драйвером. Желательно с регулировкой скорости. Но чтоб этот шпиндель не вращался от начала смены и до четверга, а только тогда, когда это будет прпописано строчками g-кода. В принципе, стандартные команды управления шпинделем (M3 и M5 вроде) как раз это и делают. Ну или еще другими словами: вам нужна поворотная ось (конечно, на шаговике), вращение которой будет задаваться не в КАЖДОЙ строке кода, а, скажем, на 10-й строке начали вращение (и "забыли" про нее), потом 20 строк кода бегаете по другим осям (и чтоб в этих строках не было упоминания о поворотке), а потом, на 40-й строке остановили поворотку. Вот и все, что нужно решить.