Ок, тогда делаем так:
перед каждым движением будем ждать растущий фронт на датчике, для этого в Gкод добавляем строчку перед каждым перемещением:
M66 P0 L1 Q100000
это мы ждем 1 (растущий фронт) на пине motion.digital-in-00 (ждем 100000 секунд, если так и не появится то едем дальше, если появится - то сразу)
Теперь надо этот пин подключить к lpt для этого будем редактировать файл custom.hal
в него надо добавить:
Код: Выделить всё
net go <= parport.0.pin-11-in
net go => motion.digital-in-00
Только номер пина правильный поставь.
И еще надо поменять файл gcode.py на вот такой:
Код: Выделить всё
import re
import sys
s = sys.stdin.read()
s = re.sub(r"(?mi)^[^j0-9\-].*","(del)",s)
s = re.sub(r"(?mi)^([0-9\-\.]+) ([0-9\-\.]+)",r"G01 X\1 Y\2",s)
s = re.sub(r"(?mi)^jump position\s*\nG01",r"\nG00",s)
s = re.sub(r"(G0?(1|0))",r"M66 P0 L1 Q100000\n\1",s)
s = "F1000\n" +s
s += "\nM02"
print s
Вот такой получился Gкод:
- 1.ngc
- (153.27 КБ) 1070 скачиваний
ЗЫ кстати можно еще лампочку сделать, чтобы загоралась, когда надо начинать крутить