Потоковый питон в GRBL

Я нашел скрипт для отправки g-кода в GRBL, но я хотел бы, чтобы этот скрипт повторялся 30 раз. как мне написать это в коде?

Код, который я пытаюсь повторить: G91Y-20X15F500 G90Y3.00F250

У меня есть исследования по циклам while и, но я не понимаю, почему "print" используется так часто. Спасибо за любую помощь!

1 ответ

Кажется, вам нужно поместить ваш g-код в файл, а затем передать имя файла команде:

$ python stream.py commands.gcode /path/to/serial-device
Initializing grbl...
SND: 1 : G91Y-20X15F500 BUF: 15 REC:
SND: 2 : G90Y3.00F250 BUF: 28 REC:
G-code streaming finished!

WARNING: Wait until grbl completes buffered g-code blocks before exiting.
  Press <Enter> to exit and disable grbl.

Не уверен насчет ожидания завершения буферизованных блоков, но для запуска сценария 30 раз вы будете использовать цикл, например, в bash:

for i in `seq 1 30`; do python stream.py commands.gcode /path/to/serial-device; done

Вы также можете сделать цикл с пакетными командами Windows или другим скриптом Python. Я бы порекомендовал поместить код, на который вы ссылались, внутри функции, чтобы было проще вызывать его из другого кода Python.

Возможно, вы захотите запустить его без присмотра, поэтому вам придется удалить raw_input(...) линии и заменить его либо вызовом sleep() или некоторые дополнительные операции с последовательным устройством для опроса, завершился ли запуск сценария на компьютере.

print операторы используются для отображения текущего состояния программы (когда устройство инициализируется, когда на устройство отправляется строка кода, когда оно завершается и т. д.).

Другие вопросы по тегам