Потоковая передача Python в GRBL

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

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

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


person corey james    schedule 01.12.2018    source источник


Ответы (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 используются для отображения текущего состояния программы (когда устройство инициализировано, когда на устройство отправляется строка кода, когда оно завершено и т. Д.).

person Steven Kryskalla    schedule 01.12.2018